Прохождение доступа и секретный ключ aws cli
Я пытаюсь внедрить доступ и секретный ключ вместе с aws cli. например.
aws ec2 describe-instances --aws-access-key <access_key> --aws-secret-key <secret_key>
Также используется опция -o и -w для доступа и секретного ключа соответственно. В нем говорится: Неизвестный параметр aws-access-key и aws-secret-key
Ответы
Ответ 1
Вы можете предоставить ключи в командной строке через envars:
AWS_ACCESS_KEY_ID=ABCD AWS_SECRET_ACCESS_KEY=EF1234 aws ec2 describe-instances
См. http://docs.aws.amazon.com/cli/latest/topic/config-vars.html#credentials
EDIT: @wisbucky отметил, что это может оставить тайны в истории вашей команды. Один из способов обойти это в bash по крайней мере, я думаю, это добавить команду в пустое место, и команда не должна распространяться на вашу историю bash.
Ответ 2
Вы можете использовать это как этот;
aws configure set aws_access_key_id <yourAccessKey>
aws configure set aws_secret_access_key <yourSecretKey>
Для получения дополнительной информации используйте этот;
aws configure set help
Общий шаблон:
aws <command> help
aws <command> <subcommand> help
Надеюсь, это поможет!
Ответ 3
Подводя итог aws doc, есть несколько способов передачи учетных данных в командную строку. Обратите внимание, что нет параметров командной строки для передачи ключа и секретного ключа напрямую. Вместо этого используется "цепочка провайдеров".
В моих скриптах bash я часто использую переменные окружения. Чтобы добавить немного безопасности, я создаю файл, содержащий переменные, а не помещаю их в сценарий. С именованными профилями это еще проще.
Цепочка поставщиков:
- параметры командной строки: указать регион, формат вывода или профиль
- Переменные среды: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY и AWS_SESSION_TOKEN
- Файл учетных данных AWS - расположен в ~/.aws/credentials в Linux,
macOS, или Unix, или в C:\Users\USERNAME.aws\credentials on
Окна. Этот файл может содержать несколько именованных профилей в дополнение
в профиль по умолчанию.
- Файл конфигурации CLI - обычно находится в ~/.aws/config в
Linux, macOS или Unix, или в C:\Users\USERNAME.aws\config on
Окна. Этот файл может содержать профиль по умолчанию, именованные профили,
и конкретные параметры конфигурации CLI для каждого.
- Учетные данные контейнера - предоставляются Amazon Elastic Container Service
в случаях контейнера, когда вы назначаете роль своей задаче.
- Учетные данные профиля экземпляра - эти учетные данные можно использовать в EC2
экземпляры с назначенной ролью экземпляра и доставляются через
сервис метаданных Amazon EC2.
Ответ 4
Вы также можете использовать aws configure:
$ aws configure
AWS Access Key ID [None]: xxxxxxxxxxxxxxxxxxxxxxxxx
AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxxxxxxxx
Ответ 5
Лучше всего и безопаснее использовать роли IAM. Там вы можете установить определенные права на этот экземпляр и доступ к нему в своей учетной записи.
В зависимости от того, какую версию awscli вы используете, вы можете использовать описания-экземпляры несколькими способами.
Как этот:
ec2din -O your-key -W your-secret-key --region your-region
Также существует большая разница, когда вы устанавливаете awscli с установкой pip или из pkg, такого как пакет debug debug.
ec2din - короткая команда для ec2-describe-instance
Другие примеры здесь: ec2-describe-экземпляры
С уважением.
Ответ 6
Мне пришлось получить доступ к нескольким учетным записям на Amazon.... поэтому мое решение:
в: ~/.aws/config
[default] aws_access_key_id = xxxx aws_secret_access_key = xxxxxx
region=sa-east-1 output=text
[profile prof1] region=us-east-1 output=text aws_access_key_id = yyy
aws_secret_access_key = yyyyy
[profile prof2] region=us-east-1 output=text aws_access_key_id =
wwwwww aws_secret_access_key = wwwww
..и затем, когда вызывали CLI aws, я передал параметр "--profile" как:
/usr/local/bin/aws ec2 describe-security-groups --group-ids sg-xxxx
--profile prof2
...это!
Ответ 7
Вы должны сохранить свои учетные данные в файле ~/.aws/config (или .aws/credentials)
Подробнее о том, как его настроить http://docs.aws.amazon.com/cli/latest/reference/configure/index.html
Также в качестве альтернативного способа вы можете создать роль IAM и определенную политику и установить ее для своего экземпляра ec2, где вы будете использовать aws cli, тогда вам не понадобятся никакие настройки учетных данных там.
Ответ 8
![enter image description here]()
Чтобы получить доступ к aws через cli,
aws configure
Ответ 9
Другой метод заключается в использовании echo
с конфигурацией aws в качестве однострочного:
echo -ne '%s\n%s\n%s\n%s\n' <access_key> <security_key> <region> <output> | aws configure