【问题标题】:how to update aws keys in ~/.aws/credentials file for a profile using cli?如何使用 cli 为配置文件更新 ~/.aws/credentials 文件中的 aws 密钥?
【发布时间】:2020-03-24 23:40:10
【问题描述】:

所以我在一个像这样的安全协议下

  1. 本地计算机被赋予一个用户组以使用基本只读权限登录到 aws
  2. 本地计算机然后创建一个本地 ~/.aws/credentials 文件,其中包含多个配置文件
  3. 现在对于不同的项目,允许这些本地 aws 配置文件使用命令承担项目 IAM 角色 aws sts assume-role $PROJECT_IAM_ROLE_ARN --role-session-name $DUMMY_SESSION_NAME --profile $DESIRED_AWS_PROFILE > temp_credentials_file.json
  4. 第 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"
    }
}
  1. 我的凭据文件就像
[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


    【解决方案1】:

    应该是这样的:

    aws configure set aws_access_key_id dummy_access_key_id_profile_1 --profile profile_1
    aws configure set aws_secret_access_key dummy_aws_secret_access_key_profile_1  --profile profile_1
    

    变量的名称需要与这些匹配,由配置支持。在您的示例中,set AccessKeyId 尝试设置无效变量。需要改成set aws_access_key_id

    https://docs.aws.amazon.com/cli/latest/reference/configure/set.html

    【讨论】:

      猜你喜欢
      • 2018-04-20
      • 1970-01-01
      • 1970-01-01
      • 2018-03-30
      • 2015-10-19
      • 2019-04-25
      • 2021-08-31
      • 2018-09-17
      • 2021-08-23
      相关资源
      最近更新 更多