

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

# 比較 IAM 身分和憑證
<a name="introduction_identity-management"></a>

在 中管理的身分 AWS Identity and Access Management 是 IAM 使用者、IAM 角色和 IAM 群組。這些身分是與您的 一起 AWS 建立的根使用者以外的身分 AWS 帳戶。

強烈建議您不要以根使用者處理日常作業，即使是管理作業。反之，應佈建其他使用者，並授予他們執行必要任務所需的許可。您可以將人員新增至 IAM Identity Center 目錄、將外部身分提供者與 IAM Identity Center 或 IAM 聯合，或建立最低權限的 IAM 使用者，以新增使用者。

為了提高安全性，我們建議您集中根存取，以協助您集中保護 AWS 帳戶 受管 的根使用者憑證 AWS Organizations。 [集中管理成員帳戶的根存取權](id_root-user.md#id_root-user-access-management)可讓您集中移除和防止長期根使用者憑證復原，防止大規模的意外根存取。啟用集中式根存取權後，您可以擔任特權工作階段，對成員帳戶執行動作。

設定使用者之後，您可以將 的存取權授予 AWS 帳戶 特定人員，並提供他們存取 資源的許可。

[作為最佳實務](best-practices.md)， AWS 建議您要求人類使用者擔任 IAM 角色來存取 ， AWS 以便他們使用臨時登入資料。如果您要管理 IAM Identity Center 目錄中的身分，或與身分提供者聯合使用身分，請遵循以下最佳實務。

## 條款
<a name="intro-structure-terms"></a>

使用 IAM 身分時通常會使用這些術語：

**IAM 資源**  
IAM 服務會存放這些資源。您可以從主控台中新增、編輯和移除這些資源。  
+ IAM 使用者
+ IAM 群組
+ IAM 角色
+ 許可政策
+ 身分提供者物件

**IAM 實體**  
 AWS 用於身分驗證的 IAM 資源。在資源型政策中將實體指定為主體。  
+ IAM 使用者
+ IAM 角色

**IAM 身分**  
在政策中授權以執行動作和存取資源的 IAM 資源。身分包括 IAM 使用者、IAM 群組及 IAM 角色。  
  

![此圖表顯示 IAM 使用者和 IAM 角色是即是實體也是身分的主體，但根使用者是既不是實體也不是身分的主體。圖表也會通知您 IAM 群組是身分。IAM 身分驗證會使用政策來控制身分的存取，但根使用者擁有完整的 AWS 資源存取，且不會受到身分或資源型 IAM 政策的限制。](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/images/iam-terms-2.png)


**主體**  
可對 AWS 資源提出動作或操作請求的 AWS 帳戶根使用者、IAM 使用者或 IAM 角色。主體包括人類使用者、工作負載、聯合身分主體及擔任的角色。身分驗證之後，IAM 會根據委託人類型 AWS，授予委託人永久或暫時的登入資料來提出請求。  
*人類使用者*也稱為*人類身分*，例如相關人員、管理員、開發人員、操作員和應用程式消費者。  
*工作負載*是提供商業價值的資源和程式碼集合，例如應用程式、流程、操作工具和其他元件。  
*聯合主體*是身分和登入資料由另一個身分提供者管理的使用者，例如 Active Directory、Okta 或 Microsoft Entra。  
*IAM 角色*是您可以在帳戶中建立的 IAM 身分，具有特定許可，可決定身分可以和不可以執行的動作。但是，角色的目的是讓需要它的任何人可代入，而不是單獨地與某個人員關聯。  
IAM 授予 IAM 使用者和根使用者長期憑證和 IAM 角色臨時憑證。 AWS IAM Identity Center 的使用者、OIDC 和 SAML 聯合身分主體在登入時擔任 IAM 角色 AWS，這會授予他們臨時憑證。[最佳實務](best-practices.md)是，建議您要求人類使用者和工作負載使用臨時登入資料存取 AWS 資源。

## IAM 使用者和 IAM Identity Center 之間的不同之處
<a name="intro-identity-users"></a>

 **IAM 使用者**不是單獨的帳戶；他們是您帳戶內的個別使用者。每個使用者都有自己的密碼來存取 AWS 管理主控台。您也可以為每個使用者建立個別的存取金鑰，讓使用者能利用程式設計方式提出請求，進而能使用您帳戶中的資源。

IAM 使用者及其存取金鑰具有 AWS 資源的長期登入資料。IAM 使用者的主要用途是讓無法使用 IAM 角色的工作負載能夠使用 API 或 CLI 向 AWS 服務提出程式設計請求。

**注意**  
對於需要具有程式化存取和長期憑證的 IAM 使用者的情況，我們建議您視需要更新存取金鑰。如需詳細資訊，請參閱[更新存取金鑰](id-credentials-access-keys-update.md)。

人力身分 （人員） 具有不同的許可需求**AWS IAM Identity Center 的使用者**，取決於他們正在執行的角色，並且可以 AWS 帳戶 跨組織在各種 中工作。如果您有需要存取金鑰的使用案例，您可以使用 支援這些使用案例 AWS IAM Identity Center 的使用者。透過 AWS 存取入口網站登入的人員可以取得具有 AWS 資源短期憑證的存取金鑰。如果是集中式存取管理，我們建議您使用 [AWS IAM Identity Center (IAM Identity Center)](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) 管理他人對您帳戶的存取權和這些帳戶內的許可。IAM Identity Center 會自動設定 Identity Center 目錄做為您的預設身分來源，您可以在其中新增人員和群組，並將他們的存取層級指派給您的 AWS 資源。如需詳細資訊，請參閱 *AWS IAM Identity Center 使用者指南*中的[什麼是 AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)。

這兩種使用者的主要區別在於，IAM Identity Center 中的使用者在存取管理主控台或 AWS 資源 AWS 之前，會在登入 時自動擔任 IAM 角色。每次使用者登入時，IAM 角色都會授予臨時登入資料 AWS。若要讓 IAM 使用者使用 IAM 角色登入，他們必須具有擔任和切換角色的許可，而且必須在存取 AWS 帳戶後明確選擇切換到想要擔任的角色。

## 來自現有身分來源的聯合身分使用者
<a name="intro-identity-federation"></a>

如果組織中的使用者已在登入公司網路時進行身分驗證，則您不需要為他們建立個別 IAM 使用者，或建立 IAM Identity Center 使用者。反 AWS 之，您可以使用 IAM 或 *將這些使用者身分聯合*到 AWS IAM Identity Center。OIDC 和 SAML 聯合身分主體擔任 IAM 角色，該角色可為其提供存取特定資源的許可。如需角色的詳細資訊，請參閱[角色術語和概念](id_roles.md#id_roles_terms-and-concepts)。

![此圖顯示聯合身分主體如何取得臨時 AWS 安全登入資料，以存取 中的資源 AWS 帳戶。](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/images/iam-intro-federation.diagram.png)


在下列情況下，聯合很有用：
+ **您的使用者已存在於公司目錄。**

  如果您的公司目錄與安全性聲明標記語言 2.0 (SAML 2.0) 相容，您可以設定公司目錄， AWS 管理主控台 為您的使用者提供 的單一登入 (SSO) 存取權。如需詳細資訊，請參閱[暫時性憑證的常見案例](id_credentials_temp.md#sts-introduction)。

  如果您的公司目錄與 SAML 2.0 不相容，您可以建立身分代理程式應用程式， AWS 管理主控台 為您的使用者提供 的單一登入 (SSO) 存取。如需詳細資訊，請參閱[啟用 AWS 主控台的自訂身分代理程式存取](id_roles_providers_enable-console-custom-url.md)。

  如果您的公司目錄是 Microsoft Active Directory，您可以使用 AWS IAM Identity Center 來連接 Active Directory 中的自我管理目錄或 中的目錄[AWS Directory Service](https://aws.amazon.com/directoryservice/)，以在公司目錄與 之間建立信任 AWS 帳戶。

  如果您使用 Okta 或 Microsoft Entra 等外部身分提供者 (IdP) 來管理使用者，您可以使用 AWS IAM Identity Center 來建立 IdP 與 之間的信任 AWS 帳戶。如需詳細資訊，請參閱《AWS IAM Identity Center 使用者指南》** 中的 [連結至外部身分供應商](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-idp.html)。
+ **您的使用者已經有網際網路身分。**

  如果您正在建立行動應用程式或 Web 為基礎的應用程式，讓使用者透過網際網路身分提供者 (例如，Login with Amazon、Facebook、Google 或任何與 OpenID Connect (OIDC) 相容的身分提供者) 識別自己的身分，則該應用程式可以使用聯合功能存取 AWS。如需詳細資訊，請參閱[OIDC 聯合身分](id_roles_providers_oidc.md)。
**提示**  
若要搭配網際網路身分提供者使用聯合身分，建議您使用 [Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html)。

## 提供使用者存取權的不同方法
<a name="AccessControlMethods"></a>

以下是您可以提供 AWS 資源存取權的方法。


****  

| 使用者存取類型 | 何時使用？ | 在哪裡可以獲得更多資訊？ | 
| --- | --- | --- | 
| 針對相關人員 (例如您的人力使用者)，使用 IAM Identity Center 的單一登入存取來存取 AWS 資源 | IAM Identity Center 提供集中位置，可集中管理使用者及其對 AWS 帳戶 和雲端應用程式的存取。<br />您可以在 IAM Identity Center 中設定身分存放區，或者您也可以使用現有的身分提供者 (IdP) 設定聯合。安全最佳實務建議將有限登入資料授予您的人類使用者 AWS 。<br />相關人員擁有更簡單的登入體驗，而您也能從單個系統持續控制他們的資源存取權。IAM Identity Center 支援多重要素驗證 (MFA)，以提高對帳戶安全的保護。 | 如需有關設定 IAM Identity Center 的詳細資訊，請參閱《AWS IAM Identity Center 使用者指南》**中的[入門](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html)。<br />如需有關使用 IAM Identity Center 中的 MFA 的詳細資訊，請參閱《AWS IAM Identity Center 使用者指南》**中的[多重要素驗證](https://docs.aws.amazon.com/singlesignon/latest/userguide/enable-mfa.html)。 | 
| 針對人類使用者 (例如您的人力使用者)，使用 IAM 身分提供者 (IdP) 的聯合存取來存取 AWS 服務 | IAM 支援 IdP，其與 OpenID Connect (OIDC) 或 SAML 2.0 (安全性聲明標記語言 2.0) 相容。建立 IAM 身分提供者後，可建立一個或多個 IAM 角色，這些角色可以動態指派給聯合身分主體。 | 如需有關 IAM 身分提供者與聯合的詳細資訊，請參閱 [身分提供者和聯合身分 AWS](id_roles_providers.md)。 | 
| 之間的跨帳戶存取 AWS 帳戶 | 您想要與其他 中的使用者共用特定 AWS 資源的存取權 AWS 帳戶。<br />角色是授予跨帳戶存取權的主要方式。不過，一些 AWS 服務支援資源型政策，允許您直接將政策連接到資源 (而不是使用角色做為代理)。 | 如需關於 IAM 角色的詳細資訊，請參閱 [IAM 角色](id_roles.md)。<br />如需服務連結角色的詳細資訊，請參閱[建立服務連結角色](id_roles_create-service-linked-role.md)。<br />如需有關哪些服務支援使用服務連結角色的資訊，請參閱 [AWS 使用 IAM 的 服務](reference_aws-services-that-work-with-iam.md)。尋找**服務連結角色**欄中顯示為**是**的服務。若要檢視該服務的服務連結角色文件，請選擇該欄中與 **Yes (是)** 相關聯的連結。 | 
| 您 中指定 IAM 使用者的長期登入資料 AWS 帳戶 | 您可能有特定的使用案例，需要具有 IAM 使用者的長期登入資料 AWS。您可以使用 IAM 在 中建立這些 IAM 使用者 AWS 帳戶，並使用 IAM 管理其許可。以下是部分使用案例：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/introduction_identity-management.html)<br />對於需要具有[程式化存取和長期憑證](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)的 IAM 使用者的情況，我們建議的[最佳實務](best-practices.md)是視需要更新存取金鑰。如需詳細資訊，請參閱[更新存取金鑰](id-credentials-access-keys-update.md)。 | 如需有關設定 IAM 使用者的詳細資訊，請參閱 [在 中建立 IAM 使用者 AWS 帳戶](id_users_create.md)。<br />如需有關 IAM 使用者存取金鑰的詳細資訊，請參閱 [管理 IAM 使用者的存取金鑰](id_credentials_access-keys.md)。<br />如需 AWS CodeCommit 或 Amazon Keyspaces 的服務特定登入資料的詳細資訊，請參閱 [CodeCommit 的 IAM 登入資料：Git 登入資料、SSH 金鑰和 AWS 存取金鑰](id_credentials_ssh-keys.md)和 [將 IAM 與 Amazon Keyspaces (適用於 Apache Cassandra) 搭配使用](id_credentials_keyspaces.md)。 | 

## 支援程式設計使用者存取
<a name="gs-get-keys"></a>

如果使用者想要與 AWS 外部互動，則需要程式設計存取 AWS 管理主控台。授予程式設計存取權的方式取決於正在存取的使用者類型 AWS：
+ 如果您在 IAM Identity Center 中管理身分， AWS APIs需要設定檔，而 AWS Command Line Interface 需要設定檔或環境變數。
+ 如果您有 IAM 使用者， AWS APIs和 AWS Command Line Interface 需要存取金鑰。如有可能，請建立臨時憑證，其中包含存取金鑰 ID、私密存取金鑰，以及指出憑證何時到期的安全記號。

若要授予使用者程式設計存取權，請選擇下列其中一個選項。


| 哪個使用者需要程式設計存取權？ | 選項 | 其他資訊 | 
| --- | --- | --- | 
| 人力資源身分 <br />(IAM Identity Center 中管理的人員和使用者) | 使用短期登入資料簽署對 AWS CLI 或 AWS APIs程式設計請求 （直接使用或使用 AWS SDKs)。 | 對於 AWS CLI，請遵循[《 使用者指南》中的取得 CLI 存取的 IAM 角色登入](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtogetcredentials.html)資料中的指示。 *AWS IAM Identity Center *<br />對於 AWS APIs，請遵循 *AWS SDKs 和工具參考指南*中 [SSO 憑證](https://docs.aws.amazon.com//sdkref/latest/guide/feature-sso-credentials.html)中的指示。 | 
| IAM 使用者 | 使用短期登入資料簽署對 AWS CLI 或 AWS APIs程式設計請求 （直接使用或使用 AWS SDKs)。 | 請遵循[將臨時登入資料與 AWS 資源](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_credentials_temp_use-resources.html)搭配使用中的指示。 | 
| IAM 使用者 | 使用長期登入資料簽署對 AWS CLI 或 AWS APIs程式設計請求 （直接使用或使用 AWS SDKs)。(不建議使用) | 請遵循[管理 IAM 使用者的存取金鑰](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_credentials_access-keys.html)中的指示。 | 
| 聯合身分主體 | 使用 AWS STS API 操作建立具有臨時安全登入資料的新工作階段，其中包含存取金鑰對和工作階段字符。 | 如需 API 操作的說明，請參閱 [請求臨時安全憑證](id_credentials_temp_request.md) | 