解決叢集建立失敗的問題 - AWS CloudHSM

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

解決叢集建立失敗的問題

當您建立叢集時,會建 AWS CloudHSM 立 AWSServiceRoleForCloudHSM 服務連結角色 (如果角色不存在)。如果 AWS CloudHSM 無法建立服務連結角色,您嘗試建立叢集可能會失敗。

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

下列區段提供建議來對與服務連結角色相關的叢集建立錯誤進行故障排除。如果您嘗試這些建議,但仍無法建立叢集,請聯絡 AWS Support。如需 AWSServiceRoleForCloudHSM 服務連結角色的詳細資訊,請參閱服務連結角色 AWS CloudHSM

新增遺失的許可

若要建立服務連結角色,使用者必須具有 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 政策。如需說明,請參閱將許可新增至新的或現有的使用者

然後,再次嘗試建立叢集

手動建立服務連結角色

您可以使用 IAM 主控台、CLI 或 API 建立 AWSServiceRoleForCloudHSM服務連結角色。如需詳細資訊,請參閱 IAM 使用者指南中的建立服務連結角色

使用非聯合身分使用者

認證來源於以外的 AWS同盟使用者可以執行非同盟使用者的許多工作。不過,AWS 不會允許使用者從聯合端點發出 API 呼叫來建立服務連結角色。

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

一旦建立服務連結角色,您可以刪除非聯合身分使用者建立的叢集 (如果您想要的話)。刪除叢集不會影響角色。之後,任何具有必要權限的使用者 (包括聯合身分使用者) 都可以在您的帳戶中建立 AWS CloudHSM 叢集。

若要驗證角色是否已建立,請在 https://console.aws.amazon.com/iam/ 開啟 IAM 主控台,然後選擇角色。或是在 AWS CLI中使用 IAM 獲取角色命令。

$ aws iam get-role --role-name AWSServiceRoleForCloudHSM { "Role": { "Description": "Role for CloudHSM service operations", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "cloudhsm.amazonaws.com" } } ] }, "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" } }