内容简介:相關的文章可以參考「首先是在
AWS 可以設定 IAM 使用者強制使用 MFA (包括 API 的操作),在這種情況下如果要使用 AWS Command Line Interface 就得透過 AWS STS (AWS Security Token Service) 產生另外一組 key + secret + session key,然後這組通行時間預設是 12 小時。
相關的文章可以參考「 How do I use an MFA token to authenticate access to my AWS resources through the AWS CLI? 」這篇,然後我就寫了一段 shell script 來做這件事情。
首先是在 ~/.aws/config
內放入 MFA 的 ARN,像是這樣:
[profile mycompany] mfa = arn:aws:iam::012345678901:mfa/gslin region = us-east-1
然後就可以用 aws.mfa mycompany
指令產生出一個會把 key + secret + session key 包進去的 shell:
function aws.mfa() {
local MFA_ARN
local MFA_TOKEN
local PROFILE="$1"
local STSDATA
MFA_ARN="$(python3 -c "import configparser; import os; c=configparser.ConfigParser(); c.read('{}/.aws/config'.format(os.environ['HOME'])); print(c['profile ${PROFILE}']['mfa'])")
"
echo "Reading ${PROFILE} and going for token ${MFA_ARN} ..."
echo -n 'MFA Password: '
read -r MFA_TOKEN
STSDATA="$(aws --profile "${PROFILE}" sts get-session-token --serial-number "${MFA_ARN}" --token-code "${MFA_TOKEN}")"
export AWS_ACCESS_KEY_ID="$(echo "${STSDATA}" | jq -r .Credentials.AccessKeyId)"
export AWS_SECRET_ACCESS_KEY="$(echo "${STSDATA}" | jq -r .Credentials.SecretAccessKey)"
export AWS_SESSION_TOKEN="$(echo "${STSDATA}" | jq -r .Credentials.SessionToken)"
echo 'Running an independant shell...'
${SHELL}
}
很明顯的裡面用到了 Python 3 與 jq ,這兩個應該都可以直接裝系統的版本就可以了。
後續的操作就跟原來的用法都一樣,像是 aws --region=us-east-1 s3 ls
這樣的指令。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 使用 ClosedXML 結合 LINQ 操作
- 使用git操作svn仓库
- golang 使用xorm操作mysql
- 使用Python操作消息队列RabbitMQ
- SpringBoot 使用JestClient操作Elasticsearch
- 使用Python实现批量ping操作
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ASP.NET 2.0开发指南
郝刚 / 人民邮电出版社 / 2006 / 88.0
本书紧紧围绕ASP.NET 2.0技术精髓展开深入讲解,全书分为6个部分,共18章。第1部分介绍基础知识,包括ASP.NET 2.0概述、Visual Studio 2005集成开发环境、创建ASP.NET应用程序和C# 2.0程序设计基础。第2部分讲解用户界面方面的特性,包括母版页、主题和皮肤、站点导航控件和其他新增服务器控件。第3部分探讨了数据访问方面的内容,包括数据访问技术概述、数据源控件、......一起来看看 《ASP.NET 2.0开发指南》 这本书的介绍吧!
正则表达式在线测试
正则表达式在线测试
HEX HSV 转换工具
HEX HSV 互换工具