AWS: именованные профили доступа

Автор: | 11/01/2016
 

aws-logo-square-02AWS CLI  поддерживает т.н. «именованные профили» (named profiles) доступа, которые хранятся в файле конфигурации и файле ~/.aws/credentials.

Дополнительные профили могут быть настроены с помощью команды aws configure с опцией --profile.

Вот пример файла с двумя профилями:

cat ~/.aws/credentials
[default]
aws_access_key_id = AKI***6GA
aws_secret_access_key = cbd***M6W
[TAG]
aws_access_key_id = AKI***FJQ
aws_secret_access_key = 6T/***4sG
Что бы добавить новый — выполняем:

aws configure --profile example
AWS Access Key ID [None]: 123456
AWS Secret Access Key [None]: 0123456789
Default region name [None]: eu-west-1
Default output format [None]: json

Проверяем профили:

cat ~/.aws/credentials
[default]
aws_access_key_id = AKI***6GA
aws_secret_access_key = cbd***M6W
[TAG]
aws_access_key_id = AKI***FJQ
aws_secret_access_key = 6T/***4sG
[example]
aws_access_key_id = 123456
aws_secret_access_key = 0123456789

cat ~/.aws/config
[default]
aws_access_key_id = AKI***TCQ
region = eu-west-1
output = json
aws_secret_access_key = nSD***dj+
[preview]
cloudfront = true
[profile example]
output = json
region = eu-west-1

Что бы вполнить команду под определённым профилем — добавьте --profile при вызове команды.

Например — вызов под профилем по умолчанию (setevoy):

aws s3 ls
2016-05-10 12:35:03 elasticbeanstalk-eu-west-1
2016-08-29 17:45:34 rtfmbackups
2016-09-15 18:01:53 static-site-example

Аналогично — с профилем TAG:

aws s3 ls --profile TAG
2016-04-06 18:16:08 elasticbeanstalk-eu-west-1
2016-03-15 18:42:46 elasticbeanstalk-us-west-2
2016-05-09 19:22:16 profile-dev.connected.com
2016-05-09 21:09:40 profile-staging.connected.com
2016-08-17 16:02:28 profileapp.connected.com
2015-07-23 01:05:41 tag-cms-media-dev
2015-08-13 00:22:57 tag-cms-media-prod
2015-08-13 00:23:12 tag-cms-media-staging
2015-07-14 21:31:41 tag-ecs-config
...

Кроме того — можно задать профиль по умолчанию с помощью переменной $AWS_DEFAULT_PROFILE:

export AWS_DEFAULT_PROFILE=TAG
aws s3 ls
2016-04-06 18:16:08 elasticbeanstalk-eu-west-1
2016-03-15 18:42:46 elasticbeanstalk-us-west-2
2016-05-09 19:22:16 profile-dev.connected.com
2016-05-09 21:09:40 profile-staging.connected.com
2016-08-17 16:02:28 profileapp.connected.com
...

Больше информации — в документации>>>.