将自定义策略添加到角色 (taskRole)

Adding the custom policy to the Role (taskRole)

我正在尝试将政策声明添加到任务中。

我现在做的就是下面这个样子

const myBucketPolicy = new iam.PolicyStatement({
  effect: iam.Effect.ALLOW,
  actions: [
    "s3:PutObject*"
  ],
  resources: [
    up_bk.bucketArn,
    up_bk.bucketArn + "/*"
  ],
});

尝试将其添加到 Fargate 任务角色。

props!.taskDefinitionAdmin.taskRole.addToResourcePolicy(myBucketPolicy);

但是,这个错误来了。

Property 'addToResourcePolicy' does not exist on type 'IRole'.

所以基本上,我的想法是错误的。

如何将自定义策略添加到角色?


使用attachInlinePolicy的解决方案

const pushacl = new iam.PolicyStatement({
  effect: iam.Effect.ALLOW,
  actions: [
    "s3:PutObject*"
  ],
  resources: [
    "*"
  ],
});

const pushaclpolicy = new iam.Policy(this, 'pushs3acl-policy', {
  statements: [pushacl]
});

taskDefinitionAdmin.taskRole.attachInlinePolicy(pushaclpolicy);

我认为你应该使用 attachInlinePolicy,而不是 addToResourcePolicy