

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

# 的身分和存取管理 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 不支援資源層級許可。您必須使用 \* 萬用字元來指定所有 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"
]
```

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

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

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

```
"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":"*"
   }
}
```