Назад | Перейти на главную страницу

Федеративный единый вход в AWS с использованием интерфейса командной строки

Мы успешно настроили внешний idP с помощью Google и подключили его к AWS. Теперь у наших пользователей есть федеративный единый вход с AWS и они могут легко войти в веб-консоль с помощью созданной нами роли федерации SAML 2.0. Эта роль также обеспечивает программный доступ, но я не могу найти документации, как это сделать. Обычный способ сделать это - создать пользователя IAM, который использует свои собственные ключи доступа с CLI, но в этом случае у нас нет пользователей IAM ... они проходят аутентификацию за пределами AWS. У кого-нибудь есть идеи, как это настроить?

Это выполнимо, но не очень удобно. Плагин Chrome существует для извлечения значений ключа доступа, секретного ключа и токена безопасности (необходимых для входа в STS через интерфейс командной строки) после входа в консоль AWS через SAML. Это обеспечивает обмен данными между поставщиком удостоверений и конечной точкой SAML для AWS.

Боюсь, что для решения с использованием чистого CLI вам придется написать сценарий. Маршрут описано в документации AWS, но включает:

  1. Клиент отправляет запрос IdP вашей организации.
  2. Сервер IdP отправляет обратно подтверждение SAML.
  3. Клиент попадает в AWS AssumeRoleWithSAML Конечная точка API (aws sts assume-role-with-saml )
  4. AWS возвращает ключ доступа, секретный ключ и токен безопасности, необходимые для аутентификации.

На этом этапе у вас есть учетные данные. После того, как вы примените их к своей среде, команды интерфейса командной строки работают так же, как и всегда. Для автоматических сценариев ваша способность использовать этот маршрут полностью зависит от способности вашего IdP разрешить этот рабочий процесс.

Я создал решение CLI с использованием PowerShell, которое открывает окно браузера для аутентификации, извлекает утверждение SAML и обменивает его на токены. Проверьте это здесь: Если вы ищете способ аутентификации в CLI с помощью Google, проверьте это: https://github.com/beyondcomputing-org/AWS.SAML