S3関連の対応を以下に示す。
AWSTemplateFormatVersion: 2010-09-09
Parameters:
PrmExampleAccessLogBucket:
Type: String
Resources:
ResExampleBucket:
Type: "AWS::S3::Bucket"
Properties:
BucketName: !Sub "res-example-bucket"
VersioningConfiguration:
Status: Enabled
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm: AES256
PublicAccessBlockConfiguration:
IgnorePublicAcls: true
BlockPublicPolicy: true
BlockPublicAcls: true
RestrictPublicBuckets: true
AccessControl: LogDeliveryWrite
LoggingConfiguration:
DestinationBucketName: !Ref PrmExampleAccessLogBucket
LogFilePrefix: !Sub "ExamplePrefix/"
ResExampleBucketPolicy:
Type: 'AWS::S3::BucketPolicy'
Properties:
Bucket: !Ref ResExampleBucket
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: AllowSSLRequestsOnly
Action: 's3:*'
Effect: Deny
Resource:
- !Sub 'arn:aws:s3:::${ResExampleBucket}'
- !Sub 'arn:aws:s3:::${ResExampleBucket}/*'
Condition:
Bool:
'aws:SecureTransport': false
Principal: '*'
[CIS 2.3] CloudTrail ログが記録する S3 バケットがパブリックにアクセスできないことを確認します
[PCI.S3.1] S3 バケットはパブリック書き込みアクセスを禁止する必要があります
[PCI.S3.2] S3 バケットではパブリック読み取りアクセスを禁止する必要があります
[PCI.S3.6] S3 ブロックパブリックアクセス設定を有効にする必要があります
[S3.1] S3 ブロックパブリックアクセス設定を有効にする必要があります
[S3.2] S3 バケットではパブリック読み取りアクセスを禁止する必要があります
[S3.3] S3 バケットはパブリック書き込みアクセスを禁止する必要があります
[S3.8] S3 ブロックパブリックアクセス設定は、バケットレベルで有効にする必要があります
PublicAccessBlockConfiguration:
IgnorePublicAcls: true
BlockPublicPolicy: true
BlockPublicAcls: true
RestrictPublicBuckets: true
[PCI.S3.4] S3 バケットでは、サーバー側の暗号化を有効にする必要があります
[S3.4] S3 バケットでは、サーバー側の暗号化を有効にする必要があります
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm: AES256
[PCI.S3.5] S3 バケットは、Secure Socket Layer を使用するリクエストを要求する必要があります
[S3.5] S3 バケットは、Secure Socket Layer を使用するためのリクエストが必要です
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: AllowSSLRequestsOnly
Action: 's3:*'
Effect: Deny
Resource:
- !Sub 'arn:aws:s3:::${ResExampleBucket}'
- !Sub 'arn:aws:s3:::${ResExampleBucket}/*'
Condition:
Bool:
'aws:SecureTransport': false
Principal: '*'
AccessControl: LogDeliveryWrite
LoggingConfiguration:
DestinationBucketName: !Ref ResExampleAccessLogBucket
LogFilePrefix: !Sub "ExamplePrefix/"
[PCI.S3.3] S3 バケットでクロスリージョンレプリケーションを有効にする必要があります
[S3.6] 他のユーザーに付与された Amazon S3 のアクセス許可AWSバケットポリシーのアカウントは制限する必要があります