View a markdown version of this page

로깅을 위한 Amazon S3 버킷 정책 - AWS Control Tower란

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

로깅을 위한 Amazon S3 버킷 정책

AWS Control Tower에서 AWS 서비스는 요청이 조직 또는 조직 단위(OU)에서 시작된 경우에만 리소스에 액세스할 수 있습니다. 모든 쓰기 권한에 대해 aws:SourceOrgID 조건이 충족되어야 합니다.

aws:SourceOrgID 조건 키를 사용하고 Amazon S3 버킷 정책의 조건 요소에서 값을 조직 ID로 설정할 수 있습니다. 이 조건은 조직 내 계정만 Amazon S3 버킷에 로그를 쓸 수 있도록 합니다. 조직 외부의 계정이 AWS Control Tower Amazon S3 버킷에 로그를 쓰지 못하도록 합니다.

이 조건 키에 대한 자세한 내용은 IAM 전역 조건 컨텍스트 키를 참조하세요. 확장 가능한 제어에 대한 블로그 게시물은 리소스에 액세스하는 AWS 서비스에 확장 가능한 제어 사용을 참조하세요.

이 정책은 기존 워크로드의 기능에 영향을 주지 않습니다.

랜딩 존 버전 3.3 이하

랜딩 존 버전 3.3 이하에서 AWS Control Tower는 AWS CloudTrail 및 로그를 모두 저장하는 AWS Config 로그 아카이브 계정에 단일 Amazon S3 버킷을 배포합니다. 버킷 정책은 다음 예제에 나와 있습니다.

S3AuditBucketPolicy: Type: AWS::S3::BucketPolicy Properties: Bucket: !Ref S3AuditBucket PolicyDocument: Version: 2012-10-17 Statement: - Sid: AllowSSLRequestsOnly Effect: Deny Principal: '*' Action: s3:* Resource: - !Sub "arn:${AWS::Partition}:s3:::${S3AuditBucket}" - !Sub "arn:${AWS::Partition}:s3:::${S3AuditBucket}/*" Condition: Bool: aws:SecureTransport: false - Sid: AWSBucketPermissionsCheck Effect: Allow Principal: Service: - cloudtrail.amazonaws.com - config.amazonaws.com Action: s3:GetBucketAcl Resource: - !Sub "arn:${AWS::Partition}:s3:::${S3AuditBucket}" - Sid: AWSConfigBucketExistenceCheck Effect: Allow Principal: Service: - cloudtrail.amazonaws.com - config.amazonaws.com Action: s3:ListBucket Resource: - !Sub "arn:${AWS::Partition}:s3:::${S3AuditBucket}" - Sid: AWSBucketDeliveryForConfig Effect: Allow Principal: Service: - config.amazonaws.com Action: s3:PutObject Resource: - Fn::Join: - "" - - !Sub "arn:${AWS::Partition}:s3:::" - !Ref "S3AuditBucket" - !Sub "/${AWSLogsS3KeyPrefix}/AWSLogs/*/*" Condition: StringEquals: aws:SourceOrgID: !Ref OrganizationId - Sid: AWSBucketDeliveryForOrganizationTrail Effect: Allow Principal: Service: - cloudtrail.amazonaws.com Action: s3:PutObject Resource: !If [IsAccountLevelBucketPermissionRequiredForCloudTrail, [!Sub "arn:${AWS::Partition}:s3:::${S3AuditBucket}/${AWSLogsS3KeyPrefix}/AWSLogs/${Namespace}/*", !Sub "arn:${AWS::Partition}:s3:::${S3AuditBucket}/${AWSLogsS3KeyPrefix}/AWSLogs/${OrganizationId}/*"], !Sub "arn:${AWS::Partition}:s3:::${S3AuditBucket}/${AWSLogsS3KeyPrefix}/AWSLogs/*/*"] Condition: StringEquals: aws:SourceOrgID: !Ref OrganizationId

랜딩 존 버전 4.0 이상

랜딩 존 버전 4.0 이상에서는 공유 버킷 대신 별도의 전용 Amazon S3 버킷을 AWS Config AWS CloudTrail 사용합니다. AWS Config 로그용 Amazon S3 버킷은 통합 계정(이전 Audit AWS Config 계정)에 있습니다. AWS CloudTrail 로그용 Amazon S3 버킷은 AWS CloudTrail 관리자 계정(이전 Log Archive 계정)에 있습니다. 자세한 내용은 AWS Config 업데이트 단원을 참조하십시오.

AWS CloudTrail 버킷 정책(AWS CloudTrail 관리자 계정)

다음 예제에서는 관리자 계정에 배포 AWS CloudTrail 된 AWS CloudTrail 버킷 정책을 보여줍니다.

S3AuditBucketPolicy: Type: AWS::S3::BucketPolicy Properties: Bucket: !Ref S3AuditBucket PolicyDocument: Version: 2012-10-17 Statement: - Sid: AllowSSLRequestsOnly Effect: Deny Principal: '*' Action: s3:* Resource: - !Sub "arn:${AWS::Partition}:s3:::${S3AuditBucket}" - !Sub "arn:${AWS::Partition}:s3:::${S3AuditBucket}/*" Condition: Bool: aws:SecureTransport: false - Sid: AWSBucketPermissionsCheck Effect: Allow Principal: Service: - cloudtrail.amazonaws.com Action: s3:GetBucketAcl Resource: - !Sub "arn:${AWS::Partition}:s3:::${S3AuditBucket}" - Sid: AWSConfigBucketExistenceCheck Effect: Allow Principal: Service: - cloudtrail.amazonaws.com Action: s3:ListBucket Resource: - !Sub "arn:${AWS::Partition}:s3:::${S3AuditBucket}" - Sid: AWSBucketDeliveryForOrganizationTrail Effect: Allow Principal: Service: - cloudtrail.amazonaws.com Action: s3:PutObject Resource: !If [IsAccountLevelBucketPermissionRequiredForCloudTrail, [!Sub "arn:${AWS::Partition}:s3:::${S3AuditBucket}/${AWSLogsS3KeyPrefix}/AWSLogs/${Namespace}/*", !Sub "arn:${AWS::Partition}:s3:::${S3AuditBucket}/${AWSLogsS3KeyPrefix}/AWSLogs/${OrganizationId}/*"], !Sub "arn:${AWS::Partition}:s3:::${S3AuditBucket}/${AWSLogsS3KeyPrefix}/AWSLogs/*/*"] Condition: StringEquals: aws:SourceOrgID: !Ref OrganizationId

AWS Config 버킷 정책(AWS Config 통합 계정)

다음 예제는 AWS Config 통합 계정에 배포된 AWS Config 버킷 정책을 보여줍니다.

ConfigS3BucketPolicy: Type: AWS::S3::BucketPolicy Properties: Bucket: !Ref ConfigS3Bucket PolicyDocument: Version: 2012-10-17 Statement: - Sid: AllowSSLRequestsOnly Effect: Deny Principal: '*' Action: s3:* Resource: - !Sub "arn:${AWS::Partition}:s3:::${ConfigS3Bucket}" - !Sub "arn:${AWS::Partition}:s3:::${ConfigS3Bucket}/*" Condition: Bool: aws:SecureTransport: false - Sid: AWSConfigBucketPermissionsCheck Effect: Allow Principal: Service: - config.amazonaws.com Action: s3:GetBucketAcl Resource: - !Sub "arn:${AWS::Partition}:s3:::${ConfigS3Bucket}" - Sid: AWSConfigBucketExistenceCheck Effect: Allow Principal: Service: - config.amazonaws.com Action: s3:ListBucket Resource: - !Sub "arn:${AWS::Partition}:s3:::${ConfigS3Bucket}" - Sid: AWSConfigBucketDelivery Effect: Allow Principal: Service: - config.amazonaws.com Action: s3:PutObject Resource: - !Sub "arn:${AWS::Partition}:s3:::${ConfigS3Bucket}/${ConfigS3KeyPrefix}/AWSLogs/*/*" Condition: StringEquals: aws:SourceOrgID: !Ref OrganizationId