AWSのCDKでちょこちょこ使う細かいパターンのメモ
概要
AWSのCDKでちょこちょこ使う細かいパターンのメモ
IAMロールをインラインで用意するケース
ecr-accessという名前で、アクション'ecr:'、リソース''、許可の組み合わせで作成する例
import iam = require('@aws-cdk/aws-iam'); const myRole = new iam.Role(this, "MyRole", { assumedBy: new iam.ServicePrincipal('codebuild.amazonaws.com'), inlinePolicies: { 'ecr-access': new iam.PolicyDocument({ statements: [ new iam.PolicyStatement({ effect: iam.Effect.ALLOW, actions: [ 'ecr:*' ], resources: [ '*' ] }), ], }), } });
バケットへのアクセス用ロール(自アカウント利用版)
import cdk = require('@aws-cdk/core'); import s3 = require('@aws-cdk/aws-s3'); import iam = require('@aws-cdk/aws-iam'); const bucket = new s3.Bucket(this, 'MyBucket', { bucketName: 'bucket name here', }); const myRole = new iam.Role(this, "MyRole", { assumedBy: new iam.AccountPrincipal(cdk.Stack.of(this).account), inlinePolicies: { 's3-access': new iam.PolicyDocument({ statements: [ new iam.PolicyStatement({ effect: iam.Effect.ALLOW, actions: [ 's3:GetObject*', 's3:GetBucket*', 's3:List*', 's3:DeleteObject*', 's3:PutObject*', 's3:Abort*' ], resources: [ bucket.bucketArn, bucket.bucketArn+'/*' ], }), ], }), } });