В настоящее время мы используем экземпляры ec2 в нашей среде.
Чтобы избежать раскрытия учетных данных в исходном коде, мы используем роли IAM для делегирования доступа пользователям, приложениям или службам.
Однако в нашей среде также есть несколько локальных событий. Могут ли они также использовать роль IAM, как и EC2?
Я знаю, что CodeDeploy поддерживает регистрацию локальных экземпляров с ролями IAM, но в этом случае это агент развертывания кода для управления ролями IAM для получения учетных данных.
Итак, мои вопросы таковы:
Как приложения в локальных экземплярах, развернутых CodeDeploy, получают учетные данные? например получить объект из S3 ...
Могу ли я также использовать IAM на моем локальном компьютере и в приложениях для получения учетных данных, как на EC2?
Вы не можете выполнять роль IAM как таковую, но вы можете прикрепить точно такую же политику / политики к пользователю, а затем сгенерировать набор ключей доступа для этого пользователя. Оттуда предоставьте ключи AWS CLI или другим инструментам, и у них будут те же разрешения.
Настоятельно рекомендуется занести в белый список диапазон IP-адресов политик для ключей, которые будут использоваться, чтобы в случае их нарушения (утечка кода / общедоступный git commit / и т. Д.) Их нельзя было использовать за пределами вашего стека.
Роли службы IAM предназначены только для служб IAM !!
Существует возможность получения временных кредитов на основе долгосрочного доступа / секретного ключа пользователей IAM. Типичное использование - прокси-приложение, которое получает временные учетные данные безопасности от имени распределенных приложений внутри корпоративной сети.
https://docs.aws.amazon.com/cli/latest/reference/sts/get-federation-token.html
он может иметь максимальный срок действия 36 часов. Вы можете автоматизировать создание кредитов, а затем распределить их соответствующим образом в ваших локальных системах.