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

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

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

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

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

[simterm]

$ 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

[/simterm]Что бы добавить новый – выполняем:

[simterm]

$ 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

[/simterm]

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

[simterm]

$ 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

[/simterm]
[simterm]

$ 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

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

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

[simterm]

$ 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

[/simterm]

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

[simterm]

$ 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
...

[/simterm]

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

[simterm]

$ 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
...

[/simterm]

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