Можно ли использовать AWS IAM на любых экземплярах, отличных от ec2?

Можно ли использовать AWS IAM на любых экземплярах, отличных от ec2?

В настоящее время в нашей среде мы используем экземпляры ec2.

Чтобы избежать раскрытия учетных данных в исходном коде, мы используем роли IAM для делегирования доступа пользователям, приложениям или службам.

Однако в нашей среде также есть несколько локальных экземпляров. Могут ли они также использовать роль IAM, как это делает EC2?

Я знаю, что CodeDeploy поддерживает регистрацию локальных экземпляров с ролями IAM, но в этом случае для управления ролями IAM и получения учетных данных используется агент развертывания кода.

Итак, мой вопрос заключается в следующем:

  1. Каким образом приложения на локальных экземплярах, развернутые с помощью CodeDeploy, получают учетные данные? Например, получают объект из S3...

  2. Могу ли я использовать IAM на своей локальной машине и в приложениях для получения учетных данных так же, как это делается на EC2?

решение1

Вы не можете создать роль IAM как таковую, но вы можете прикрепить точно такую ​​же политику/политики к пользователю, а затем сгенерировать набор ключей доступа для этого пользователя. Оттуда предоставьте ключи в AWS CLI или другие инструменты, и у них будут те же разрешения.

Настоятельно рекомендуется внести в белый список диапазон IP-адресов политик для ключей, которые будут использоваться, чтобы в случае их взлома (утечка кода/публичный коммит в Git и т. д.) их нельзя было использовать за пределами вашего стека.

решение2

Роли службы IAM предназначены только для служб IAM!!

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

https://docs.aws.amazon.com/cli/latest/reference/sts/get-federation-token.html

он может иметь максимальный срок действия 36 часов. Вы можете автоматизировать генерацию кредитов и затем распределить их соответствующим образом в своих локальных системах.

Связанный контент