

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 解决 AWS CloudHSM 集群创建失败的问题
<a name="troubleshooting-create-cluster"></a>

创建集群时，如果角色尚不存在，则 AWS CloudHSM 会创建 AWSService RoleForCloud HSM 服务相关角色。如果 AWS CloudHSM 无法创建服务相关角色，则创建集群的尝试可能会失败。

本主题介绍了如何解决最常见的问题以便您可以成功创建集群。您只需创建此角色一次。在您的账户中创建该服务相关角色后，您即可使用任何支持的方法来创建其他集群并管理它们。

以下部分提供了解决与该服务相关角色相关的集群创建失败问题的建议。如果您试用这些建议但仍无法创建群集，请联系 [支持](https://aws.amazon.com/contact-us/)。有关 AWSService RoleForCloud HSM 服务相关角色的更多信息，请参阅。[的服务相关角色 AWS CloudHSM](service-linked-roles.md)

**Topics**
+ [添加缺少的权限](#missing-permission)
+ [手动创建服务相关角色](#api-call-failure)
+ [使用非联合用户](#non-federated-user)

## 添加缺少的权限
<a name="missing-permission"></a>

要创建服务相关角色，用户必须具有 `iam:CreateServiceLinkedRole` 权限。如果创建集群的 IAM 用户没有此权限，则当它尝试在您的 AWS 账户中创建服务相关角色时，集群创建过程将失败。

当缺少权限导致失败时，错误消息将包含以下文本。

```
This operation requires that the caller have permission to call iam:CreateServiceLinkedRole to create the CloudHSM Service Linked Role.
```

要解决此错误，请向要创建集群的 IAM 用户提供 `AdministratorAccess` 权限或将 `iam:CreateServiceLinkedRole` 权限添加到用户的 IAM 策略。有关说明，请参阅[向新用户或现有用户添加权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#w2ab1c19c19c26b9)。

然后，再次尝试[创建集群](create-cluster.md)。

## 手动创建服务相关角色
<a name="api-call-failure"></a>

您可以使用 IAM 控制台、CLI 或 API 创建 AWSService RoleForCloud HSM 服务相关角色。有关更多信息，请参阅《IAM 用户指南》**中的[创建服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)。

## 使用非联合用户
<a name="non-federated-user"></a>

凭证来自外部的 AWS联合用户可以执行非联合用户的许多任务。但是，AWS 不允许用户进行 API 调用来通过联合端点创建服务相关角色。

要解决此问题，请[创建非联合身份用户](create-iam-user.md) (具有 `iam:CreateServiceLinkedRole` 权限)，或者向现有非联合身份用户提供 `iam:CreateServiceLinkedRole` 权限。然后，让该用户通过 [在中创建集群 AWS CloudHSM](create-cluster.md)创建集群 AWS CLI。这将在您的账户中创建该服务相关角色。

创建该服务相关角色后，如果您愿意，即可删除非联合用户创建的集群。删除该集群不会影响角色。此后，任何具有所需权限的用户（包括联合用户）都可以在您的账户中创建 AWS CloudHSM 集群。

要验证角色是否已创建，请打开 IAM 控制台[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)并选择**角色**。或者，在 AWS CLI中使用 IAM [get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html) 命令。

```
$  aws iam get-role --role-name AWSServiceRoleForCloudHSM
 {
     "Role": {
         "Description": "Role for CloudHSM service operations",
         {{role policy statement}}
         "RoleId": "AROAJ4I6WN5QVGG5G7CBY",
         "CreateDate": "2017-12-19T20:53:12Z",
         "RoleName": "AWSServiceRoleForCloudHSM",
         "Path": "/aws-service-role/cloudhsm.amazonaws.com/",
         "Arn": "arn:aws:iam::111122223333:role/aws-service-role/cloudhsm.amazonaws.com/AWSServiceRoleForCloudHSM"
     }
 }
```