链接参考:通过 STS Session Tags 来对 AWS 资源进行更灵活的权限控制 | 亚马逊AWS官方博客
操作步骤:
第一步:创建一个具有AssumeRole权限的策略
选择json将以下内容粘贴进去,然后下一步
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "*"
}
]
}
输入一个名称,点击创建策略
第二步创建一个IAM用户附加权限并创建长期凭证
输入用户名,然后下一步
选择直接附加策略,选择刚才创建sts-iam策略,点击下一步之后创建用户
创建完进入该用户详情页面,点击安全凭证,创建访问密钥
这一步选什么并不重要,只是根据使用案例有相对应的最佳解决方案,可根据建议的替代方案进行使用。
创建好后记得下载.csv文件保存好
第三步编辑ROLE角色的信任关系
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::account-id:user/ServerUser"
},
"Action": [
"sts:AssumeRole",
"sts:TagSession"
]
}
]
}
第四步使用AWS CLI sts命令获取临时凭证(需要安装CLI安装或更新到最新版本的 AWS CLI - AWS Command Line Interface或者启动一台EC2)
配置AWS CLI
aws configure
输入从IAM用户下载的AK/SK
role-arn填需要获取临时凭证的role角色ARN,请参数参数文档AssumeRole - AWS Security Token Service
aws sts assume-role --role-arn arn:aws:iam::account ID:role/ROLENAME --role-session-name "XXXX" --duration-seconds 7200
就会得到以下结果
然后去其他EC2验证将以下内容替换掉,输入以下命令,然后再执行相关服务命令
export AWS_ACCESS_KEY_ID="xxxxxxxxxxxxxxxxxxx"
export AWS_SECRET_ACCESS_KEY="xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
export AWS_SESSION_TOKEN="xxxxxxxxxxxxxxxxxxxxxxx"