【发布时间】:2020-03-24 23:40:10
【问题描述】:
所以我在一个像这样的安全协议下
- 本地计算机被赋予一个用户组以使用基本只读权限登录到 aws
- 本地计算机然后创建一个本地 ~/.aws/credentials 文件,其中包含多个配置文件
- 现在对于不同的项目,允许这些本地 aws 配置文件使用命令承担项目 IAM 角色
aws sts assume-role $PROJECT_IAM_ROLE_ARN --role-session-name $DUMMY_SESSION_NAME --profile $DESIRED_AWS_PROFILE > temp_credentials_file.json - 第 3 步创建一个有效期为一小时的临时凭证,并以如下格式写入文件中
{
"AssumedRoleUser": {
"AssumedRoleId": "dummy_aasume_role_id:DUMMY_SESSION_NAME_VALUE",
"Arn": "PROJECT_IAM_ROLE_ARN/DUMMY_SESSION_NAME_VALUE"
},
"Credentials": {
"SecretAccessKey": "dummy_SecretAccessKey",
"SessionToken": "dummy_SessionToken",
"Expiration": "_some_time_stamp",
"AccessKeyId": "dummy_AccessKeyId"
}
}
- 我的凭据文件就像
[profile_1]
aws_access_key_id = dummy_access_key_id_profile_1
aws_secret_access_key = dummy_aws_secret_access_key_profile_1
region = dummy_region_profile_1
aws_session_token = dummy_aws_session_token_profile_1
[profile_2]
aws_access_key_id = dummy_access_key_id_profile_2
aws_secret_access_key = dummy_aws_secret_access_key_profile_2
region = dummy_region_profile_2
aws_session_token = dummy_aws_session_token_profile_2
[profile_3]
aws_access_key_id = dummy_access_key_id_profile_3
aws_secret_access_key = dummy_aws_secret_access_key_profile_3
region = dummy_region_profile_3
aws_session_token = dummy_aws_session_token_profile_3
现在我如何读取 temp_credentials.json 文件,并通过 cli 在 ~/.aws/credentials 文件中为任何给定配置文件设置所有 3 个 aws 键,而不影响其他文件
我也试过了
sudo aws configure set AccessKeyId dummy_value --profile profile_2
但是没用
命令成功,但 ~/.aws/credentials 文件中的内容没有改变
【问题讨论】:
标签: java linux amazon-iam aws-cli