#amazon-web-services #amazon-iam
#amazon-веб-сервисы #amazon-iam
Вопрос:
Участник (физическое лицо или приложение) использует объект (пользователя или роль) для отправки запросов в AWS API. Теперь, когда вы используете консоль AWS для взаимодействия с экосистемой AWS, я понимаю, что эти запросы подписываются автоматически, чтобы AWS могла определить, кто их отправил (тогда как вам нужно подписывать вызовы HTTP API вручную).
-
Подписан ли каждый запрос, отправляемый в AWS API? независимо от того, сделан ли запрос из консоли / CLI / SDK / HTTP API. Я понимаю, что несколько действий STS и S3 являются исключениями, но мой вопрос заключается в том, чтобы выяснить, зависит ли подписание запросов от источника запроса, т. Е. консоли / CLI / SDK / HTTP API? Или это относится ко всем автоматически или вручную?
-
В документации по руководству пользователя IAM упоминается, что —
Когда вы используете интерфейс командной строки AWS (AWS CLI) или один из AWS SDK для отправки запросов в AWS, эти инструменты автоматически подписывают запросы для вас ключом доступа, который вы указываете при настройке инструментов
Итак, когда запросы выполняются через консоль AWS, как подписываются эти запросы? у пользователей консоли нет ключей доступа?
- При принятии роли пользователь отправляет запрос STS:Assumerole с ролью, указанной в запросе. Применяются ли возвращенные временные учетные данные к пользователю, который принял роль, или временные учетные данные применяются к роли? По сути, я пытаюсь понять, предназначен ли STS: Assumerole для аутентификации роли или пользователя, который принял на себя эту роль?
Ответ №1:
CLI использует Python SDK (boto3), который использует HTTP API. Все они подписывают запросы HTTP API одинаково. Вы не сможете использовать CLI без предварительной настройки ключей доступа.
sts:AssumeRole
предоставляет вам временные ключи доступа для этой роли, а не для пользователя.