疑難排解同SAML盟 IAM - AWS Identity and Access Management

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

疑難排解同SAML盟 IAM

使用此處的資訊可協助您診斷並修正使用 SAML 2.0 和聯合時可能會遇到的問題 AWS Identity and Access Management。

錯誤:您的要求包含無效的SAML回應。若要登出,請按一下這裡。

當身分識別提供者的SAML回應未包含Name設定為的屬性時,可能會發生此錯誤https://aws.amazon.com/SAML/Attributes/Role。該屬性必須包含一個或多個 AttributeValue 元素,每個元素都包含逗號分隔的字串對:

  • 可對應使用者之角色ARN的

  • SAML提ARN供者的

如需詳細資訊,請參閱設定身分驗證回應的SAML宣告。若要在瀏覽器中檢視SAML回應,請依照中列出的步驟執行在瀏覽器中檢視SAML回應

錯誤: RoleSessionName AuthnResponse (服務: AWSSecurityTokenService;狀態碼:400;錯誤代碼: InvalidIdentityToken)

當身分識別提供者的SAML回應未包含Name設定為的屬性時,可能會發生此錯誤https://aws.amazon.com/SAML/Attributes/RoleSessionName。屬性值是使用者的識別符,通常是使用者 ID 或電子郵件地址。

如需詳細資訊,請參閱設定身分驗證回應的SAML宣告。若要在瀏覽器中檢視SAML回應,請依照中列出的步驟執行在瀏覽器中檢視SAML回應

錯誤:未授權執行 sts: AssumeRoleWith SAML (服務: AWSSecurityTokenService;狀態碼:403;錯誤碼: AccessDenied)

如果回應中指定的IAM角色拼字錯誤或不存在,SAML就會發生這個錯誤。請務必使用與您角色完全相同的名稱,因為角色名稱區分大小寫。更正服SAML務提供者組態中角色的名稱。

只有當您的角色信任政策包含 sts:AssumeRoleWithSAML 動作時,才允許您存取。如果您的SAML宣告設定為使用PrincipalTag屬性,您的信任原則也必須包含sts:TagSession動作。如需有關工作階段標籤的詳細資訊,請參閱 在 中傳遞工作階段標籤 AWS STS

如果您的角色信任政策中沒有 sts:SetSourceIdentity 許可,此錯誤可能發生。如果您的SAML宣告設定為使用SourceIdentity屬性,則您的信任原則也必須包含sts:SetSourceIdentity動作。如需來源身分的詳細資訊,請參閱 監控並控制使用擔任角色所採取的動作

如果聯合身分使用者沒有擔任該角色的許可,也會發生此錯誤。角色必須具有將IAMSAML身分識別提供者ARN的信任原則指定為Principal. 該角色還包含控制哪些使用者可以擔任該角色的條件。確認您的使用者滿足條件的要求。

如果SAML回應不包Subject含包含NameID.

如需詳細資訊,請參閱在 AWS 中為聯合身分使用者建立許可設定身分驗證回應的SAML宣告。若要在瀏覽器中檢視SAML回應,請依照中列出的步驟執行在瀏覽器中檢視SAML回應

錯誤: RoleSessionName 在 AuthnResponse 必須匹配 [A-ZA-Z_0-9 + =,.@-] {2,64}(服務: AWSSecurityTokenService; 狀態碼:400; 錯誤代碼:) InvalidIdentityToken

如果 RoleSessionName 屬性值太長或包含無效的字元,則會發生此錯誤。最大有效長度為 64 個字元。

如需詳細資訊,請參閱設定身分驗證回應的SAML宣告。若要在瀏覽器中檢視SAML回應,請依照中列出的步驟執行在瀏覽器中檢視SAML回應

錯誤:來源身份必須符合 [A-ZA-Z_0-9+=, .@-] {2,64},而不是以 "aws:" (服務: AWSSecurityTokenService; 狀態碼:400; 錯誤碼:) InvalidIdentityToken

如果 sourceIdentity 屬性值太長或包含無效的字元,則會發生此錯誤。最大有效長度為 64 個字元。如需來源身分的詳細資訊,請參閱 監控並控制使用擔任角色所採取的動作

如需建立SAML宣告的詳細資訊,請參閱設定身分驗證回應的SAML宣告。若要在瀏覽器中檢視SAML回應,請依照中列出的步驟執行在瀏覽器中檢視SAML回應

錯誤:回應簽章無效 (服務: AWSSecurityTokenService;狀態碼:400;錯誤碼: InvalidIdentityToken)

當身分識別提供者的同盟中繼資料與身分識別提供者的中繼資料不符時,就IAM會發生此錯誤。例如,身分服務供應商的中繼資料檔案可能已變更以更新過期的憑證。從身分識別服務提供者下載更新的SAML中繼資料檔案。然後在您定義的 AWS 身分識別提供者實體中,IAM使用aws iam update-saml-provider跨平台CLI命令或指令Update-IAMSAMLProvider PowerShell程式來更新它。

錯誤:無法假定角色:發行者不存在於指定的提供者 (服務: AWSOpenIdDiscoveryService; 狀態碼:400; 錯誤碼: AuthSamlInvalidSamlResponseException)

如果SAML回應中的簽發者與同盟中繼資料檔案中宣告的簽發者不符,就會發生此錯誤。當您在中建立身分識別提供者 AWS 時,中繼資料檔案已上傳至IAM。

錯誤:無法剖析中繼資料。

如果沒有採用正確格式的中繼資料檔案,則可能會發生此錯誤。

當您在中建立或管理SAML身分識別提供者時 AWS Management Console,您必須從身分識別提供者擷取中SAML繼資料文件。

此中繼資料檔案包含發行者名稱、到期資訊和金鑰,這些金鑰可用來驗證從 IdP 接收到的驗證回應 (宣告)。SAML元數據文件必須以 UTF -8 格式編碼,而不帶字節順序標記(BOM)。若要移除BOM,您可以使用文字編輯工具 (例如記事本 ++) 將檔案編碼為 UTF -8。

包含在SAML中繼資料文件中的 x.509 憑證必須使用至少 1024 位元的金鑰大小。此外,x.509 憑證也必須沒有任何重複的擴充。您可以使用擴充,但這些擴充只能在憑證中出現一次。如果 x.509 憑證不符合任一條件,IdP 建立會失敗,並傳回「無法剖析中繼資料」錯誤。

SAMLV2.0 中繼資料互通性設定檔 1.0 版所定義,IAM不會評估也不會針對中繼資料文件 X.509 憑證到期時間進行評估也不採取行動。

錯誤:指定的供應商不存在。

如果SAML宣告中的提供者名稱與中的提供者名稱不符,就會發生此錯誤。IAM如需檢視供應商名稱的詳細資訊,請參閱 在中建立SAML身分識別提供者 IAM

錯誤:要求 DurationSeconds 超過此角色 MaxSessionDuration 設定的值。

如果您擔 AWS CLI 任來自或的角色,則可能會發生此錯誤API。

當您使用assume-role-with-samlCLI或AssumeRoleWithSAMLAPI操作擔任角色時,您可以指定DurationSeconds參數的值。您可以指定從 900 秒 (15 分鐘) 到角色的最大工作階段持續時間設定的值。如果您指定高於此設定的值,操作會失敗。例如,如果您指定 12 小時的工作階段持續時間,但是您的管理員設定最大工作階段持續時間為 6 小時,則您的操作會失敗。若要了解如何檢視角色的最大值,請參閱 更新角色的工作階段持續時間上限

錯誤:回應沒有包括必要的對象。

如果SAML設定中的對象URL與身分識別提供者不相符,就會發生此錯誤。請確定您的身分識別提供者 (IdP) 信賴方識別碼完全符合SAML組態中提供的對象 URL (實體 ID)。