

AWS Migration Hub Migration Hub Migration Hub 目前為預覽版本，並可能有所變更。

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

# AWS Migration Hub 的 Identity and Access Management
<a name="security-iam"></a>





AWS Identity and Access Management (IAM) 是一種 AWS 服務，讓管理員能夠安全地控制對 AWS 資源的存取。IAM 管理員控制哪些人可以成為*認證*(已登入) 和*授權*(具有權限) 來使用重構空間資源。IAM 是一種您可以免費使用的 AWS 服務。

**Topics**
+ [Audience](#security_iam_audience)
+ [使用身分來驗證](#security_iam_authentication)
+ [使用政策管理存取權](#security_iam_access-manage)
+ [AWS Migration Hub 重構空間如何搭配 IAM 使用](security_iam_service-with-iam.md)
+ [AWSAWS Migration Hub Migration Hub 重構空間的受管政策](security-iam-awsmanpol.md)
+ [AWS Migration Hub 重構空間的身分型政策範例](security_iam_id-based-policy-examples.md)
+ [疑難排解 AWS Migration Hub 重構空間身分識別和存取](security_iam_troubleshoot.md)
+ [使用服務連結角色](using-service-linked-roles.md)

## Audience
<a name="security_iam_audience"></a>

您使用的方式AWS Identity and Access Management(IAM) 會不同，取決於您在重構空間中執行的工作。

**服務使用者**— 若您使用重構 Space 來執行任務，您的管理員可以提供您需要的登入資料和許可。隨著您為了執行作業而使用的重構空間數量變多，您可能會需要額外的許可。了解存取的管理方式可協助您向管理員請求正確的許可。如果您無法存取重構空間中的功能，請參閱[疑難排解 AWS Migration Hub 重構空間身分識別和存取](security_iam_troubleshoot.md)。

**服務管理員**— 如果您負責公司的重構空間資源，您可能具備重構空間的完整存取權限。您的任務是判斷員工應存取的重構 Space 功能及資源。您接著必須將請求提交給您的 IAM 管理員，來變更您服務使用者的許可。檢閱此頁面上的資訊，了解 IAM 的基本概念。若要進一步了解貴公司可搭配重構空間使用 IAM 的方式，請參閱[AWS Migration Hub 重構空間如何搭配 IAM 使用](security_iam_service-with-iam.md)。

**IAM 管理員**— 若您是 IAM 管理員，您可能會想要了解如何撰寫政策來管理重構 Space 存取權的詳細資訊。若要檢視您可以在 IAM 中使用的範例重構空間身分型政策，請參閱[AWS Migration Hub 重構空間的身分型政策範例](security_iam_id-based-policy-examples.md)。

## 使用身分來驗證
<a name="security_iam_authentication"></a>

身分驗證是使用身分登入資料登入 AWS 的方式。若需使用 AWS 管理主控台 登入的詳細資訊，請參閱 *IAM 使用者指南*中的[以 IAM 使用者或根使用者身分登入 AWS 管理主控台](https://docs.aws.amazon.com/IAM/latest/UserGuide/console.html)。

您必須以 AWS 帳戶 根使用者身分、IAM 使用者身分，或使用 IAM 角色進行*驗證* (登入至 AWS)。您也可以使用貴公司的單一登入身分驗證，甚至使用 Google 或 Facebook 進行登入。在上述案例中，您的管理員會使用 IAM 角色預先設定聯合身分。當您使用來自其他公司的身分驗證來存取 AWS 時，您是間接地擔任角色。

若要直接登入 [AWS 管理主控台](https://console.aws.amazon.com/)，請使用您的根使用者電子郵件地址或您的 IAM 使用者名稱密碼。您可以使用您的根使用者或 IAM 使用者存取金鑰，透過程式設計程式的方式存取 AWS。AWS 提供開發套件和命令列工具，以加密的方式使用您的登入資料簽署您的請求。如果您不使用 AWS 工具，您必須自行簽署請求。請使用 *Signature 第 4 版*來執行此作業，它是針對傳入 API 請求進行身分驗證的通訊協定。如需驗證請求的詳細資訊，請參閱 *AWS 一般參考*中的[簽章版本 4 簽署程序](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)。

無論您使用何種身分驗證方法，您可能還需要提供額外的安全性資訊。例如，AWS 建議您使用多重要素驗證 (MFA) 來提高帳戶的安全。若要進一步了解，請參閱 *IAM 使用者指南*中的[在 AWS 中使用多重要素驗證 (MFA)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html)。

### AWS 帳戶 根使用者
<a name="security_iam_authentication-rootuser"></a>

 如果是首次建立 AWS 帳戶，您會先有單一的登入身分，可以完整存取帳戶中所有 AWS 服務與資源。此身分稱為 AWS 帳戶 *根使用者*，使用建立帳戶時所使用的電子郵件地址和密碼即可登入並存取。強烈建議您不要以根使用者處理日常作業，即使是管理作業。反之，請遵循[僅以根使用者建立您第一個 IAM 使用者的最佳實務](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#create-iam-users)。接著請妥善鎖定根使用者憑證，只用來執行少數的帳戶與服務管理作業。

### IAM 使用者和群組
<a name="security_iam_authentication-iamuser"></a>

*[IAM 使用者](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)*是您 AWS 帳戶 中的一種身分，具備單一人員或應用程式的特定許可。IAM 使用者可有長期憑證 (例如，使用者名稱和密碼或一組存取金鑰)。若要了解如何產生存取金鑰，請參閱 *IAM 使用者指南*中的[管理 IAM 使用者的存取金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)。當您產生 IAM 使用者的存取金鑰時，請確認您已檢視且安全地儲存金鑰對。您在這之後便無法復原私密存取金鑰。屆時您必須改為產生新的存取金鑰對。

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)是一種指定 IAM 使用者集合的身分。您無法以群組身分登入。您可以使用群組來一次為多名使用者指定許可。群組可讓管理大量使用者許可的過程變得更為容易。例如，您可以擁有一個名為 *IAMAdmins* 的群組，並給予該群組管理 IAM 資源的許可。

使用者與角色不同。使用者只會與單一人員或應用程式建立關聯，但角色的目的是在由任何需要它的人員取得。使用者擁有永久的長期憑證，但角色僅提供暫時憑證。若要進一步了解，請參閱 *IAM 使用者指南*中的[建立 IAM 使用者 (而非角色) 的時機](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html#id_which-to-choose)。

### IAM 角色
<a name="security_iam_authentication-iamrole"></a>

*[IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)*是您 AWS 帳戶 中的一種身分，具備特定許可。它類似 IAM 使用者，但不與特定的人員相關聯。您可以在 AWS 管理主控台 中透過[切換角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)來暫時取得 IAM 角色。您可以透過呼叫 AWS CLI 或 AWS API 操作，或是使用自訂 URL 來取得角色。如需使用角色的方法詳細資訊，請參閱 *IAM 使用者指南*中的[使用 IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html)。

使用臨時憑證的 IAM 角色在下列情況中非常有用：
+ **暫時 IAM 使用者許可** – 使用者可以擔任 IAM 角色來暫時針對特定任務採用不同的許可。
+ **聯合身分使用者存取** – 並非建立 IAM 使用者，而是使用來自 Directory Service、您的企業使用者目錄或 Web 身分供應商現有的使用者身分。這些稱為*聯合身分使用者*。透過[身分供應商](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html)來請求存取時，AWS 會指派角色給聯合身分使用者。如需聯合身分使用者的詳細資訊，請參閱 *IAM 使用者指南*中的[聯合身分使用者和角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_access-management.html#intro-access-roles)。
+ **跨帳戶存取** – 您可以使用 IAM 角色，允許不同帳戶中的某人 (信任的委託人) 存取您帳戶的資源。角色是授予跨帳戶存取的主要方式。但是，針對某些 AWS 服務，您可以將政策直接連接到資源 (而非使用角色做為代理)。若要了解跨帳戶存取角色和資源類型政策間的差異，請參閱 *IAM 使用者指南*中的 [IAM 角色與資源類型政策的差異](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html)。
+ **跨服務存取** – 有些 AWS 服務會使用其他 AWS 服務中的功能。例如，當您在服務中進行呼叫時，該服務通常會在 Amazon EC2 中執行應用程式或將物件存放在 Amazon S3 中。服務可能會使用呼叫委託人的許可、使用服務角色或使用服務連結角色來執行此作業。
  + **委託人許可** – 當您使用 IAM 使用者或角色在 AWS 中執行動作時，您會被視為委託人。政策能將許可授予委託人。當您使用某些服務時，您可能會執行一個動作，然後在不同的服務中觸發另一個動作。在此情況下，您必須具有執行這兩個動作的許可。若要查看某個動作是否需要原則中的其他相依動作，請參閱[AWS Migration Hub 的動作、資源和條件金鑰重構空間](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awskeymanagementservice.html)中的*服務授權參考*。
  + **服務角色** – 服務角色是服務擔任的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)，可代表您執行動作。IAM 管理員可以從 IAM 內建立、修改和刪除服務角色。如需更多詳細資訊，請參閱 *IAM 使用者指南*中的[建立角色以委派許可給 AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。
  + **服務連結角色** – 服務連結角色是一種連結到 AWS 服務的服務角色類型。服務可以擔任代表您執行動作的角色。服務連結角色會顯示在您的 IAM 帳戶中，並由該服務所擁有。IAM 管理員可以檢視，但不能編輯服務連結角色的許可。
+ **在 Amazon EC2 上執行的應用程式** - 針對在 EC2 執行個體上執行並提出 AWS CLI 和 AWS API 請求的應用程式，您可以使用 IAM 角色來管理臨時登入資料。這是在 EC2 執行個體內存放存取金鑰的較好方式。若要指派 AWS 角色給 EC2 執行個體並提供其所有應用程式使用，您可以建立連接到執行個體的執行個體描述檔。執行個體描述檔包含該角色，並且可讓 EC2 執行個體上執行的程式取得臨時憑證。如需更多詳細資訊，請參閱 *IAM 使用者指南*中的[利用 IAM 角色來授予許可給 Amazon EC2 執行個體上執行的應用程式](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html)。

若要了解是否要使用 IAM 角色或 IAM 使用者，請參閱 *IAM 使用者指南*中的[建立 IAM 角色 (而非使用者) 的時機](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html#id_which-to-choose_role)。

## 使用政策管理存取權
<a name="security_iam_access-manage"></a>

您可以透過建立政策並將其連接到 IAM 身分或 AWS 資源，在 AWS 中控制存取。政策為 AWS 中的一個物件，當與身分或資源相關聯時，會定義它們的許可。您可以根使用者或 IAM 使用者的身分登入，或者可以擔任 IAM 角色。當您接著提出請求時，AWS 會評估相關以身分或資源為基礎的政策。政策中的許可，決定是否允許或拒絕請求。大部分政策以 JSON 文件形式存放在 AWS 中。如需 JSON 政策文件結構和內容的詳細資訊，請參閱 *IAM 使用者指南*中的 [JSON 政策概觀](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json)。

管理員可以使用 AWS JSON 政策來指定誰可以存取哪些內容。也就是說，哪個**委託人**可以對什麼**資源**以及在什麼**條件**下執行**動作**。

每個 IAM 實體 (使用者或角色) 在開始時都沒有許可。換句話說，根據預設，使用者無法執行任何作業，甚至也無法變更他們自己的密碼。若要授予使用者執行動作的許可，管理員必須將許可政策連接到使用者。或者，管理員可以將使用者新增到具備預定許可的群組。管理員將許可給予群組時，該群組中的所有使用者都會獲得那些許可。

IAM 政策定義該動作的許可，無論您使用何種方法來執行操作。例如，假設您有一個允許 `iam:GetRole` 動作的政策。具備該政策的使用者便可以從 AWS 管理主控台、AWS CLI 或 AWS API 取得角色資訊。

### 身分型政策
<a name="security_iam_access-manage-id-based-policies"></a>

以身分為基礎的政策是可以附加到身分 (使用者、使用者群組或角色) 的 JSON 許可政策文件。這些政策可控制身分在何種條件下能對哪些資源執行哪些動作。若要了解如何建立身分類型政策，請參閱 *IAM 使用者指南*中的[建立 IAM 政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

身分類型政策可進一步分類成*內嵌政策*或*受管政策*。內嵌政策會直接內嵌到單一使用者、群組或角色。受管政策則是獨立的政策，您可以將這些政策連接到 AWS 帳戶 中的多個使用者、群組和角色。受管政策包含 AWS 受管政策和客戶受管政策。若要了解如何在受管政策及內嵌政策間選擇，請參閱 *IAM 使用者指南*中的[在受管政策和內嵌政策間選擇](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#choosing-managed-or-inline)。

### 資源型政策
<a name="security_iam_access-manage-resource-based-policies"></a>

資源型政策是連接到資源的 JSON 政策文件。以資源為基礎的政策的最常見範例是 Amazon S3 *儲存貯體政策*和 IAM *角色信任政策*。在支援以資源為基礎的政策的服務中，服務管理員可以使用它們來控制對特定資源的存取。對於附加政策的資源，政策會定義指定的委託人可以對該資源執行的動作以及在何種條件下執行的動作。您必須在資源型政策中[指定委託人](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)。委託人可以包括帳戶、使用者、角色、聯合身分使用者或 AWS 服務。

資源型政策是位於該服務中的內嵌政策。您無法在以資源為基礎的政策中使用來自 IAM 的 AWS 受管政策。

### 存取控制清單 (ACL)
<a name="security_iam_access-manage-acl"></a>

存取控制清單 (ACL) 可控制哪些委託人 (帳戶成員、使用者或角色) 擁有存取某資源的許可。ACL 類似於以資源為基礎的政策，但它們不使用 JSON 政策文件格式。

Amazon S3、AWS WAF 和 Amazon VPC 是支援 ACL 的服務範例。若要進一步了解 ACL，請參閱 *Amazon Simple Storage Service 開發人員指南*中的[存取控制清單 (ACL) 概觀](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)。

### 其他政策類型
<a name="security_iam_access-manage-other-policies"></a>

AWS 支援其他較少見的政策類型。這些政策類型可設定較常見政策類型授予您的最大許可。
+ **許可界限** - 許可界限是一種進階功能，可供您設定身分型政策能授予 IAM 實體 (IAM 使用者或角色) 的最大許可。您可以為實體設定許可界限。所產生的許可會是實體的身分型政策和其許可界限的交集。會在 `Principal` 欄位中指定使用者或角色的資源類型政策則不會受到許可界限限制。所有這類政策中的明確拒絕都會覆寫該允許。如需許可邊界的詳細資訊，請參閱 *IAM 使用者指南*中的 [IAM 實體許可邊界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)。
+ **服務控制政策 (SCP)** – SCP 是 JSON 政策，可指定 AWS Organizations 中組織或組織單位 (OU) 的最大許可。AWS Organizations 服務可用來分組和集中管理您企業所擁有的多個 AWS 帳戶。若您啟用組織中的所有功能，您可以將服務控制政策 (SCP) 套用到任何或所有帳戶。SCP 會限制成員帳戶中的實體許可，包括每個 AWS 帳戶 的根使用者。如需 Organizations 和 SCP 的詳細資訊，請參閱 *AWS Organizations 使用者指南*中的 [SCP 運作方式](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_about-scps.html)。
+ **工作階段政策** – 工作階段政策是一種進階政策，您可以在透過編寫程式的方式建立角色或聯合身分使用者的暫時工作階段時，做為參數傳遞。所產生工作階段的許可會是使用者或角色的身分型政策和工作階段政策的交集。許可也可以來自資源型政策。所有這類政策中的明確拒絕都會覆寫該允許。如需詳細資訊，請參閱 *IAM 使用者指南*中的[工作階段政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)。

### 多種政策類型
<a name="security_iam_access-manage-multiple-policies"></a>

將多種政策類型套用到請求時，其結果形成的許可會更為複雜、更加難以理解。若要了解 AWS 在涉及多種政策類型時如何判斷是否允許一項請求，請參閱 *IAM 使用者指南*中的[政策評估邏輯](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)。





