

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

# 存取和驗證概觀
<a name="auth_access_overview"></a>

如果您是 IAM 的新手，請閱讀下列主題來開始在 AWS 中授權和存取。

**Topics**
+ [什麼是身分驗證？](#auth_access_what-is-authentication)
+ [什麼是存取控制？](#auth_access_what-is-access-control)
+ [什麼是政策？](#auth_access_what-are-policies)
+ [入門 IAM](#auth_access_getting-started)

## 什麼是身分驗證？
<a name="auth_access_what-is-authentication"></a>

身份驗證是使用登入資料登入 AWS 的方式。

**注意**  
若要快速開始使用，您可以忽略此部分。首先，檢閱上的入門資訊[AWS Global Accelerator 的 Identity and Access Management](auth-and-access-control.md)，然後參閱[入門 IAM](#auth_access_getting-started)。

作為委託人，您必須*身分驗證*(登入至 AWS)，使用實體 (根使用者、IAM 使用者或 IAM 角色) 將請求傳送至 AWS。IAM 使用者可有長期登入資料 (例如，使用者名稱和密碼或一組存取金鑰)。擔任 IAM 角色時，您會取得臨時安全登入資料。

若要從 AWS 管理主控台以使用者身分進行驗證，您必須使用您的使用者名稱和密碼登入。若要從 AWS CLI 或 AWS API 取得身分驗證，您必須提供存取金鑰和私密金鑰或臨時登入資料。AWS 提供開發套件和 CLI 工具，以密碼編譯方式使用登入資料簽署您的請求。如果您未使用 AWS 工具，則必須自行簽署請求。無論您使用何種身份驗證方法，您可能還需要提供額外的安全性資訊。例如，AWS 建議您使用多重驗證 (MFA) 來提高帳戶的安全性。

身為委託人，您可以使用以下實體 (使用者或角色) 登入 AWS：

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

**IAM 使用者**  
A[IAM 使用者](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)是 AWS 帳戶內具備特定許可的實體。支援 Global Acceler*簽章版本 4*，這是用來驗證傳入 API 請求的協定。如需有關驗證請求的詳細資訊，請參閱[簽章版本 4 簽章程序](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)中的*AWS 一般參考資料*。

**IAM 角色**  
 A[IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)是您可以在帳戶中建立的 IAM 身分，具有特定許可。IAM 角色類似於 IAM 使用者，因為同樣是 AWS 身分，也有許可政策可決定該身分在 AWS 中可執行和不可執行的操作。但是，角色的目的是讓需要它的任何人可代入，而不是單獨地與某個人員關聯。此外，角色沒有與之關聯的標準長期憑證，例如密碼或存取金鑰。反之，當您擔任角色時，其會為您的角色工作階段提供臨時安全性登入資料。使用臨時登入資料的 IAM 角色在下列情況中非常有用：    
**聯合身分使用者存取**  
 非建立 IAM 使用者，而是使用來自 AWS Directory Service、您的企業使用者目錄或 Web 身分供應商的現有身分。這些稱為「聯合身分使用者」**。透過[身份供應商](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html)請求存取時，AWS 會將角色指派給聯合身份使用者。如需聯合身分使用者的詳細資訊，請參閱[聯合身分使用者和角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_access-management.html#intro-access-roles)中的*IAM 使用者指南*。  
**暫時使用者權限**  
IAM 使用者可擔任一個角色，為了特定任務來採用不同許可。  
**跨帳戶存取**  
您可以使用 IAM 角色，允許不同帳戶中信任的委託人存取您帳戶的資源。角色是授予跨帳戶存取的主要方式。但是，針對某些 AWS 服務，您可以將政策直接連接到資源 (而非使用角色做為代理)。全域加速工具不支援這些資源類型政策。有關選擇使用角色或資源型政策，以允許跨帳戶存取的詳細資訊，請參閱[控制對不同帳戶中委託人的存取](#auth_access_controlling-principal-accounts)。  
**AWS 服務存取**  
 服務角色是[IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)服務會擔任代表您執行動作。服務角色提供的存取權僅限在您的帳戶內，不能用來授予存取其他帳戶中的服務。IAM 管理員可以從 IAM 內建立、修改和刪除服務角色。如需詳細資訊，請參閱「」[建立角色以將許可委派給 AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)中的*IAM 使用者指南*。  
**在 Amazon EC2 上執行的應用程式**  
 針對在 EC2 執行個體上執行並提出 AWS CLI 和 AWS API 請求的應用程式，您可以使用 IAM 角色來管理臨時登入資料。這是在 EC2 執行個體內存放存取金鑰的較好方式。若要指派 AWS 角色給 EC2 執行個體並提供其所有應用程式使用，您可以建立連接到執行個體的執行個體描述檔。執行個體描述檔包含該角色，並且可讓 EC2 執行個體上執行的程式取得臨時登入資料。如需詳細資訊，請參閱「」[使用 IAM 角色為在 Amazon EC2 執行個體上執行的應用程式授予許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html)中的*IAM 使用者指南*。

## 什麼是存取控制？
<a name="auth_access_what-is-access-control"></a>

在您登入 (通過驗證) AWS 後，您對 AWS 資源和操作的存取會受政策管制。存取控制也稱為授權。

**注意**  
若要快速開始使用，您可以忽略此頁面。首先，檢閱上的入門資訊[AWS Global Accelerator 的 Identity and Access Management](auth-and-access-control.md)，然後參閱[入門 IAM](#auth_access_getting-started)。

在授權期間，AWS 會使用來自[請求內容](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure-request.html)以檢查套用的政策。接著使用政策以決定是否允許或拒絕請求。大多數的政策儲存在 AWS 中做為 JSON 文件，並指定允許或拒絕委託人的許可。如需 JSON 政策文件的結構和內容的詳細資訊，請參閱[什麼是政策？](#auth_access_what-are-policies)。

政策可讓管理員指定哪些使用者有權存取 AWS 資源，以及他們可以對這些資源執行哪些操作。每個 IAM 實體 (使用者或角色) 在開始時都沒有許可。換言之，在預設狀態下，使用者無法執行任何動作，甚至不能查看自己的存取金鑰。若要授予使用者執行動作的許可，管理員必須將許可政策連接到使用者。或者，可以將使用者加入到具有預期的許可的群組中。管理員將許可給予群組時，群組內的全部使用者都會獲得那些許可。

您可以透過有效登入資料來驗證您的請求，但還須管理員授與許可才能建立或存取 AWS Global Accelerator 資源。例如，您必須具有明確許可才能建立 AWS Global Accelerator。

做為管理員，您可以編寫政策以控制存取下列項目：
+ **[Principals (委託人)](#auth_access_controlling-principals)**— 控制發出請求的人員或應用程式 (*委託人*）被允許這樣做。
+ **[IAM 身分識別](#auth_access_controlling-identities)**— 控制哪些 IAM 身分 (群組、使用者與角色) 可被存取以及存取的方法。
+ **[IAM 政策](#auth_access_controlling-policies)**-控制哪些使用者可以建立、編輯和刪除客戶受管政策，以及哪些使用者可以連接和分離所有受管政策。
+ **[AWS 資源](#auth_access_controlling-resources)**— 控制哪些使用者有權使用以身分為基礎的政策或以資源為基礎的政策來存取資源。
+ **[AWS 帳戶](#auth_access_controlling-principal-accounts)**— 控制是否僅允許特定帳戶的成員發出請求。

### 控制 委託人的存取權限
<a name="auth_access_controlling-principals"></a>

許可政策會控制身為委託人的您可允許執行的動作。管理員必須將身分型許可政策連接到可提供許可的身分 (使用者、群組或角色)。許可政策允許或存取 AWS。管理員也可以設定 IAM 實體 (使用者或角色) 的許可界限，以定義實體可擁有的最大許可。許可界限是進階 IAM 功能。如需有關許可界限的詳細資訊，請參閱[IAM 身份的許可界限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)中的*IAM 使用者指南*。

如需詳細資訊和如何控制主參與者 AWS 存取的範例，請參閱[控制主參與者的存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html#access_controlling-principals)中的*IAM 使用者指南*。

### 控制身份的存取
<a name="auth_access_controlling-identities"></a>

管理員可以建立政策限制對身分可執行的動作或是可存取的人員，藉以控制您可以對 IAM 身分 (使用者、群組或角色) 執行的動作。然後，他們會將該政策連接到提供您許可的身分。

例如，管理員可能允許您為三個特定的使用者重設密碼。為此，他們會將政策連接到 IAM 使用者，您可以選擇僅為自己和具有三個指定使用者 ARN 的使用者重設密碼。這可讓您重設團隊成員的密碼，但非其他 IAM 使用者。

如需使用政策控制 AWS 身分存取的詳細資訊和範例，請參閱[控制身份的存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html#access_controlling-identities)中的*IAM 使用者指南*。

### 控制原則的存取
<a name="auth_access_controlling-policies"></a>

管理員可控制哪些使用者可以建立、編輯和刪除客戶受管政策，以及哪些使用者可以連接和分離所有受管政策。當您檢閱政策時，您可以檢視政策摘要，其中包括該政策內每項服務的存取層級摘要。AWS 將每個服務動作分類為四個動作之一*存取層級*基於每個動作的作用：`List`、`Read`、`Write`, 或`Permissions management`。您可以使用這些存取層級，來判斷哪些動作要包含到您的政策中。如需詳細資訊，請參閱「」[了解政策摘要中的存取層級摘要](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_understand-policy-summary-access-level-summaries.html)中的*IAM 使用者指南*。

**警告**  
您應該限制`Permissions Management`的存取層級許可。否則，您的帳戶成員可以為自己建立政策，擁有比應有更多的許可。或者，他們可以建立能夠完全存取 AWS 的個別使用者。

如需詳細資訊和如何控制 AWS 對政策的存取權限的範例，請參閱[控制原則的存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html#access_controlling-policies)中的*IAM 使用者指南*。

### 控制 資源的存取權限
<a name="auth_access_controlling-resources"></a>

管理員可以控制哪些使用者有權使用以身分為基礎的政策或以資源為基礎的政策來存取資源。在以身分為基礎的政策中，您將政策附加到一個身分並指定該身分可以存取哪些資源。在以資源為基礎的政策中，您將政策附加到要控制的資源。在該政策中，您指定哪些委託人可以存取該資源。

如需詳細資訊，請參閱「」[控制資源的存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html#access_controlling-resources)中的*IAM 使用者指南*。

#### 資源建立者沒有自動具有權限
<a name="NoDefaultPermissions"></a>

帳戶內的所有資源由帳戶擁有，無論這些資源的建立者是誰。AWS 帳戶根使用者是帳戶擁有者，因此具有可在帳號中任何資源上執行任何動作的許可。

**重要**  
強烈建議您不要以根使用者處理日常作業，即使是管理作業。反之，請遵循[僅使用根使用者建立您第一個 IAM 使用者的最佳實務](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#create-iam-users)。接著請妥善鎖定根使用者登入資料，只用來執行少數的帳戶與服務管理作業。若要檢視需要您以根使用者身分登入的工作，請參閱[需要根使用者的 AWS 任務](https://docs.aws.amazon.com/general/latest/gr/aws_tasks-that-require-root.html)。

必須授與 AWS 帳戶中的實體 (使用者或角色) 存取權以建立資源。不過，即使他們建立資源也不表示他們會自動擁有存取該資源的完整權限。管理員必須明確為每個動作授予許可。此外，管理員隨時可以撤銷這些許可，只要管理使用者和角色許可。

### 控制對不同帳戶中委託人的存取
<a name="auth_access_controlling-principal-accounts"></a>

管理員可以使用 AWS 資源型政策、IAM 跨帳戶角色或 AWS Organizations 服務，讓其他帳戶中的主管人員可以存取您帳戶中的資源。

對於某些 AWS 服務，管理員可以授與跨帳戶存取資源的許可。為此，管理員會將政策直接將政策連接到他們要分享的資源，而不是以代理方式使用角色。如果服務支援此政策類型，則管理員共用的資源也必須支援資源型政策。不像以使用者為基礎的政策，以資源為基礎的政策會指定誰可以存取該資源 (以 AWS 帳戶 ID 號碼清單形式)。全域加速器不支援資源類型政策。

以資源為基礎的政策的跨帳戶存取比角色更具有優勢。若使用透過資源型政策存取的資源，委託人 (人員或應用程式) 仍可在信任的帳戶中運作，不需放棄其使用者許可，而代之以角色許可。換言之，委託人可同時在受信任的帳戶*和*信任的帳戶中存取資源。這對於某些任務很實用，例如從一個帳戶複製資訊到另一個帳戶。如需有關使用跨帳戶角色的詳細資訊，請參閱[在您擁有的另一個 AWS 帳戶中提供 IAM 使用者存取權限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html)中的*IAM 使用者指南*。

AWS Organizations 為您擁有的多個 AWS 帳戶提供以政策為基礎的管理。使用 Organizations，您可以建立帳戶群組、自動化帳戶的建立、套用和管理這些群組的政策。Organizations 可讓您集中管理多個帳戶的政策，而不需要自訂指令碼和手動程序。使用 AWS Organizations，您可以建立服務控制政策 (SCP) 來集中控制 AWS 服務的 AWS 服務使用。如需詳細資訊，請參閱「」[什麼是 AWS Organizations？](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)中的*AWS Organizations 使用者指南*。

## 什麼是政策？
<a name="auth_access_what-are-policies"></a>

您可以透過建立政策並將其連接到 IAM 身分或 AWS 資源，在 AWS 中控制存取。

**注意**  
若要快速開始使用，您可以忽略此頁面。首先，檢閱上的入門資訊[AWS Global Accelerator 的 Identity and Access Management](auth-and-access-control.md)，然後參閱[入門 IAM](#auth_access_getting-started)。

政策為 AWS 中的一個物件，當與實體或資源相關聯時，會定義它們的許可。當像使用者這類的委託人提出請求時，AWS 會評估這些政策。政策中的許可，決定是否允許或拒絕請求。大部分政策以 JSON 文件形式存放在 AWS 中。

IAM 政策定義該動作的許可，無論您使用何種方法來執行操作。例如，如果原則允許[GetUser](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUser.html)動作，則具有該政策的使用者可以從 AWS 管理主控台、AWS CLI 或 AWS API 取得使用者資訊。當您建立 IAM 使用者時，您可以設定使用者以允許主控台存取或程式化存取。IAM 使用者可以利用使用者名稱和密碼登入主控台。或者，使用存取金鑰以使用 CLI 或 API。

以下政策類型 (按頻率列出) 會影響請求是否能獲授權。如需詳細資訊，請參閱「」。[政策類型](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policy-types)中的*IAM 使用者指南*。

**以身分為基礎的政策**  
您可以將受管和內嵌政策連接到 IAM 身分 (使用者與使用者所屬的群組和角色)。

**以資源為基礎的政策**  
您可以在某些 AWS 服務中將內嵌政策連接到資源。以資源為基礎的政策的最常見範例是 Amazon S3 儲存貯體政策和 IAM 角色信任政策。全域加速器不支援資源類型政策。

**Organizations SCP**  
您可以使用 AWS Organizations 服務控制政策 (SCP) 將許可界限套用到 AWS Organizations 或組織單位 (OU)。這些許可會套用到成員帳戶中的所有實體。

**存取控制清單 (ACL)**  
您可以使用 ACL 控制哪些委託人可以存取資源。ACL 類似以資源為基礎的政策，雖然是不使用 JSON 政策文件結構的唯一政策類型。全域加速器支援 OR 不支援 ACL。

這些政策類型可歸類為*許可政策*或*許可界限*。

**許可政策**  
您可以將許可政策連接到 AWS 中的資源來定義該物件的許可。在單一帳戶內，AWS 將所有許可政策一起做評估。許可政策是最常見的政策。您可以使用以下政策類型做為許可政策：    
**以身分為基礎的政策**  
當您將受管或內嵌政策連接到 IAM 使用者、群組或角色，該政策會定義實體的許可。  
**以資源為基礎的政策**  
當您將 JSON 政策文件連接到資源，您會定義該資源的許可。該服務必須支援以資源為基礎的政策。  
**存取控制清單 (ACL)**  
當您將 ACL 連接到資源，您會定義具有存取該資源許可的委託人清單。資源必須支援 ACL。

**許可界限**  
您可以使用政策來定義實體 (使用者或角色) 的許可界限。許可界限控制實體可以擁有的許可上限。許可界限是進階 AWS 功能。當在請求中套用多個許可界限，AWS 會個別評估每個許可界限。您可以在下列情況套用許可界限：    
**組織**  
您可以使用 AWS Organizations 服務控制政策 (SCP) 將許可界限套用到 AWS Organizations 或組織單位 (OU)。  
**IAM 使用者或角色**  
您可以針對使用者使用受管政策或角色的許可界限。如需詳細資訊，請參閱「」[IAM 實體的許可界限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)中的*IAM 使用者指南*。

**Topics**
+ [以身分為基礎的政策](#auth_access_manage-access-intro-identity-policies)
+ [以資源為基礎的政策](#auth_access_manage-access-intro-resource-policies)
+ [原則存取層級分類](#auth_access_policies-access-level)

### 以身分為基礎的政策
<a name="auth_access_manage-access-intro-identity-policies"></a>

您可以將政策連接到 IAM 身分。例如，您可以執行下列操作：

**將許可政策連接到您帳戶中的使用者或群組**  
若要將建立 AWS Global Access 資源 (例如加速器) 的許可授予使用者，您可以將許可政策連接至使用者或使用者所屬的群組。

**將許可政策連接至角色 (授予跨帳戶許可)**  
您可以將以身分為基礎的許可政策連接到 IAM 角色，以授與跨帳戶許可。例如，帳戶 A 管理員可以建立角色，來授予橫跨另一個 AWS 帳戶 (如帳戶 B) 或 AWS 服務的跨帳戶許可，如下所示：  

1. 帳戶 A 管理員建立 IAM 角色，並將許可政策連接到可授予帳戶 A 中資源許可的角色。

1. 帳戶 A 管理員會將信任政策連接至將帳戶 B 識別為可擔任角色之委託人的角色。

1. 帳戶 B 管理員接著可將擔任該角色的許可委派給帳戶 B 的任何使用者，如此可讓帳戶 B 的使用者建立或存取帳戶 A 的資源。如果您想要將擔任該角色的許可授予 AWS 服務，則信任政策的委託人也可以是 AWS 服務委託人。
如需使用 IAM 來委派許可的詳細資訊，請參閱[存取管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)中的*IAM 使用者指南*。

如需使用者、群組、角色和許可的詳細資訊，請參閱[身分 (使用者、群組和角色)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)中的*IAM 使用者指南*。

以下是可搭配全域加速器使用的兩個政策範例第一個範例政策授與使用者以程式設計方式存取 AWS 帳戶中加速器的所有「清單」和「說明」動作：

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "globalaccelerator:List*",
                "globalaccelerator:Describe*"
            ],
            "Resource": "*"
        }
    ]
}
```

下列範例會授與程式設計存取`ListAccelerators`操作：

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "globalaccelerator:ListAccelerators",
            ],
            "Resource": "*"
        }
    ]
}
```

### 以資源為基礎的政策
<a name="auth_access_manage-access-intro-resource-policies"></a>

以資源為基礎的政策是連接到資源的 JSON 政策文件。以資源為基礎政策則可控制指定委託人在何種條件下對哪些資源執行哪些動作。最常見的資源型政策是 Amazon S3 儲存貯體。資源型政策是只存在於資源上的內嵌政策。不存在受管的以資源為基礎的政策。

使用資源型政策對其他 AWS 帳戶的成員授與權限對於 IAM 角色有一些優勢。如需詳細資訊，請參閱「」[IAM 角色與資源類型政策有何差異](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html)中的*IAM 使用者指南*。

### 原則存取層級分類
<a name="auth_access_policies-access-level"></a>

在 IAM 主控台，會使用以下存取層級分類來將動作分組：

**列出**  
提供許可來列出服務內資源，以判斷物件是否存在。具有此層級存取權的動作，可以列出物件，但無法查看資源的內容。具有 **List (清單)** 存取層級的多數動作無法在特定資源上執行。當您使用這些動作建立政策陳述式，您必須指定 **All resources (所有資源)** (`"*"`)。

**閱讀**  
提供許可來讀取但無法編輯服務內資源的內容和屬性。例如，Amazon S3 操作`GetObject`和`GetBucketLocation`擁有**閱讀**存取層級。

**寫入**  
提供許可來建立、刪除或修改服務內的資源。例如，Amazon S3 操作`CreateBucket`、`DeleteBucket`，以及`PutObject`擁有**寫入**存取層級。

**許可管理**  
提供許可來授予或修改服務內的資源許可。例如，大多數 IAM 和 AWS Organizations 政策動作具有**許可管理**存取層級。  
**Tip**  
為了改善 AWS 帳戶的安全性，請限制或定期監控包含**許可管理**存取層級分類。

**標記**  
提供許可來建立、刪除或修改附加到服務內資源的標籤。例如，Amazon EC2`CreateTags`和`DeleteTags`操作具有**標記**存取層級。

## 入門 IAM
<a name="auth_access_getting-started"></a>

AWS Identity and Access Management (IAM) 是一種 AWS 服務，可讓您安全地管理服務和資源的存取權。IAM 是 AWS 帳戶可享的一項功能，無須額外付費。

**注意**  
在您開始使用 IAM 之前，請檢閱上的[AWS Global Accelerator 的 Identity and Access Management](auth-and-access-control.md)。

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

### 建立 IAM 管理員使用者
<a name="auth_access_setup-iam-admin"></a>

**為您自己建立一個管理員使用者，並將使用者新增至管理員群組 (主控台)**

1. 登入。[IAM 主控台](https://console.aws.amazon.com/iam/)作為帳戶擁有者，請選擇**根使用者**並輸入您的 AWS 帳戶電子郵件地址。在下一頁中，輸入您的密碼。
**注意**  
強烈建議您遵循使用**Administrator**IAM 使用者會遵循並妥善鎖定根使用者登入資料。只在需要執行少數[帳戶和服務管理任務](https://docs.aws.amazon.com/general/latest/gr/aws_tasks-that-require-root.html)時，才以根使用者身分登入。

1. 在導覽窗格中，選擇 **Users** (使用者)，然後選擇 **Add user** (新增使用者)。

1. 在 **User name (使用者名稱)** 中輸入 **Administrator**。

1. 選取 **AWS Management Console access (AWS 管理主控台存取)** 旁的核取方塊。然後選取 **Custom password (自訂密碼)**，接著在文字方塊中輸入您的新密碼。

1. (選用) 根據預設，AWS 會要求新使用者在第一次登入時建立新密碼。您可以清除 **User must create a new password at next sign-in (使用者下次登入必須建立新的密碼)** 旁的核取方塊，讓新使用者登入時可以重設密碼。

1. 選擇**下一頁: 許可。**

1. 在 **Set permissions (設定許可)** 下，選擇 **Add user to group (將使用者新增至群組)**。

1. 選擇 **Create group** (建立群組)。

1. 在 **Create group (建立群組)** 對話方塊中，請於 **Group name (群組名稱)** 輸入 **Administrators**。

1. 選擇**篩選政策**，然後選取**AWS 託管-工作功能**來篩選表格內容。

1. 在政策清單中，選取 **AdministratorAccess** 的核取方塊。接著選擇 **Create group (建立群組)**。
**注意**  
您必須先啟用 IAM 使用者和角色對帳單的存取權，才能使用 `AdministratorAccess` 許可存取 AWS 帳單和成本管理主控台。若要這樣做，請遵循[委派對帳單主控台的存取權相關教學課程的步驟 1](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_billing.html) 中的指示。

1. 回到群組清單，選取新群組的核取方塊。必要時，選擇 **Refresh (重新整理)** 以顯示清單中的群組。

1. 選擇**下一頁: Tags (標籤)**。

1. (選用) 藉由附加標籤做為索引鍵/值組，將中繼資料新增至使用者。如需有關在 IAM 中使用標籤的詳細資訊，請參閱[標記 IAM 實體](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)中的*IAM 使用者指南*。

1. 選擇**下一頁: 檢閱**以查看要新增至新使用者的群組成員資格清單。準備好繼續時，請選擇 **Create user (建立使用者)**。

您可以使用這個相同的程序建立更多群組和使用者，以及讓使用者能夠存取您的 AWS 帳戶資源。如需了解以政策限制使用者對特定 AWS 資源的許可，請參閱[存取管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)和[政策範例](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_examples.html)。

### 為 Global Accelerator 建立委派使用者
<a name="auth_access_setup-iam-delegated"></a>

若要支援 AWS 帳戶中的多個使用者，您必須委派許可，讓其他人員能夠執行您允許的動作。若要這樣做，請使用者需要的許可建立 IAM 群組，然後在您建立 IAM 使用者時，將 IAM 使用者新增到必要的群組。您可以使用此程序來設定您整個 AWS 帳戶的群組、使用者和許可。中小型組織最適合使用此解決方案，其中 AWS 管理員可以手動管理使用者和群組。對於大型組織，您可以使用[自訂 IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html)、[聯合](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html), 或[單一登入](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)。

在下列程序中，您會建立名為的三個使用者**arnav**、**carlos**，以及**martha**，並附加授與權限的政策，以建立名為**my-example-accelerator**，但僅在接下來的 30 天內。您可以使用這裡提供的步驟，透過不同許可新增使用者。

**為另一人建立委派使用者 (主控台)**

1. 登入 AWS 管理主控台，然後前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在導覽窗格中，選擇 **使用者**，然後選擇 **新增使用者**。

1. 在 **User name (使用者名稱)** 中輸入 **arnav**。

1. 選擇 **Add another user (新增其他使用者)** 並為第二個使用者輸入 **carlos**。然後選擇 **Add another user (新增其他使用者)** 並為第三個使用者輸入 **martha**。

1. 選取**AWS 管理主控台存取**，然後選取**自動產生密碼**。

1. 清除 **User must create a new password at next sign-in (使用者下次登入必須建立新的密碼)** 旁的核取方塊，讓新使用者登入時可以重設密碼。

1. 選擇**下一頁: 許可。**

1. 選擇 **Attach existing policies directly** (直接連接現有政策)。您將為使用者建立新的受管政策。

1. 選擇 **Create policy** (建立政策)。

   **Create policy (建立政策)** 精靈會在新索引標籤或瀏覽器視窗中開啟。

1. 在 **Visual editor** (視覺化編輯器) 標籤上，選擇 **Choose a service** (選擇一項服務)。然後選擇 Global Accelerator。您可用上方的搜尋框來限制服務清單中的結果。

   所以此**Service (服務)**區段會關閉，並且**動作**區段會自動開啟。

1. 選擇您要允許的全域加速器動作。例如，若要授予建立加速器的許可，請輸入**`globalaccelerator:CreateAccelerator`**中的**篩選動作**文字方塊。當全域加速器動作清單已篩選，請選取**`globalaccelerator:CreateAccelerator`**。

   全域加速器動作依存取層級分類分組，讓您能夠輕鬆快速地判斷每個動作提供的存取層級。如需詳細資訊，請參閱 [原則存取層級分類](#auth_access_policies-access-level)。

1. 如果在前面步驟中選擇的動作不支援選擇特定資源，則**所有資源**已為您選取。在該情況下，您不能編輯此區塊。

   如果選擇一個或多個支援資源等級許可的動作，視覺化編輯器將在 **Resources (資源)** 區段列出這些資源類型。選擇**您選擇了需要**加速器**資源類型**，選擇是否要為政策輸入特定加速器。

1. 如果您想要針對所有資源允許 `globalaccelerator:CreateAccelerator` 動作，請選擇 **All resources (所有資源)**。

   如果您想要指定資源，請選擇 **Add ARN (新增 ARN)**。指定區域和帳戶 ID (或帳戶 ID) (或選擇**任何**)，然後輸入**my-example-accelerator**資源。接著選擇 **Add (新增)**。

1. 選擇 **Specify request conditions (optional) (指定請求條件 (選用))**。

1. 選擇**加入條件**，授與建立加速器的許可在未來 7 天內。假設今天日期為 2019 年 1 月 1 日。

1. 對於 **Condition Key (條件金鑰)**，請選擇 **aws:CurrentTime**。這個條件金鑰會檢查使用者提出請求的日期和時間。它會傳回 true，因此只有日期和時間在指定範圍內，才允許 **`globalaccelerator:CreateAccelerator`** 動作。

1. 適用於**限定詞**，請保留預設值。

1. 若要指定何時開始允許的日期和時間範圍，對於 **Operator (運算子)**，請選擇 **DateGreaterThan**。對於 **Value (價值)**，輸入 **2019-01-01T00:00:00Z**。

1. 選擇 **Add (新增)** 以儲存條件。

1. 選擇 **Add another condition (新增其他條件)** 來指定結束日期。

1. 按照類似的步驟，指定何時結束允許的日期和時間範圍。對於 **Condition Key (條件金鑰)**，請選擇 **aws:CurrentTime**。對於 **Operator (運算子)**，選擇 **DateLessThan**。對於 **Value (值)**，輸入 **2019-01-06T23:59:59Z** (第一個日期後 7 天)。然後選擇 **Add (新增)** 以儲存條件。

1. (選用) 若要查看您正在建立的政策之 JSON 政策文件，請選擇**JSON**索引標籤。您可以隨時切換 **Visual editor (視覺化編輯器)** 與 **JSON** 標籤。但是，如果您進行變更或選擇**檢閱政策**中的**Visual editor (視覺化編輯器)**索引標籤上，IAM 可能會調整您的政策結構以針對視覺編輯工具進行最佳化。如需詳細資訊，請參閱「」[調整政策結構](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)中的*IAM 使用者指南*。

1. 完成時，選擇 **Review policy** (檢閱政策)。

1. 在**檢閱政策**(用於) 頁面上的**名稱**，輸入**`globalaccelerator:CreateAccelerator`Policy**。對於 **Description (說明)**，輸入 **Policy to grants permission to create an accelerator**。檢閱政策摘要以確認您已授予所需的許可，然後選擇 **Create policy** (建立政策) 來儲存您的新政策。

1. 返回原始索引標籤或視窗，並重新整理您的政策清單。

1. 在搜尋方塊中，輸入 **`globalaccelerator:CreateAccelerator`Policy**。選取新政策旁邊的核取方塊。然後選擇 **Next Step (下一步)**。

1. 選擇**下一頁: 檢閱**預覽您的新使用者。準備好繼續時，請選擇 **Create user (建立使用者)**。

1. 下載或複製新使用者的密碼，並安全地將其傳送給使用者。另外，為使用者提供[連結至您的 IAM 使用者主控台頁面](https://docs.aws.amazon.com/IAM/latest/UserGuide/console.html#user-sign-in-page)和您剛建立的使用者名稱。

### 允許使用者自行管理其認證
<a name="auth_access_manage-password-mfa"></a>

您必須擁有實體存取託管使用者的虛擬 MFA 裝置的硬體，才能設定 MFA。例如，您可以為使用者設定 MFA，該使用者將使用在智慧型手機上執行的虛擬 MFA 裝置。在這種情況下，您必須有可用的智慧型手機，才能完成精靈。因此，您可能想要讓使用者設定和管理自己的虛擬 MFA 裝置。在這種情況下，您必須授與使用者執行必要 IAM 動作的許可。

**建立政策以允許登入資料自我管理 (主控台)**

1. 登入 AWS 管理主控台，然後前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在導覽窗格中，選擇 **Policies (政策)**，然後選擇 **Create policy (建立政策)**。

1. 選擇 **JSON** 標籤並從下列 JSON 政策文件複製文字。將此文字貼上至 **JSON** 文字方框中。
**重要**  
本範例政策不允許使用者在登入時重設密碼。新使用者和密碼過期的使用者可以執行此操作。您可以透過將 `iam:ChangePassword` 和 `iam:CreateLoginProfile` 新增至 `BlockMostAccessUnlessSignedInWithMFA` 陳述式，來允許這項作業。但是，IAM 不建議執行此作業。

   ```
   {
       "Version": "2012-10-17",
       "Statement": [
           {
               "Sid": "AllowAllUsersToListAccounts",
               "Effect": "Allow",
               "Action": [
                   "iam:ListAccountAliases",
                   "iam:ListUsers",
                   "iam:ListVirtualMFADevices",
                   "iam:GetAccountPasswordPolicy",
                   "iam:GetAccountSummary"
               ],
               "Resource": "*"
           },
           {
               "Sid": "AllowIndividualUserToSeeAndManageOnlyTheirOwnAccountInformation",
               "Effect": "Allow",
               "Action": [
                   "iam:ChangePassword",
                   "iam:CreateAccessKey",
                   "iam:CreateLoginProfile",
                   "iam:DeleteAccessKey",
                   "iam:DeleteLoginProfile",
                   "iam:GetLoginProfile",
                   "iam:ListAccessKeys",
                   "iam:UpdateAccessKey",
                   "iam:UpdateLoginProfile",
                   "iam:ListSigningCertificates",
                   "iam:DeleteSigningCertificate",
                   "iam:UpdateSigningCertificate",
                   "iam:UploadSigningCertificate",
                   "iam:ListSSHPublicKeys",
                   "iam:GetSSHPublicKey",
                   "iam:DeleteSSHPublicKey",
                   "iam:UpdateSSHPublicKey",
                   "iam:UploadSSHPublicKey"
               ],
               "Resource": "arn:aws:iam::*:user/${aws:username}"
           },
           {
               "Sid": "AllowIndividualUserToViewAndManageTheirOwnMFA",
               "Effect": "Allow",
               "Action": [
                   "iam:CreateVirtualMFADevice",
                   "iam:DeleteVirtualMFADevice",
                   "iam:EnableMFADevice",
                   "iam:ListMFADevices",
                   "iam:ResyncMFADevice"
               ],
               "Resource": [
                   "arn:aws:iam::*:mfa/${aws:username}",
                   "arn:aws:iam::*:user/${aws:username}"
               ]
           },
           {
               "Sid": "AllowIndividualUserToDeactivateOnlyTheirOwnMFAOnlyWhenUsingMFA",
               "Effect": "Allow",
               "Action": [
                   "iam:DeactivateMFADevice"
               ],
               "Resource": [
                   "arn:aws:iam::*:mfa/${aws:username}",
                   "arn:aws:iam::*:user/${aws:username}"
               ],
               "Condition": {
                   "Bool": {
                       "aws:MultiFactorAuthPresent": "true"
                   }
               }
           },
           {
               "Sid": "BlockMostAccessUnlessSignedInWithMFA",
               "Effect": "Deny",
               "NotAction": [
                   "iam:CreateVirtualMFADevice",
                   "iam:DeleteVirtualMFADevice",
                   "iam:ListVirtualMFADevices",
                   "iam:EnableMFADevice",
                   "iam:ResyncMFADevice",
                   "iam:ListAccountAliases",
                   "iam:ListUsers",
                   "iam:ListSSHPublicKeys",
                   "iam:ListAccessKeys",
                   "iam:ListServiceSpecificCredentials",
                   "iam:ListMFADevices",
                   "iam:GetAccountSummary",
                   "sts:GetSessionToken"
               ],
               "Resource": "*",
               "Condition": {
                   "BoolIfExists": {
                       "aws:MultiFactorAuthPresent": "false"
                   }
               }
           }
       ]
   }
   ```

   此政策的功能為何？ 
   + 所以此`AllowAllUsersToListAccounts`陳述式可讓使用者在 IAM 主控台中查看帳戶及其使用者的基本資訊。這些許可必須位於自己的陳述式中，因為它們不支援或不需要指定特定的資源 ARN，而需要指定 `"Resource" : "*"`。
   + 所以此`AllowIndividualUserToSeeAndManageOnlyTheirOwnAccountInformation`陳述式可讓使用者在 IAM 主控台中管理自己的使用者、密碼、存取金鑰、簽章憑證、SSH 公有金鑰和 MFA 資訊。還允許使用者首次登錄，管理員要求使用者設置首次密碼。資源 ARN 僅限在使用者自己的 IAM 使用者實體中使用這些許可。
   + 第 `AllowIndividualUserToViewAndManageTheirOwnMFA` 個陳述式讓使用者預先檢視或管理其 MFA 裝置。請注意，此陳述式中的資源 ARN 僅允許存取 MFA 裝置，或者與目前登入使用者完全同名的使用者。使用者不能建立或更改除自己裝置外的任何 MFA 裝置。
   + 使用者可以透過第 `AllowIndividualUserToDeactivateOnlyTheirOwnMFAOnlyWhenUsingMFA` 個陳述式單獨停用自己的 MFA 裝置 (僅在使用者使用 MFA 登入時)。這可防止僅具有存取金鑰 (沒有 MFA 裝置) 的其他使用者停用 MFA 裝置，並存取其帳戶。
   + 所以此`BlockMostAccessUnlessSignedInWithMFA`陳述式會使用`"Deny"`和`"NotAction"`拒絕存取 IAM 和其他 AWS 服務中的一些動作以外的所有動作***如***使用者未使用 MFA 登入。如需更多此陳述式邏輯的資訊，請參閱[帶拒絕的 NotAction](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notaction.html)中的*IAM 使用者指南*。如果使用者使用 MFA 登入，則 `"Condition"` 測試失敗，最後一個「拒絕」陳述式失效；使用者的政策或陳述式可能會判斷使用者的許可。此陳述式可確保當使用者日後不使用 MFA 登入時，他們只能執行所列的動作，而且只有在另一個陳述式或政策允許存取這些動作時才行。

     `...IfExists` 運算子的 `Bool` 版本會確認，如果 `aws:MultiFactorAuthPresent` 金鑰遺失，條件將返回 true。這就表示，拒絕使用長期登入資料 (如存取金鑰) 存取 API 的使用者存取為非 IAM API 操作。

1. 完成時，選擇 **Review policy** (檢閱政策)。

1. 在 **Review (檢閱)** 頁面上，針對政策名稱輸入 **Force\$1MFA**。如需政策描述，請輸入**This policy allows users to manage their own passwords and MFA devices but nothing else unless they authenticate with MFA.**檢閱政策**摘要**以查看您的政策授予的許可，然後選擇**建立政策**儲存您的工作。

   新的政策會出現在受管政策清單中，並且已準備好連接。

**將政策連接至使用者 (主控台)**

1. 在導覽窗格中，選擇 **Users** (使用者)。

1. 選擇您要編輯的使用者的名稱 (而非核取方塊)。

1. 在 **Permissions (許可)** 標籤上，選擇 **Add permissions (新增許可)**。

1. 選擇 **Attach existing policies directly** (直接連接現有政策)。

1. 在搜尋方塊中，輸入 **Force**，然後在清單中選擇 **Force\$1MFA** 旁的核取方塊。然後選擇 **Next (下一步)：檢閱**。

1. 檢閱您的變更，然後選擇 **Add permissions (新增許可)**。

### 為 IAM 使用者啟用 MFA
<a name="auth_access_enable-mfa"></a>

為了提高安全性，我們建議所有 IAM 使用者設定多重驗證 (MFA) 以協助保護您的全球加速器資源。MFA 可增加額外的安全，因為它會要求使用者在標準登入資料外，從支援 AWS 的 MFA 裝置提供唯一的身份驗證。最安全的 AWS MFA 裝置是 U2F 安全金鑰。如果您的公司已有 U2F 裝置，則我們建議您為 AWS 啟用這些裝置。否則，您必須為每個使用者購買裝置，並等待硬體送達。如需詳細資訊，請參閱「」[啟用 U2F 安全金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_enable_u2f.html)中的*IAM 使用者指南*。

如果您還沒有 U2F 裝置，您可以啟用虛擬 MFA 裝置，以低成本的方式快速開始。這需要您在現有的手機或其他行動裝置上安裝軟體應用程式。裝置會根據時間同步的一次性密碼演算法產生六位數字代碼。當使用者登入 AWS，會收到提示輸入裝置的代碼。每個指派給使用者的虛擬 MFA 裝置都必須是唯一的。使用者無法輸入另一個使用者虛擬 MFA 裝置的代碼來進行身份驗證。如需可以用來做為虛擬 MFA 裝置的支援應用程式清單，請參閱 [Multi-Factor Authentication](https://aws.amazon.com/iam/details/mfa/)。

**注意**  
您必須擁有實體存取託管使用者虛擬 MFA 裝置的行動裝置的行動裝置，才能為 IAM 使用者設定 MFA。

**針對 IAM 使用者啟用虛擬 MFA 裝置 (主控台)**

1. 登入 AWS 管理主控台，然後前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在導覽窗格中，選擇 **Users** (使用者)。

1. 在 **User Name (使用者名稱)** 清單中，選擇適用的 MFA 使用者名稱。

1. 選擇 **Security credentials** (安全登入資料) 標籤。在 **Assigned MFA device (指派的 MFA 裝置)** 旁，選擇 **Manage (管理)**。

1. 在 **Manage MFA Device (管理 MFA 裝置)** 精靈中，選擇 **Virtual MFA device (虛擬 MFA 裝置)**，然後選擇 **Continue (繼續)**。

   IAM 會產生並顯示虛擬 MFA 裝置的配置資訊，包括 QR 代碼圖形。此圖形代表「私密組態金鑰」，可用來在不支援 QR 碼的裝置上手動輸入。

1. 開啟您的虛擬 MFA 應用程式。

   如需可以用於託管虛擬 MFA 裝置的應用程式清單，請參閱 [Multi-Factor Authentication](https://aws.amazon.com/iam/details/mfa/)。如果虛擬 MFA 應用程式支援多個帳戶 (多個虛擬 MFA 裝置)，請選擇對應的選項以建立新帳戶 (新的虛擬 MFA 裝置)。

1. 判定 MFA 應用程式是否支援 QR 碼，然後執行以下操作之一：
   + 從精靈中，選擇 **Show QR code (顯示 QR 碼)**，然後使用應用程式掃描 QR 碼。例如，您可選擇相機圖示或選擇與 **Scan code (掃描代碼)** 類似的選項，然後使用裝置的相機掃描此代碼。
   + 在 **Manage MFA Device (管理 MFA 裝置)** 精靈中，選擇 **Show secret key (顯示私密金鑰)**，然後在您的 MFA 應用程式中輸入私密金鑰。

   完成操作後，虛擬 MFA 裝置會開始產生一次性密碼。

1. 在 **Manage MFA Device (管理 MFA 裝置)** 精靈中的 **MFA code 1 (MFA 代碼 1)** 方塊內，輸入虛擬 MFA 裝置上目前顯示的一次性密碼。請等待 30 秒，裝置將產生新的一次性密碼。然後將第二個一次性密碼輸入 **MFA code 2 (MFA 代碼 2)** 方塊中。選擇 **Assign MFA (指派 MFA)**。
**重要**  
產生代碼之後立即提交您的請求。如果在產生代碼後等待很長時間才提交請求，MFA 裝置會成功地與使用者建立關聯，但 MFA 裝置不同步。會發生這種情況是因為定時式的一次性密碼(TOTP) 在過了一段短期時間候到期。這種情況下，您可以重新同步裝置。如需詳細資訊，請參閱「」[重新同步虛擬及硬體 MFA 裝置](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_sync.html)中的*IAM 使用者指南*。

   虛擬 MFA 裝置現已準備好與 AWS 一起使用。