设置CDK中自动创建的Role名称

问题描述 投票:0回答:2

例如,在进行任务定义时:

const taskDefinition = new ecs.Ec2TaskDefinition(this, 'TaskDefinition', {
  networkMode: ecs.NetworkMode.AWS_VPC,
})

这使得角色自动生成,并自动命名。

文档,有属性可以设置角色,但它接受

IRole
而不是名称。

有没有办法为自动创建的角色命名?

或者,我想我应该使用 class Role 提前创建角色并将其附加到

Ec2TaskDefinition
?,但是我如何知道角色属性?

amazon-web-services amazon-iam aws-cdk
2个回答
2
投票

ECS TaskDefinition 有两个角色属性,executionRoletaskRole1 如果将角色构造传递给这些属性,则可以直接设置角色名称。 如果不设置 props,可以使用 escape hatch 语法来修改自动创建的默认角色的名称:

if (!taskDefinition.taskRole) {
    throw new Error("The Task Role is undefined");
}

const cfnTaskRole = taskDefinition.taskRole.node.defaultChild as iam.CfnRole;

cfnTaskRole.addPropertyOverride("RoleName", "my-task-role");

[1] 请参阅AWS Elastic Container Service (ECS) ExecutionRole 和 TaskRole 之间的区别


© www.soinside.com 2019 - 2024. All rights reserved.