Учетные данные API AWS с OneLogin SAML и MFA

Мы хотим позволить нашим пользователям получать набор временных учетных данных CLI для данной роли AWS, выполнив вход в OneLogin с паролем и MFA. У нас есть работающее решение, но оно требует от пользователя полной повторной аутентификации в OneLogin (включая MFA) каждые 60 минут по истечении срока действия временных учетных данных AWS. Я думаю, что это не получится - наши пользователи привыкли к постоянным учетным данным API, привязанным к реальному пользователю IAM.

В идеале мы хотели бы позволить пользователям проходить аутентификацию один раз в день, надежно кэшировать полученное утверждение SAML и использовать его для прозрачного обновления учетных данных API AWS по мере необходимости. Я имею в виду нечто вроде aws-keychain, которое будет использовать локальное хранилище учетных данных ОС для запоминания утверждения SAML и запрашивать ввод данных только после истечения времени ожидания сеанса OneLogin.

Это почти работает как есть. Подвох в том, что утверждение SAML возвращается OneLogin saml_assertion а также verify_factor конечные точки устанавливает трехминутный срок Subject а также Conditions поля.

Есть ли способ сделать то, что мы хотим, или мы пытаемся обойти основной принцип SAML?

1 ответ

Решение

Мы находимся в процессе официального добавления опции в наш официальный инструмент CLI для повторного использования учетных данных пользователя, аналогично тому, что вы описываете.

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

Но, к сожалению, по крайней мере в настоящее время нет способа обойти часть MFA, если политика приложения требует MFA. Этот МИД понадобится для обновления учетных данных.

Если у вас есть MFA, вы всегда можете использовать API-интерфейсы OneLogin MFA для выпечки потока MFA в инструмент...

Проверьте это здесь: https://github.com/onelogin/onelogin-aws-cli-assume-role/pull/5

Принятый ответ здесь больше не соответствует действительности. Теперь можно аутентифицировать пользователя и проверять MFA один раз в начале сеанса, а затем обновлять сеанс ежечасно, не вводя дополнительные токены MFA.

Для этого вы должны использовать --loop параметр инструмента CLI и имеет соответствующую политику приложений в OneLogin, которая включает параметр "Пропустить, если OTP получен в течение последних X минут".

https://developers.onelogin.com/api-docs/1/samples/aws-cli

Другие вопросы по тегам