使用OneLogin SAML和MFA的AWS API凭据

时间:2016-10-31 03:21:32

标签: api amazon-web-services authentication saml onelogin

我们希望允许我们的用户通过使用密码和MFA登录OneLogin来检索给定AWS角色的一组临时CLI凭据。我们有一个可行的解决方案,但它要求用户在AWS临时凭证到期时每60分钟完全重新向OneLogin(包括MFA)进行身份验证。我认为这不会飞 - 我们的用户习惯于与真正的IAM用户绑定的永久API凭证。

理想情况下,我们希望允许用户每天进行一次身份验证,安全地缓存生成的SAML断言,并根据需要使用它来透明地刷新AWS API凭据。我正在考虑像aws-keychain那样使用本地操作系统凭据存储来记住SAML断言,并且只在用户的OneLogin会话超时时提示用户输入。

这几乎可以按原样运作。问题在于,OneLogin的saml_assertionverify_factor端点返回的SAML断言在SubjectConditions字段上设置了三分钟的截止日期。

有没有办法做我们想要的,或者我们是否尝试绕过核心SAML原则?

1 个答案:

答案 0 :(得分:0)

这里接受的答案不再正确。现在可以在会话开始时对用户进行身份验证并验证一次MFA,然后每小时刷新一次会话,而不必输入其他MFA令牌。

为此,您必须使用CLI工具的--loop参数,并在OneLogin中具有相应的应用程序策略,以启用“如果在最近X分钟内收到OTP则跳过”。

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