Как обновить aws ключи в файле ~ / .aws / credentials для профиля, используя cli? - PullRequest
0 голосов
/ 25 марта 2020

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

  1. локальной машине предоставляется группа пользователей для входа в систему aws с базовыми c разрешениями только на чтение
  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"
    }
}
и мой файл учетных данных похож на
[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 Ответ

1 голос
/ 25 марта 2020

это должно быть что-то вроде:

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

...