Мне бы не хотелось догадываться о внутренних мыслях людей, разрабатывающих аутентификацию AWS, но сложный секрет повышает безопасность, усложняя его угадывание.Это также увеличило бы сложность данных, закодированных ключом, что усложнило бы обратный инжиниринг.Кроме того, никто никогда не набирает его, поэтому нет необходимости иметь короткий секрет.
Ключ доступа и секретный ключ используются для каждого запроса API к AWS.Это может происходить из интерфейса командной строки AWS (CLI) или любого программного обеспечения, созданного с помощью AWS SDK .Фактически, AWS CLI - это просто программа на Python, которая использует AWS SDK для Python (называемый boto3
).
Роли IAM могут быть назначены экземплярам Amazon EC2.Затем будет предоставлен временный ключ доступа и секретный ключ к экземпляру (см. Получение учетных данных безопасности из метаданных экземпляра ).Итак, роли - это просто безопасный способ предоставления ключа доступа, но ключ доступа по-прежнему используется.
Роль IAM также можно предположить для получения временного доступа к ресурсам, но для вызовакоманде AssumeRole()
также требуется ключ доступа для аутентификации и подтверждения права на принятие роли.
Единственный раз, когда ключ доступа и секретный ключ не требуются, - это вход в консоль управления AWS, ноконсоль все еще использует ключ доступа для вызова API AWS.
Итог: Для доступа к ресурсам AWS требуются ключ доступа и секретный ключ.