

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

# 的身分和存取管理 AWS CloudHSM
<a name="identity-access-management"></a>

AWS 使用安全登入資料來識別您並授予您對 AWS 資源的存取權。您可以使用 AWS Identity and Access Management (IAM) 的功能，允許其他使用者、服務和應用程式完整或有限地使用您的 AWS 資源。您可以在不共用您的安全登入資料的情況下執行這項操作。

預設情況下，IAM 使用者沒有可建立、檢視或修改 AWS 資源的許可。若要允許 IAM 使用者存取資源 (例如負載平衡器)，並執行工作，您可以：

1. 建立 IAM 政策以准許 IAM 使用者使用他們所需的特定資源和 API 動作。

1. 將政策連接到 IAM 使用者所屬的 IAM 使用者或群組。

將政策連接到使用者或使用者群組時，政策會允許或拒絕使用者在特定資源上執行特定任務的許可。

例如，您可以使用 IAM 在 AWS 帳戶下建立使用者與群組。IAM 使用者可以是個人、系統或應用程式。然後，您需要使用 IAM 政策，將許可授予使用者和群組在指定資源上執行特定動作。

## 使用 IAM 政策授予許可
<a name="iam-policies"></a>

將政策連接到使用者或使用者群組時，政策會允許或拒絕使用者在特定資源上執行特定任務的許可。

IAM 政策為包含一或多個陳述式的 JSON 文件。

下列 IAM 政策範例允許使用者描述美國東部 （維吉尼亞北部） 的 AWS CloudHSM 備份。僅允許描述來自美國東部 （維吉尼亞北部） 的請求。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "cloudhsm:DescribeBackups",
      "Resource": "arn:aws:cloudhsm:us-east-1:123456789012:backup/*",
      "Condition": {
        "StringEquals": {
          "aws:RequestedRegion": "us-east-1"
         }
      }
    }
  ]
}
```

------
+ **Effect**：*Effect* 可以是 `Allow` 或 `Deny`。根據預設，IAM 使用者沒有使用資源和 API 動作的許可，因此所有請求均會遭到拒絕。明確允許覆寫預設值。明確拒絕覆寫任何允許。
+ **Action**：*Action* 是您授予或拒絕許可的特定 API 動作。如需有關指定*動作*的詳細資訊，請參閱 [的 API 動作 AWS CloudHSM](#api-actions)。
+ **資源** — 受 動作影響的資源。 AWS CloudHSM 不支援資源層級許可。您必須使用 \$1 萬用字元來指定所有 AWS CloudHSM 資源。
+ **Condition**：您可以選擇性地使用條件來控制政策何時生效。如需詳細資訊，請參閱[的條件索引鍵 AWS CloudHSM](#condition-keys)。

如需詳細資訊，請參閱《IAM 使用者指南》[https://docs.aws.amazon.com/IAM/latest/UserGuide/](https://docs.aws.amazon.com/IAM/latest/UserGuide/)。

## 的 API 動作 AWS CloudHSM
<a name="api-actions"></a>

在 IAM 政策陳述式的動作****元素中，您可以指定 AWS CloudHSM 提供的任何 API 動作。您必須以小寫字串 `cloudhsm:` 做為動作名稱的字首，如下列範例所示。

```
"Action": "cloudhsm:DescribeClusters"
```

若要在單一陳述式中指定多個動作，請將它們括在方括號中，並以逗號分隔，如下列範例所示。

```
"Action": [
    "cloudhsm:DescribeClusters",
    "cloudhsm:DescribeHsm"
]
```

您也可以使用 \$1 萬用字元指定多個動作。下列範例會指定 AWS CloudHSM 以 開頭的所有 API 動作名稱`List`。

```
"Action": "cloudhsm:List*"
```

若要指定 的所有 API 動作 AWS CloudHSM，請使用 \$1 萬用字元，如下列範例所示。

```
"Action": "cloudhsm:*"
```

如需 的 API 動作清單 AWS CloudHSM，請參閱[AWS CloudHSM 動作](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_Operations.html)。

## 的條件索引鍵 AWS CloudHSM
<a name="condition-keys"></a>

在建立政策時，您可以指定控制政策生效時機的條件。每個條件都包含一或多個索引鍵/值對。有全球條件金鑰和服務特定的條件金鑰。

AWS CloudHSM 沒有服務特定的內容索引鍵。

如需有關全域條件金鑰的詳細資訊，請參閱《IAM 使用者指南》**中的 [AWS 全域條件上下文金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

## 的預先定義 AWS 受管政策 AWS CloudHSM
<a name="predefined-policies"></a>

AWS 建立的受管政策會針對常用案例授予必要的許可。您可以根據 IAM 使用者對於 AWS CloudHSM 需要的存取權，將這些政策連接到 IAM 使用者：
+ **AWSCloudHSMFullAccess** — 授予使用 AWS CloudHSM 功能所需的完整存取權。
+ **AWSCloudHSMReadOnlyAccess** — 授予 AWS CloudHSM 功能的唯讀存取權。

## 的客戶受管政策 AWS CloudHSM
<a name="permissions-for-cloudhsm"></a>

建議您為 建立僅包含執行所需許可 AWS CloudHSM 的 IAM 管理員群組 AWS CloudHSM。將具有適當許可的政策連接至此群組。視需要將 IAM 使用者新增至群組。您新增的每個使用者都會繼承系統管理員群組的政策。

此外，我們建議您根據使用者需要的許可來建立其他使用者群組。這可確保只有受信任的使用者才能存取重要的 API 動作。例如，您可以建立一個使用者群組，用來授予叢集和 HSM 的唯讀存取權。由於此群組不允許使用者刪除叢集或 HSM，因此不受信任的使用者無法影響生產工作負載的可用性。

隨著隨時間增加新的 AWS CloudHSM 管理功能，您可以確保只有信任的使用者才能立即存取。透過在建立時指派有限的許可給政策，您可以稍後手動為其指派新的功能許可。

以下是 的範例政策 AWS CloudHSM。如需有關如何建立政策並將其附于 IAM 使用者群組的資訊，請參閱《IAM 使用者指南》**中在 [JSON 標籤上建立政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor)。

**範例**
+ [唯讀許可](#read-only-permissions)
+ [進階使用者許可](#power-user-permissions)
+ [管理許可](#admin-permissions)

**Example 範例：唯讀許可**  
此政策允許存取 `DescribeClusters` 和 `DescribeBackups` API 動作。它也包含特定 Amazon EC2 API 動作的其他許可。不過，此政策不允許使用者刪除叢集或 HSM。    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": {
      "Effect": "Allow",
      "Action": [
         "cloudhsm:DescribeClusters",
         "cloudhsm:DescribeBackups",
         "cloudhsm:ListTags"
      ],
      "Resource": "*"
   }
}
```

**Example 範例：進階使用者許可**  
此政策允許存取 API AWS CloudHSM 動作的子集。其中也包含特定 Amazon EC2 動作的其他許可。不過，此政策不允許使用者刪除叢集或 HSM。您必須包含 `iam:CreateServiceLinkedRole`動作， AWS CloudHSM 以允許 在帳戶中自動建立 **AWSServiceRoleForCloudHSM** 服務連結角色。此角色允許 AWS CloudHSM 記錄事件。如需詳細資訊，請參閱[的服務連結角色 AWS CloudHSM](service-linked-roles.md)。  
如需查看每個 API 的特定許可，請參閱《服務授權參考》**中的[適用於 AWS CloudHSM的操作、資源和條件金鑰](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudhsm.html)。  
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": {
      "Effect": "Allow",
      "Action": [
         "cloudhsm:DescribeClusters",
         "cloudhsm:DescribeBackups",
         "cloudhsm:CreateCluster",
         "cloudhsm:CreateHsm",
         "cloudhsm:RestoreBackup",
         "cloudhsm:CopyBackupToRegion",
         "cloudhsm:InitializeCluster",
         "cloudhsm:ListTags",
         "cloudhsm:TagResource",
         "cloudhsm:UntagResource",
         "ec2:CreateNetworkInterface",
         "ec2:DescribeNetworkInterfaces",
         "ec2:DescribeNetworkInterfaceAttribute",
         "ec2:DetachNetworkInterface",
         "ec2:DeleteNetworkInterface",
         "ec2:CreateSecurityGroup",
         "ec2:AuthorizeSecurityGroupIngress",
         "ec2:AuthorizeSecurityGroupEgress",
         "ec2:RevokeSecurityGroupEgress",
         "ec2:DescribeSecurityGroups",
         "ec2:DeleteSecurityGroup",
         "ec2:CreateTags",
         "ec2:DescribeVpcs",
         "ec2:DescribeSubnets",
         "iam:CreateServiceLinkedRole"
      ],
      "Resource": "*"
   }
}
```

**Example 範例：管理許可**  
此政策允許存取所有 AWS CloudHSM API 動作，包括刪除 HSMs和叢集的動作。其中也包含特定 Amazon EC2 動作的其他許可。您必須包含 `iam:CreateServiceLinkedRole`動作， AWS CloudHSM 以允許 在帳戶中自動建立 **AWSServiceRoleForCloudHSM** 服務連結角色。此角色允許 AWS CloudHSM 記錄事件。如需詳細資訊，請參閱[的服務連結角色 AWS CloudHSM](service-linked-roles.md)。    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":{
      "Effect":"Allow",
      "Action":[
         "cloudhsm:*",
         "ec2:CreateNetworkInterface",
         "ec2:DescribeNetworkInterfaces",
         "ec2:DescribeNetworkInterfaceAttribute",
         "ec2:DetachNetworkInterface",
         "ec2:DeleteNetworkInterface",
         "ec2:CreateSecurityGroup",
         "ec2:AuthorizeSecurityGroupIngress",
         "ec2:AuthorizeSecurityGroupEgress",
         "ec2:RevokeSecurityGroupEgress",
         "ec2:DescribeSecurityGroups",
         "ec2:DeleteSecurityGroup",
         "ec2:CreateTags",
         "ec2:DescribeVpcs",
         "ec2:DescribeSubnets",
         "iam:CreateServiceLinkedRole"
      ],
      "Resource":"*"
   }
}
```

# 的服務連結角色 AWS CloudHSM
<a name="service-linked-roles"></a>

您先前建立以[的客戶受管政策 AWS CloudHSM](identity-access-management.md#permissions-for-cloudhsm)包含 `iam:CreateServiceLinkedRole` action 的 IAM 政策。 AWS CloudHSM 定義名為 **AWSServiceRoleForCloudHSM** [的服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。角色由 預先定義， AWS CloudHSM 並包含 AWS CloudHSM 需要 代表您呼叫其他 AWS 服務的許可。此角色可讓您更輕鬆地設定服務，因為您不需要手動新增角色政策和信任政策許可。

角色政策允許 代表您 AWS CloudHSM 建立 Amazon CloudWatch Logs 日誌群組和日誌串流，以及寫入日誌事件。您可以在下面和 IAM 主控台中檢視此角色政策。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:DescribeLogStreams"
            ],
            "Resource": [
                "arn:aws:logs:*:*:*"
            ]
        }
    ]
}
```

------

**AWSServiceRoleForCloudHSM** 角色的信任政策允許 AWS CloudHSM 擔任該角色。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudhsm.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

## 建立服務連結角色 (自動)
<a name="create-slr-auto"></a>

AWS CloudHSM 如果您在建立 AWS CloudHSM 管理員群組時定義的許可中包含 `iam:CreateServiceLinkedRole`動作， 會在您建立叢集時建立 **AWSServiceRoleForCloudHSM** 角色。請參閱 [的客戶受管政策 AWS CloudHSM](identity-access-management.md#permissions-for-cloudhsm)。

如果您已經有一或多個叢集，而只想要新增 **AWSServiceRoleForCloudHSM** 角色，您可以使用主控台、[create-cluster](https://docs.aws.amazon.com/cli/latest/reference/cloudhsmv2/create-cluster.html) 命令或 [CreateCluster](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_CreateCluster.html) API 操作來建立叢集。然後，使用主控台、[delete-cluster](https://docs.aws.amazon.com/cli/latest/reference/cloudhsmv2/delete-cluster.html) 命令或 [DeleteCluster](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DeleteCluster.html) API 操作來刪除叢集。建立新叢集會建立服務連結角色，並將此角色套用到您帳戶中的所有叢集。或者，您可以手動建立角色。如需詳細資訊，請參閱下一節。

**注意**  
如果您只是為了新增 **AWSServiceRoleForCloudHSM** 角色而建立叢集，就不需要執行 [入門 AWS CloudHSM](getting-started.md) 中描述的所有步驟來建立叢集。

## 建立服務連結角色 (手動)
<a name="create-slr-manual"></a>

您可以使用 IAM 主控台 AWS CLI或 API 來建立 **AWSServiceRoleForCloudHSM** 角色。如需詳細資訊，請參閱 *IAM 使用者指南*中的[建立服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)。

## 編輯服務連結角色
<a name="edit-slr"></a>

AWS CloudHSM 不允許您編輯 **AWSServiceRoleForCloudHSM** 角色。例如，建立角色後，您無法變更其名稱，因為可能有各種實體依名稱來參考該角色。您也無法變更角色政策。但是，您可以使用 IAM 來編輯角色描述。如需更多資訊，請參閱《IAM 使用者指南》**中的[編輯服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

## 刪除 服務連結角色
<a name="delete-slr"></a>

只要已套用服務連結角色的叢集仍然存在，您就無法刪除此服務連結角色。若要刪除角色，您必須先刪除叢集中的每個 HSM，然後刪除叢集。您的帳戶中的每個叢集都必須刪除。然後，您可以使用 IAM 主控台 AWS CLI或 API 來刪除角色。如需刪除叢集的詳細資訊，請參閱[刪除 AWS CloudHSM 叢集](delete-cluster.md)。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[刪除服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。