本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
用於記錄的 Amazon S3 儲存貯體政策
在 AWS Control Tower 中,只有在請求來自您的組織或組織單位 (OU) 時, AWS 服務才能存取您的資源。任何寫入許可都必須符合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 版和更新版本中, AWS Config AWS CloudTrail 並使用單獨的專用 Amazon S3 儲存貯體,而不是共用儲存貯體。 AWS Config 日誌的 Amazon S3 儲存貯體位於整合帳戶 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