3

我有一个Rails应用程序,并且我已经实施了AWS Cognito以获取外部联合身份验证,但工作正常。亚马逊时间用户可以访问AWS管理控制台而不会更改

现在我通过SAML响应get_credentials_for_identity和我得到有效的回应,但我拿到证书的有效期仅为60分钟,但我得到https://aws.amazon.com/SAML/Attributes/SessionDuration属性与外部SSO SAML响应值43200,我的问题是我是什么在这里做错了,为什么收到的AWS凭证在预期的12小时内无效? SAML响应

部分我得到

<saml:Attribute Name=\"https://aws.amazon.com/SAML/Attributes/SessionDuration\"> 
     <saml:AttributeValue 
      xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" 
      xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"xs:string\">43200 
     </saml:AttributeValue> 
    </saml:Attribute> 

指南,我所指的http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html

+0

那么这是从你指出的指南 - '该值是一个整数代表的秒数,可以是最多43200秒(12小时)。如果此属性不存在,则最大会话持续时间默认为1小时(AssumeRoleWithSAML API的DurationSeconds参数的默认值)。要使用此属性,您必须配置SAML提供程序,以通过https:// signin.aws.amazon.com/saml,? – arjun

+0

@arjun I通过控制台登录Web终端提供对AWS管理控制台的单一登录访问我已经在SAML响应中获得了SessionDuration,请参阅更新后的问题 –

+0

老实说,我从未使用过AWS认知。我只是想弄明白你是否已经逐行阅读了手册。这里写了更多,如果你可以清楚说明,也许我们知道在哪里看不到 - 如果还定义了SessionNotOnOrAfter属性,那么SessionDuration或SessionNotOnOrAfter这两个属性的较小值将确定控制台会话的最长持续时间这个怎么样? – arjun

回答

0

通过Cognito联合身份服务贩卖临时AWS凭据总是在60分钟内到期。 Cognito不会根据SAML断言或OpenId标记的到期来设置AWS会话到期。

+0

请检出AWS的文档http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html –