對外部驗證的使用者提供存取權 (聯合身分) - AWS Identity and Access Management

對外部驗證的使用者提供存取權 (聯合身分)

您的使用者可能已擁有 AWS 之外的身分,例如您的公司目錄。如果這些使用者需要使用 AWS 資源 (或使用存取這些資源的應用程式),則這些使用者還需要 AWS 安全憑證。您可以使用 IAM 角色為從您的組織或第三方身分提供者 (IdP) 聯合身分的使用者指定許可。

使用 Amazon Cognito 聯合行動或以 Web 為基礎的應用程式的使用者

如果您建立存取 AWS 資源的行動或以 Web 為基礎的應用程式,則應用程式需要安全憑證才能向 AWS 發出程式設計請求。對於大多數行動應用程式藍本,建議您使用 Amazon Cognito。您可以使用此服務與 AWS Mobile SDK for iOSAWS Mobile SDK for Android and Fire OS,來為使用者建立唯一的身分並驗證它們以安全存取您的 AWS 資源。Amazon Cognito 支援與下一個部分中列出的身分提供者相同的身分提供者,並且還支援開發人員驗證身分和未經身分驗證 (訪客) 的存取。Amazon Cognito 還提供 API 操作以同步使用者資料,如此可在使用者於不同裝置之間移動時進行保留。如需詳細資訊,請參閱 針對行動應用程式使用 Amazon Cognito

使用公有身分服務提供者或 OpenID Connect 來聯合使用者

在可能的情況下,將 Amazon Cognito 用於行動和以 Web 為基礎的應用程式案例。Amazon Cognito 為您提供公有身分提供者服務的大部分幕後工作。它適用於相同的第三方服務,並且還支援匿名登入。但是,對於更進階的案例,您可以直接使用 Login with Amazon、Facebook、Google 或與 OpenID Connect (OIDC) 相容的任何 IdP 等第三方服務。如需有關使用 Web 聯合身分來使用其中這些服務的詳細資訊,請參閱 關於 Web 聯合身分

使用 SAML 2.0 聯合使用者

如果您的組織已使用可支援 SAML 2.0 (安全性聲明標記語言 2.0) 的身分提供者的軟體套件,則可以在組織之間建立信任身分提供者 (IdP) 和 AWS 做為服務提供者。然後,您可以使用 SAML 為您的使用者提供 AWS Management Console的聯合單一登入 (SSO) 或聯合存取以呼叫 AWS API 操作。例如,如果您的公司使用 Microsoft Active Directory 和 Active Directory Federation Services,則可以使用 SAML 2.0 聯合。如需有關使用 SAML 2.0 聯合使用者的詳細資訊,請參閱關於以 SAML 2.0 為基礎的聯合身分

透過建立自訂身分經紀人應用程式來聯合使用者

如果您的身分存放區與 SAML 2.0 不相容,則可以建置自訂身分經紀人應用程式以執行類似的功能。經紀人應用程式驗證使用者的身分,並從 AWS 中請求使用者的暫時憑證,然後將其提供給使用者以存取 AWS 資源。

例如,Example Corp. 有許多員工需要執行內部應用程式,以存取公司的 AWS 資源。員工已經在公司身分和身分驗證系統中擁有身分,而 Example Corp. 不想要為每個公司員工建立個別的 IAM 使用者。

Bob 是 Example Corp. 的開發人員。為了使 Example Corp. 的內部應用程式可以存取公司的 AWS 資源,Bob 開發了一個自訂身分經紀人應用程式。該應用程式驗證員工是否已登入到現有的 Example Corp. 身分和身分驗證系統,該系統可能使用 LDAP、Active Directory 或其他系統。然後,身分經紀人應用程式取得員工的臨時安全憑證。這個案例類似於之前的一個 (使用自訂身分驗證系統的行動應用程式),但需要存取 AWS 資源的應用程式都在公司網路中執行,而且公司都有現有的身分驗證系統。

若要取得臨時安全憑證,身分經紀人應用程式將呼叫 AssumeRoleGetFederationToken 以取得臨時安全憑證,具體取決於 Bob 想要如何管理使用者政策以及臨時憑證何時過期。(如需有關這些 API 操作間差異的詳細資訊,請參閱 IAM 中的暫時安全憑證控制臨時安全安全憑證的許可)。該呼叫傳回臨時安全憑證,該憑證由 AWS 存取金鑰 ID、私密存取金鑰和工作階段權杖組成。身分經紀人應用程式讓這些臨時安全憑證可供內部公司應用程式使用。然後,應用程式可以使用臨時憑證直接呼叫 AWS。該應用程式快取憑證,直到過期,然後請求一組新的臨時憑證。下圖說明此情況。

使用自訂身分經紀人應用程式的範例工作流程

此案例具有以下屬性:

  • 身分經紀人應用程式有權存取 IAM 的權杖服務 (STS) API 來建立臨時安全憑證。

  • 身分經紀人應用程式能夠驗證員工是否在現有身分驗證系統中進行了身分驗證。

  • 使用者可以取得一個臨時 URL,使他們可以存取 AWS 管理主控台 (稱為單一登入)。

要查看與此案例中描述的身分經紀人應用程式類似的範例應用程式,請移至 AWS 範本程式碼和程式庫中的適用於 Active Directory 使用案例的聯合身分範例應用程式。如需建立臨時安全性憑證檔案的詳細資訊,請參閱 請求暫時性安全憑證。如需有關聯合身分使用者存取 AWS 管理主控台的詳細資訊,請參閱 使 SAML 2.0 聯合身分使用者能夠存取 AWS Management Console