

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

# 身分提供者和聯合身分 AWS
<a name="id_roles_providers"></a>

最佳實務是，建議您要求人類使用者使用聯合身分提供者來存取 AWS 資源，而不是在您的 中建立個別的 IAM 使用者 AWS 帳戶。使用身分提供者 (IdP)，您可以在 外部管理您的使用者身分， AWS 並提供這些外部使用者身分許可，以使用您帳戶中 AWS 的資源。如果您的組織已有自己的身分系統，例如公司使用者目錄，這個方式便很管用。如果您要建立需要存取 AWS 資源的行動應用程式或 Web 應用程式，這也很有用。

**注意**  
您也可以使用外部 SAML 身分提供者 (而不是在 IAM 中使用 SAML 聯合身分)，在 [IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/what-is.html) 中管理人類使用者。IAM Identity Center 與身分提供者聯合可讓您讓人員存取組織中的多個 AWS 帳戶和多個 AWS 應用程式。若要了解需要 IAM 使用者的特定情形，請參閱[建立 IAM 使用者 (而非角色) 的時機](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html#id_which-to-choose)。

如果您偏好使用單一 AWS 帳戶而不啟用 IAM Identity Center，您可以使用 IAM 搭配外部 IdP，該 IdP AWS 會使用 [OpenID Connect (OIDC)](http://openid.net/connect/) 或 [SAML 2.0 （安全性聲明標記語言 2.0) 來提供身分資訊給](https://wiki.oasis-open.org/security) 。OIDC 會將未在 AWS AWS 資源上執行的應用程式，例如 GitHub Actions。知名 SAML 身分提供者的範例包含 Shibboleth 和 Active Directory Federation Services。

當您使用 身分提供者時，您不需要建立自訂登入代碼或管理自己的使用者身分，IdP 會為您處理這些工作。IdP 會為您提供這些功能。您的外部使用者透過 IdP 登入，您可以授予這些外部身分許可，以使用您帳戶中 AWS 的資源。身分提供者有助於保護您的 AWS 帳戶 安全，因為您不必在應用程式中分發或嵌入長期安全登入資料，例如存取金鑰。

檢閱下表，以協助判斷哪種 IAM 聯合身分類型最適合您的使用案例：IAM、IAM Identity Center 或 Amazon Cognito。下列摘要和資料表提供 方法的概觀，您的使用者可用來取得 AWS 資源的聯合存取。


| IAM 聯合身分類型 | Account type (帳戶類型) | 存取管理… | 支援的身分來源 | 
| --- | --- | --- | --- | 
| 使用 IAM Identity Center 的聯合 | 由 管理的多個帳戶 AWS Organizations | 員工的人類使用者 |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/id_roles_providers.html)  | 
| 使用 IAM 的聯合 | 單一獨立帳戶 |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/id_roles_providers.html)  | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/id_roles_providers.html)  | 
| 使用 Amazon Cognito 身分池的聯合 | 任何 | 需要 IAM 授權才能存取資源的應用程式使用者 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/id_roles_providers.html)  | 

## 使用 IAM Identity Center 的聯合
<a name="id_roles_providers_identity-center"></a>

如需人類使用者的集中式存取管理，我們建議您使用 [IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) 管理您帳戶的存取權和這些帳戶內的許可。IAM Identity Center 中的使用者會獲得 AWS 資源的短期憑證。您可以使用 Active Directory、外部身分提供者 (IdP) 或 IAM Identity Center 目錄做為使用者和群組的身分來源，以指派 AWS 資源的存取權。

IAM Identity Center 支援與 SAML （安全性聲明標記語言） 2.0 的聯合身分，為有權在存取入口網站內使用應用程式的使用者提供聯合單一登入 AWS 存取。然後，使用者可以單一登入支援 SAML 的服務，包括 AWS 管理主控台 和第三方應用程式，例如 Microsoft 365、SAP Concur 和 Salesforce。

## 使用 IAM 的聯合
<a name="id_roles_providers_iam"></a>

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

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

您可以管理需要存取權的外部當事人的機器身分。若要將存取權授予機器身分，您可以使用 IAM 角色。IAM 角色具有特定許可，並透過使用角色工作階段 AWS 依賴臨時安全登入資料來提供存取的方法。此外，您可能在 外部有需要存取您 AWS 環境 AWS 的機器。對於在 外部執行的機器 AWS ，您可以使用 [IAM Roles Anywhere](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/introduction.html)。如需角色的詳細資訊，請參閱[IAM 角色](id_roles.md)。如需如何使用角色來委派跨 存取的詳細資訊 AWS 帳戶，請參閱 [IAM 教學課程：使用 IAM 角色在 AWS 帳戶之間委派存取權](tutorial_cross-account-with-roles.md)。

若要將 IdP 直接連結至 IAM，您可以建立身分提供者實體，以在 AWS 帳戶 和 IdP 之間建立信任關係。IAM 支援 IdP，其與 [OpenID Connect (OIDC)](http://openid.net/connect/) 或 [SAML 2.0 (安全性聲明標記語言 2.0)](https://wiki.oasis-open.org/security) 相容。如需搭配 使用其中一個 IdPs 的詳細資訊 AWS，請參閱下列各節：
+ [OIDC 聯合身分](id_roles_providers_oidc.md)
+ [SAML 2.0 聯合身分](id_roles_providers_saml.md)

## 使用 Amazon Cognito 身分池的聯合
<a name="id_roles_providers_cognito"></a>

Amazon Cognito 專為想要在行動應用程式和 Web 應用程式中為使用者進行驗證和授權的開發人員而設計。Amazon Cognito 使用者集區會在應用程式中新增登入和註冊功能，而身分池則提供 IAM 憑證，讓使用者可以存取您在 AWS中管理的受保護資源。身分池會透過 [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) API 操作取得臨時工作階段的憑證。

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

## 其他資源
<a name="id_roles_providers_additional_resources"></a>
+ 如需如何使用 AWS 管理主控台 組織的身分驗證系統建立啟用單一登入 (SSO) 的自訂聯合代理的示範，請參閱 [啟用 AWS 主控台的自訂身分代理程式存取](id_roles_providers_enable-console-custom-url.md)。