身分提供者與聯合 - AWS Identity and Access Management

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

身分提供者與聯合

如果您已在以外管理使用者身分識別 AWS,則可以使用身分識別提供者,而不是在 AWS 帳戶. 透過身分識別提供者 (IdP),您可以管理以外的使用者身分識別, AWS 並授與這些外部使用者身分識別權限,以便使用您帳戶中的 AWS 資源。如果您的組織已有自己的身分系統,例如公司使用者目錄,這個方式便很管用。如果您正在建立需要存取 AWS 資源的行動應用程式或 Web 應用程式,這也很管理

外部 IdP 為 AWS 使用 OpenID Connect(OIDC)或 SAML 2.0(安全斷言標記語言 2.0)提供身份信息。OIDC 會將未執行的應用程式 (例如 GitHub 「動作」) 連接 AWS 至 AWS 資源。眾所周知的 SAML 身分識別提供者的範例為 Shibboleth 和作用中目錄聯合服務。

注意

作為安全最佳實務,建議您使用外部 SAML 身分提供者 (而不是在 IAM 中使用 SAML 聯合),在 IAM Identity Center 中管理人類使用者。若要了解需要 IAM 使用者的特定情形,請參閱建立 IAM 使用者 (而非角色) 的時機

當您使用 身分提供者時,您不需要建立自訂登入代碼或管理自己的使用者身分,IdP 會為您處理這些工作。IdP 會為您提供這些功能。您的外部使用者透過 IdP 登入,您可以授與這些外部身分識別權限,以便使用您帳戶中的 AWS 資源。身分識別提供者可協助保 AWS 帳戶 護您的安全,因為您不需要在應用程式中散佈或內嵌長期安全性登入資料,例如存取金鑰。

本指南涵蓋 IAM 聯合。IAM Identity Center 或 Amazon Cognito 可能會為您的使用案例提供更完善的支援。下列摘要與表格提供使用者可用來取得資源聯合存取權的方法概觀。 AWS

Account type (帳戶類型) 存取管理… 支援的身分來源

使用 IAM Identity Center 的聯合

由多個帳戶管理 AWS Organizations

員工的人類使用者

  • SAML 2.0

  • 受管的 Active Directory

  • Identity Center 目錄

使用 IAM 的聯合

單一獨立帳戶

  • 短期、小規模部署中的人類使用者

  • 電腦使用者

  • SAML 2.0

  • OIDC

使用 Amazon Cognito 身分池的聯合

任何

需要 IAM 授權才能存取資源的應用程式使用者

  • SAML 2.0

  • OIDC

  • 選取 OAuth 2.0 社交身分提供者

使用 IAM Identity Center 的聯合

如需人類使用者的集中式存取管理,我們建議您使用 IAM Identity Center 管理您帳戶的存取權和這些帳戶內的許可。IAM 身分中心的使用者會獲得資源的短期登入 AWS 資料。您可以使用 Active Directory、外部身分識別提供者 (IdP) 或 IAM 身分中心目錄做為使用者和群組指派 AWS 資源存取權的身分識別來源。

IAM 身分中心支援與 SAML (安全宣告標記語言) 2.0 聯合身分識別,為獲授權可在存取入口網站中使用應用程式的使用者提供聯合單一登入存取權。 AWS 然後,使用者可以單一登入支援 SAML 的服務,包括 AWS Management Console 和第三方應用程式,例如 Microsoft 365、SAP 連接器和 Salesforce。

使用 IAM 的聯合

雖然我們強烈建議在 IAM Identity Center 中管理人類使用者,但您可以在短期、小規模部署中為人類使用者啟用使用 IAM 的聯合身分使用者存取權。IAM 可讓您使用個別的 SAML 2.0 和開放 ID Connect (OIDC), IdPs 並使用聯合身分使用者屬性進行存取控制。使用 IAM,您可以將使用者屬性 (例如成本中心、標題或地區設定) 從您傳遞 IdPs 到 AWS,並根據這些屬性實作精細的存取權限。

工作負載是可提供商業價值的資源和程式碼的集合,例如應用程式或後端程序。您的工作負載可能需要 IAM 身分,才能對 AWS 服務、應用程式、操作工具和元件提出請求。這些身分包括在您的 AWS 環境中執行的機器,例如 Amazon EC2 執行個體或 AWS Lambda 函數。

您可以管理需要存取權的外部當事人的機器身分。若要將存取權授予機器身分,您可以使用 IAM 角色。IAM 角色具有特定許可,並透 AWS 過仰賴具有角色工作階段的臨時安全登入資料,提供存取方式。此外,您可能有其他電腦需 AWS 要存取您的 AWS 環境。對於在您以外執行的機器, AWS 可以在任何地方使用 IAM 角色。如需角色的詳細資訊,請參閱IAM 角色。如需如何使用角色委派存取權的詳細資訊 AWS 帳戶,請參閱IAM 教學課程:使用 IAM 角色將存取許可委派給不同 AWS 帳戶

若要將 IdP 直接連結至 IAM,您可以建立身分識別提供者實體,以在您 AWS 帳戶 與 IdP 之間建立信任關係。與 OpenID Connect(OIDC)或 SAML 2.0(安全斷言標記語言 2.0)兼容的 IAM 支持 IdPs 。如需搭配使用其中一個 IdPs 搭配使用的詳細資訊 AWS,請參閱下列各節:

使用 Amazon Cognito 身分池的聯合

Amazon Cognito 專為想要在行動應用程式和 Web 應用程式中為使用者進行驗證和授權的開發人員而設計。Amazon Cognito 使用者集區會在應用程式中新增登入和註冊功能,而身分池則提供 IAM 憑證,讓使用者可以存取您在 AWS中管理的受保護資源。身分池會透過 AssumeRoleWithWebIdentity API 操作取得臨時工作階段的憑證。

Amazon Cognito 可與支援 SAML 和 OpenID Connect 的外部身分提供者以及社交身分提供者 (如 Facebook、Google 和 Amazon) 搭配運作。應用程式可以使用使用者集區或外部 IdP 登入使用者,然後透過 IAM 角色中的自訂臨時工作階段代表使用者擷取資源。