我们希望允许我们的用户通过使用密码和MFA登录OneLogin来检索给定AWS角色的一组临时CLI凭据。我们有一个可行的解决方案,但它要求用户在AWS临时凭证到期时每60分钟完全重新向OneLogin(包括MFA)进行身份验证。我认为这不会飞 - 我们的用户习惯于与真正的IAM用户绑定的永久API凭证。
理想情况下,我们希望允许用户每天进行一次身份验证,安全地缓存生成的SAML断言,并根据需要使用它来透明地刷新AWS API凭据。我正在考虑像aws-keychain那样使用本地操作系统凭据存储来记住SAML断言,并且只在用户的OneLogin会话超时时提示用户输入。
这几乎可以按原样运作。问题在于,OneLogin的saml_assertion
和verify_factor
端点返回的SAML断言在Subject
和Conditions
字段上设置了三分钟的截止日期。
有没有办法做我们想要的,或者我们是否尝试绕过核心SAML原则?
答案 0 :(得分:0)
这里接受的答案不再正确。现在可以在会话开始时对用户进行身份验证并验证一次MFA,然后每小时刷新一次会话,而不必输入其他MFA令牌。
为此,您必须使用CLI工具的--loop
参数,并在OneLogin中具有相应的应用程序策略,以启用“如果在最近X分钟内收到OTP则跳过”。