Slide 21
Slide 21 text
© 2024, Amazon Web Services, Inc. or its affiliates. All rights reserved.
< #AWSDevLiveShow
宣⾔的なコード: あるべき状態と意図を伝える
Resources:
MyBucket:
Type: AWS::S3::Bucket
MyUser:
Type: AWS::IAM::User
MyUserPolicy:
Type: AWS::IAM::Policy
Properties:
PolicyDocument:
Statement:
- Action:
- s3:GetObject*
- s3:GetBucket*
- s3:List*
Effect: Allow
Resource:
- Fn::GetAtt: [ MyBucket, Arn ]
- Fn::Sub: "${MyBucket.Arn}/*"
Version: "2012-10-17"
PolicyName: MyUserPolicy
Users:
- Ref: MyUser
const bucket = new s3.Bucket(this, 'MyBucket');
const user = new iam.User(this, 'MyUser');
bucket.grantRead(user);
AWS CDK (TypeScript)
AWS CloudFormation (YAML)
IAM User Bucket
読み取り
• AWS CDK は grantRead などの
抽象化されたメソッドで意図が伝わりやすい
• 複雑な IAM ポリシーを書かずに最⼩権限化
• AWS Well-Architected Framework
DevOps Guidance でも推奨されている