

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

# 解決 AWS CloudHSM 叢集建立失敗
<a name="troubleshooting-create-cluster"></a>

當您建立叢集時，如果角色尚未存在， 會 AWS CloudHSM 建立 AWSServiceRoleForCloudHSM 服務連結角色。如果 AWS CloudHSM 無法建立服務連結角色，則嘗試建立叢集可能會失敗。

此主題說明如何解決最常見的問題，使得您可以成功建立叢集。您只需要建立此角色一次。一旦在您的帳戶中建立服務連結角色，您可以使用任何支援的方法來建立額外的叢集和管理它們。

下列區段提供建議來對與服務連結角色相關的叢集建立錯誤進行故障排除。如果您嘗試這些建議，但仍無法建立叢集，請聯絡 [支援](https://aws.amazon.com/contact-us/)。如需 AWSServiceRoleForCloudHSM 服務連結角色的詳細資訊，請參閱[的服務連結角色 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 來建立 AWSServiceRoleForCloudHSM 服務連結角色。如需詳細資訊，請參閱 *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 呼叫來建立服務連結角色。

若要解決這個問題，請使用 `iam:CreateServiceLinkedRole` 許可[建立一個非聯合身分使用者](create-iam-user.md)，或是為現有的非聯合身分使用者授與 `iam:CreateServiceLinkedRole` 許可。然後，讓該使用者透過 [在 中建立叢集 AWS CloudHSM](create-cluster.md)建立叢集 AWS CLI。如此會在您的帳戶中建立服務連結角色。

建立服務連結角色後，您可以視需要刪除非聯合身分使用者建立的叢集。刪除叢集不會影響角色。之後，任何具有必要許可的使用者，包括聯合身分使用者，都可以在您的帳戶中建立 AWS CloudHSM 叢集。

若要驗證角色是否已建立，請在 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台，然後選擇**角色**。或是在 AWS CLI中使用 IAM [獲取角色](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"
     }
 }
```