Запросы AWS IAM

#amazon-web-services #amazon-iam

#amazon-веб-сервисы #amazon-iam

Вопрос:

Участник (физическое лицо или приложение) использует объект (пользователя или роль) для отправки запросов в AWS API. Теперь, когда вы используете консоль AWS для взаимодействия с экосистемой AWS, я понимаю, что эти запросы подписываются автоматически, чтобы AWS могла определить, кто их отправил (тогда как вам нужно подписывать вызовы HTTP API вручную).

  1. Подписан ли каждый запрос, отправляемый в AWS API? независимо от того, сделан ли запрос из консоли / CLI / SDK / HTTP API. Я понимаю, что несколько действий STS и S3 являются исключениями, но мой вопрос заключается в том, чтобы выяснить, зависит ли подписание запросов от источника запроса, т. Е. консоли / CLI / SDK / HTTP API? Или это относится ко всем автоматически или вручную?

  2. В документации по руководству пользователя IAM упоминается, что —

Когда вы используете интерфейс командной строки AWS (AWS CLI) или один из AWS SDK для отправки запросов в AWS, эти инструменты автоматически подписывают запросы для вас ключом доступа, который вы указываете при настройке инструментов

Итак, когда запросы выполняются через консоль AWS, как подписываются эти запросы? у пользователей консоли нет ключей доступа?

  1. При принятии роли пользователь отправляет запрос STS:Assumerole с ролью, указанной в запросе. Применяются ли возвращенные временные учетные данные к пользователю, который принял роль, или временные учетные данные применяются к роли? По сути, я пытаюсь понять, предназначен ли STS: Assumerole для аутентификации роли или пользователя, который принял на себя эту роль?

Ответ №1:

CLI использует Python SDK (boto3), который использует HTTP API. Все они подписывают запросы HTTP API одинаково. Вы не сможете использовать CLI без предварительной настройки ключей доступа.

sts:AssumeRole предоставляет вам временные ключи доступа для этой роли, а не для пользователя.