将自定义策略添加到角色 (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
。
我正在尝试将政策声明添加到任务中。
我现在做的就是下面这个样子
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
。