Мы успешно настроили внешний idP с помощью Google и подключили его к AWS. Теперь у наших пользователей есть федеративный единый вход с AWS и они могут легко войти в веб-консоль с помощью созданной нами роли федерации SAML 2.0. Эта роль также обеспечивает программный доступ, но я не могу найти документации, как это сделать. Обычный способ сделать это - создать пользователя IAM, который использует свои собственные ключи доступа с CLI, но в этом случае у нас нет пользователей IAM ... они проходят аутентификацию за пределами AWS. У кого-нибудь есть идеи, как это настроить?
Это выполнимо, но не очень удобно. Плагин Chrome существует для извлечения значений ключа доступа, секретного ключа и токена безопасности (необходимых для входа в STS через интерфейс командной строки) после входа в консоль AWS через SAML. Это обеспечивает обмен данными между поставщиком удостоверений и конечной точкой SAML для AWS.
Боюсь, что для решения с использованием чистого CLI вам придется написать сценарий. Маршрут описано в документации AWS, но включает:
AssumeRoleWithSAML
Конечная точка API (aws sts assume-role-with-saml
)На этом этапе у вас есть учетные данные. После того, как вы примените их к своей среде, команды интерфейса командной строки работают так же, как и всегда. Для автоматических сценариев ваша способность использовать этот маршрут полностью зависит от способности вашего IdP разрешить этот рабочий процесс.
Я создал решение CLI с использованием PowerShell, которое открывает окно браузера для аутентификации, извлекает утверждение SAML и обменивает его на токены. Проверьте это здесь: Если вы ищете способ аутентификации в CLI с помощью Google, проверьте это: https://github.com/beyondcomputing-org/AWS.SAML