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 –