View a markdown version of this page

Politique de compartiment Amazon S3 pour la journalisation - AWS Control Tower

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Politique de compartiment Amazon S3 pour la journalisation

Dans AWS Control Tower, AWS les services ont accès à vos ressources uniquement lorsque la demande provient de votre organisation ou unité organisationnelle (OU). Une aws:SourceOrgID condition doit être remplie pour toute autorisation d'écriture.

Vous pouvez utiliser la clé de aws:SourceOrgID condition et définir la valeur de l'identifiant de votre organisation dans l'élément de condition de votre politique de compartiment Amazon S3. Cette condition garantit que seuls les comptes de votre organisation peuvent écrire des journaux dans votre compartiment Amazon S3. Il empêche les comptes extérieurs à votre organisation d'écrire des journaux dans votre compartiment Amazon S3 de la tour de contrôle AWS.

Pour plus d'informations sur cette clé de condition, consultez la section Clés contextuelles de condition globales IAM. Pour un article de blog sur les contrôles évolutifs, voir Utiliser des contrôles évolutifs pour les AWS services accédant à vos ressources.

Cette politique n'affecte pas les fonctionnalités de vos charges de travail existantes.

Landing zone version 3.3 et versions antérieures

Dans la version 3.3 et les versions antérieures de Landing Zone, AWS Control Tower déploie un seul compartiment Amazon S3 dans le compte d'archivage des journaux qui stocke à la fois les AWS Config journaux AWS CloudTrail et les journaux. La politique en matière de bucket est illustrée dans l'exemple suivant.

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

Landing Zone version 4.0 et versions ultérieures

Dans Landing Zone version 4.0 et versions ultérieures, AWS Config AWS CloudTrail utilisez des compartiments Amazon S3 dédiés distincts au lieu d'un compartiment partagé. Le compartiment Amazon S3 pour les AWS Config journaux se trouve dans le compte AWS Config d'intégration (anciennement le compte d'audit). Le compartiment Amazon S3 pour les AWS CloudTrail journaux se trouve dans le compte AWS CloudTrail administrateur (anciennement le compte Log Archive). Pour de plus amples informations, veuillez consulter Mises à jour AWS Config.

AWS CloudTrail politique relative aux compartiments (AWS CloudTrail compte administrateur)

L'exemple suivant montre la politique de AWS CloudTrail bucket déployée dans le compte AWS CloudTrail administrateur :

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 politique relative aux compartiments (AWS Config compte d'intégration)

L'exemple suivant montre la politique de AWS Config bucket déployée dans le compte AWS Config d'intégration :

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