解决集群创建失败问题 - AWS CloudHSM

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

解决集群创建失败问题

创建集群时,如果 AWSServiceRoleForCloudHSM 服务相关角色尚不存在,则会 AWS CloudHSM 创建该角色。如果 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 get-role 命令。

$ 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" } }