Зачем использовать ключи доступа AWS вместо ролей IAM - PullRequest
0 голосов
/ 01 апреля 2019
  1. Почему ключи доступа AWS (идентификатор ключа доступа и секретный ключ доступа) сложны, то есть длинны и нечитаемы, в отличие от учетных данных доступа к консоли?Ключ, если его простой или сложный после кражи не помогает, и почему бы не сохранить его простым?

  2. Помимо входа в AWS CLI, в каких сценариях используются только ключи доступа (доступID ключа и секретный ключ доступа) могут помочь, и где рекомендуемая лучшая практика использования ролей нецелесообразна?

1 Ответ

1 голос
/ 02 апреля 2019

Мне бы не хотелось догадываться о внутренних мыслях людей, разрабатывающих аутентификацию AWS, но сложный секрет повышает безопасность, усложняя его угадывание.Это также увеличило бы сложность данных, закодированных ключом, что усложнило бы обратный инжиниринг.Кроме того, никто никогда не набирает его, поэтому нет необходимости иметь короткий секрет.

Ключ доступа и секретный ключ используются для каждого запроса API к AWS.Это может происходить из интерфейса командной строки AWS (CLI) или любого программного обеспечения, созданного с помощью AWS SDK .Фактически, AWS CLI - это просто программа на Python, которая использует AWS SDK для Python (называемый boto3).

Роли IAM могут быть назначены экземплярам Amazon EC2.Затем будет предоставлен временный ключ доступа и секретный ключ к экземпляру (см. Получение учетных данных безопасности из метаданных экземпляра ).Итак, роли - это просто безопасный способ предоставления ключа доступа, но ключ доступа по-прежнему используется.

Роль IAM также можно предположить для получения временного доступа к ресурсам, но для вызовакоманде AssumeRole() также требуется ключ доступа для аутентификации и подтверждения права на принятие роли.

Единственный раз, когда ключ доступа и секретный ключ не требуются, - это вход в консоль управления AWS, ноконсоль все еще использует ключ доступа для вызова API AWS.

Итог: Для доступа к ресурсам AWS требуются ключ доступа и секретный ключ.

...