https://aws.amazon.com/blogs/security/using-iam-roles-to-distribute-non-aws-credentials-to-your-ec2-instances/

я есть архитектура обработки заданий, основанная на AWS, которая требует запросов экземпляров EC2 S3 и SQS. Чтобы запускать экземпляры для доступа к API, учетные данные отправляются в виде пользовательских данных (-f) в виде сценария оболочки в кодировке base64. Например:

$ cat ec2.sh
...
export AWS_ACCOUNT_NUMBER='1111-1111-1111'
export AWS_ACCESS_KEY_ID='0x0x0x0x0x0x0x0x0x0'
...
$ zip -P 'secret-password' ec2.sh
$ openssl enc -base64 -in ec2.zip

Многие экземпляры запущены ...

$ ec2run ami-a83fabc0 -n 20 -f ec2.zip

Каждый экземпляр декодирует и дешифрует файл ec2.zip с использованием «секретного пароля», который жестко запрограммирован в сценарии инициализации. Хотя это работает, у меня есть две проблемы с моим подходом.

'zip -P' не очень безопасенПароль жестко закодирован в экземпляре (это всегда «секретный пароль»)

Метод очень похож на описанныйВот

Есть ли более элегантный или принятый подход? Использование gpg для шифрования учетных данных и сохранение закрытого ключа в экземпляре для расшифровки - это подход, который я сейчас рассматриваю, но я не знаю ни о каких предостережениях. Могу ли я использовать пары ключей AWS напрямую? Я скучаю по какой-то супер очевидной части API?

Ответы на вопрос(5)

Ваш ответ на вопрос