Amazon S3 S3-Bucket-Richtlinie für CloudTrail - AWS CloudTrail

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Amazon S3 S3-Bucket-Richtlinie für CloudTrail

Standardmäßig werden Amazon-S3-Buckets und -Objekte als privat eingestuft. Nur der Ressourcenbesitzer (das AWS -Konto, das den Bucket erstellt hat) kann auf den Bucket und die darin enthaltenen Objekte zugreifen. Der Ressourcenbesitzer kann anderen Ressourcen und Benutzern Zugriffsberechtigungen gewähren, indem er eine Zugriffsrichtlinie schreibt.

Um einen Amazon-S3-Bucket für den Empfang der Protokolldateien für einen Organisations-Trail zu erstellen oder zu modifizieren, müssen Sie die Bucket-Richtlinie ändern. Weitere Informationen finden Sie unter Erstellen eines Trails für eine Organisation mit dem AWS CLI.

Um Protokolldateien an einen S3-Bucket zu übermitteln, CloudTrail müssen Sie über die erforderlichen Berechtigungen verfügen und der Bucket kann nicht als Bucket mit anfordernder Zahlung konfiguriert werden.

CloudTrail fügt der Richtlinie die folgenden Felder für Sie hinzu:

  • Die zulässigen SIDs

  • Den Bucket-Namen

  • Der Dienstprinzipalname für CloudTrail

  • Der Name des Ordners, in dem die Protokolldateien gespeichert sind, einschließlich des Bucket-Namens, eines Präfixes (falls Sie eines angegeben haben) und Ihrer AWS Konto-ID

Als bewährte Sicherheitsmethode gilt es, der Amazon S3-Bucket-Richtlinie einen aws:SourceArn-Bedingungsschlüssel hinzuzufügen. Der globale IAM-Bedingungsschlüssel aws:SourceArn trägt dazu bei, dass nur für einen oder mehrere bestimmte Trails in den S3-Bucket CloudTrail geschrieben wird. Der Wert von aws:SourceArn ist immer der ARN des Trails (oder ein Array von Trail-ARNs), der den Bucket zum Speichern von Protokollen verwendet. Denken Sie daran, den aws:SourceArn-Bedingungsschlüssel S3-Bucket-Richtlinien für bestehende Trails hinzuzufügen.

Die folgende Richtlinie ermöglicht CloudTrail das Schreiben von Protokolldateien von der unterstützten AWS-Regionen Seite in den Bucket. Ersetzen Sie DOC-EXAMPLE-BUCKET, [OptionalPrefix]/, MyAccountID, Region und TrailName durch die entsprechenden Werte für Ihre Konfiguration.

S3-Bucket-Richtlinie

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20150319", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:trail/trailName" } } }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/[optionalPrefix]/AWSLogs/myAccountID/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:trail/trailName" } } } ] }

AWS-Regionen Weitere Informationen zu finden Sie unter. CloudTrail unterstützte Regionen

Angeben eines vorhandenen Buckets für die CloudTrail Protokollzustellung

Wenn Sie einen vorhandenen S3-Bucket als Speicherort für die Übertragung von Protokolldateien angegeben haben, müssen Sie dem Bucket eine Richtlinie hinzufügen, die das Schreiben in den Bucket ermöglicht CloudTrail .

Anmerkung

Es hat sich bewährt, einen speziellen S3-Bucket für CloudTrail Protokolle zu verwenden.

Um die erforderliche CloudTrail Richtlinie zu einem Amazon S3 S3-Bucket hinzuzufügen
  1. Öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie den Bucket aus, in CloudTrail den Sie Ihre Protokolldateien bereitstellen möchten, und wählen Sie dann Berechtigungen aus.

  3. Wählen Sie Bearbeiten aus.

  4. Kopieren Sie die S3 bucket policy in das Fenster Bucket Policy Editor. Ersetzen Sie die Platzhalter in Kursivschrift durch die Namen des Buckets, durch den Präfix und die Kontonummer. Wenn Sie beim Erstellen eines Trails ein Präfix angegeben haben, fügen Sie ihn hier ein. Der Präfix ist ein optionaler Zusatz zum S3-Objektschlüssel, mit dem der Bucket ordnerähnlich organisiert wird.

    Anmerkung

    Wenn dem vorhandenen Bucket bereits eine oder mehrere Richtlinien angehängt sind, fügen Sie die Anweisungen für den CloudTrail Zugriff auf diese Richtlinie oder Richtlinien hinzu. Nehmen Sie eine Beurteilung der daraus resultierenden Berechtigungen vor, um sicherzustellen, dass sie für die Benutzer, die auf den Bucket zugreifen werden, geeignet sind.

Empfangen von Protokolldateien anderer Konten

Sie können so konfigurieren CloudTrail , dass Protokolldateien von mehreren AWS Konten an einen einzigen S3-Bucket gesendet werden. Weitere Informationen finden Sie unter Empfangen von CloudTrail Protokolldateien von mehreren Konten.

Erstellen oder Aktualisieren eines Amazon-S3-Buckets zum Speichern der Protokolldateien für einen Organisations-Trail

Sie müssen einen Amazon-S3-Bucket für den Empfang der Protokolldateien für einen Organisationstrail angeben. Dieser Bucket muss über eine Richtlinie verfügen, die es CloudTrail ermöglicht, die Protokolldateien für die Organisation in den Bucket zu übernehmen.

Im Folgenden finden Sie eine Beispielrichtlinie für einen Amazon S3 S3-Bucket mit dem Namen DOC-EXAMPLE-BUCKET, der dem Verwaltungskonto der Organisation gehört. Ersetzen Sie DOC-EXAMPLE-BUCKET, Region, ManagementAccountID, TrailName und O-OrganizationId durch die Werte für Ihre Organisation

Diese Bucket-Richtlinie besteht aus drei Anweisungen:

  • Die erste Anweisung ermöglicht CloudTrail den Aufruf der Amazon S3 GetBucketAcl S3-Aktion im Amazon S3 S3-Bucket.

  • Die zweite Anweisung ermöglicht die Protokollierung des Ereignisses für den Fall, dass der Trail von einem Organisations-Trail zu einem kontospezifischen Trail geändert wird.

  • Die dritte Anweisung ermöglicht die Protokollierung eines Organisations-Trails.

Die Beispielrichtlinie enthält einen aws:SourceArn-Bedingungsschlüssel für die Richtlinie von Amazon-S3-Bucket. Der globale IAM-Bedingungsschlüssel aws:SourceArn trägt dazu bei, dass nur für einen oder mehrere bestimmte Pfade in den S3-Bucket CloudTrail geschrieben wird. In einem Organisations-Trail muss der Wert von aws:SourceArn ein Trail-ARN sein, der im Besitz des Verwaltungskontos ist und die Verwaltungskonto-ID verwendet.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:managementAccountID:trail/trailName" } } }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/AWSLogs/managementAccountID/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceArn": "arn:aws:cloudtrail:region:managementAccountID:trail/trailName" } } }, { "Sid": "AWSCloudTrailOrganizationWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/AWSLogs/o-organizationID/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceArn": "arn:aws:cloudtrail:region:managementAccountID:trail/trailName" } } } ] }

Diese Beispielrichtlinie sieht nicht vor, dass beliebige Benutzer über Mitgliedskonten auf die für die Organisation erstellten Protokolldateien zugreifen können. Standardmäßig ist der Zugriff auf die Protokolldateien der Organisation nur über das Verwaltungskonto möglich. Weitere Informationen dazu, wie Sie IAM-Benutzern in Mitgliedskonten den Lesezugriff auf den Amazon-S3-Bucket gewähren, finden Sie unter CloudTrail Protokolldateien zwischen AWS Konten teilen.

Amazon-S3-Bucket-Richtlinien korrigieren

In den folgenden Abschnitten wird beschrieben, wie Sie Fehler in der S3-Bucket-Richtlinie beheben.

Häufige Konfigurationsfehler in der Amazon-S3-Richtlinie

Wenn Sie im Rahmen der Erstellung oder Aktualisierung eines Trails einen neuen Bucket erstellen, werden Ihrem CloudTrail Bucket die erforderlichen Berechtigungen zugewiesen. Die Bucket-Richtlinie verwendet den Dienstprinzipalnamen"cloudtrail.amazonaws.com", der die Bereitstellung von Protokollen für alle Regionen ermöglicht CloudTrail .

Wenn CloudTrail keine Logs für eine Region zugestellt werden, ist es möglich, dass Ihr Bucket über eine ältere Richtlinie verfügt, die CloudTrail Konto-IDs für jede Region festlegt. Diese Richtlinie erteilt die CloudTrail Erlaubnis, Logs nur für die angegebenen Regionen zu liefern.

Es hat sich bewährt, die Richtlinie so zu aktualisieren, dass eine Genehmigung mit dem CloudTrail Dienstprinzipal verwendet wird. Ersetzen Sie dazu die Konto-ID-ARNs durch den Prinzipalnamen des Services: "cloudtrail.amazonaws.com". Dadurch wird die CloudTrail Erlaubnis erteilt, Protokolle für aktuelle und neue Regionen bereitzustellen. Als bewährte Sicherheitsmethode gilt es, der Amazon S3-Bucket-Richtlinie einen aws:SourceArn- oder aws:SourceAccount-Bedingungsschlüssel hinzuzufügen. Dadurch verhindern Sie nicht autorisierten Kontozugriff auf Ihren S3-Bucket. Wenn bereits Trails vorhanden sind, fügen Sie unbedingt einen oder mehrere Bedingungsschlüssel hinzu. Im Folgenden finden Sie ein Beispiel für eine empfohlene Richtlinienkonfiguration. Ersetzen Sie DOC-EXAMPLE-BUCKET, [OptionalPrefix]/, MyAccountID, Region und TrailName durch die entsprechenden Werte für Ihre Konfiguration.

Beispiel einer Bucket-Richtlinie mit dem Service-Prinzipalnamen
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20150319", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:trail/trailName" } } }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/[optionalPrefix]/AWSLogs/myAccountID/*", "Condition": {"StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:trail/trailName" } } } ] }

Ein Präfix für einen vorhandenen Bucket ändern

Wenn Sie versuchen, ein Protokolldateipräfix für einen S3-Bucket hinzuzufügen, zu ändern oder zu entfernen, der Protokolle aus einem Trail erhält, wird möglicherweise folgende Fehlermeldung angezeigt: There is a problem with the bucket policy. Eine Bucket-Richtlinie mit einem falschen Präfix kann verhindern, dass über den Trail Protokolle an den Bucket übermittelt werden. Um dieses Problem zu beheben, verwenden Sie die Amazon S3 S3-Konsole, um das Präfix in der Bucket-Richtlinie zu aktualisieren, und verwenden Sie dann die CloudTrail Konsole, um dasselbe Präfix für den Bucket im Trail anzugeben.

So aktualisieren Sie das Präfix der Protokolldatei für einen Amazon-S3-Bucket
  1. Öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie den Bucket aus, für den Sie das Präfix ändern möchten, und anschließend Permissions (Berechtigungen).

  3. Wählen Sie Bearbeiten aus.

  4. Bearbeiten Sie in der Bucket-Richtlinie unter der Aktion s3:PutObject den Resource-Eintrag, um das Präfix/ der Protokolldatei je nach Bedarf hinzuzufügen, zu ändern oder zu entfernen.

    "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/prefix/AWSLogs/myAccountID/*",
  5. Wählen Sie Speichern.

  6. Öffnen Sie die CloudTrail Konsole unter https://console.aws.amazon.com/cloudtrail/.

  7. Wählen Sie Ihren Trail und klicken Sie in Storage location auf das Stiftsymbol, um die Einstellungen für Ihren Bucket zu bearbeiten.

  8. Wählen Sie in S3 bucket den Bucket mit dem Präfix aus, den Sie ändern möchten.

  9. Aktualisieren Sie in Log file prefix das Präfix, damit es dem Präfix entspricht, das Sie in der Bucket-Richtlinie eingegeben haben.

  10. Wählen Sie Speichern.

Weitere Ressourcen

Weitere Informationen zu S3-Buckets und Richtlinien finden Sie unter Verwenden von Bucket-Richtlinien im Amazon Simple Storage Service-Entwicklerleitfaden.