как обновить ключи aws в файле ~ / .aws / credentials для профиля с помощью cli?

Так что я нахожусь под протоколом безопасности, который идет так

  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 и установить все 3 ключа aws для любого профиля в файле ~ / .aws / credentials через cli, не затрагивая другие файлы

Я также пытался

sudo aws configure set AccessKeyId dummy_value --profile profile_2

но это не сработало

команда выполнена успешно, но содержимое файла ~ / .aws / credentials не изменяется

Всего 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


Есть идеи?

10000