SNSAmazon-Themenrichtlinie 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.

SNSAmazon-Themenrichtlinie für CloudTrail

Um Benachrichtigungen zu einem SNS Thema zu senden, CloudTrail müssen Sie über die erforderlichen Berechtigungen verfügen. CloudTrailordnet dem Thema automatisch die erforderlichen Berechtigungen zu, wenn Sie im Rahmen der Erstellung oder Aktualisierung eines Trails in der CloudTrail Konsole ein SNS Amazon-Thema erstellen.

Wichtig

Um den Zugriff auf Ihr SNS Thema einzuschränken, empfehlen wir aus Sicherheitsgründen dringend, dass Sie, nachdem Sie einen Trail zum Senden von SNS Benachrichtigungen erstellt oder aktualisiert haben, die dem SNS Thema angehängte IAM Richtlinie manuell bearbeiten, um Bedingungsschlüssel hinzuzufügen. Weitere Informationen finden Sie unter Bewährte Sicherheitspraxis für SNS Themenrichtlinien in diesem Thema.

CloudTrail fügt der Richtlinie für Sie die folgende Erklärung mit den folgenden Feldern hinzu:

  • Das erlaubteSIDs.

  • Der Dienstprinzipalname für CloudTrail.

  • Das SNS Thema, einschließlich Region, Konto-ID und Themenname.

Die folgende Richtlinie ermöglicht CloudTrail das Senden von Benachrichtigungen über die Übermittlung von Protokolldateien aus unterstützten Regionen. Weitere Informationen finden Sie unter CloudTrail unterstützte Regionen. Dies ist die Standardrichtlinie, die an eine neue oder bestehende SNS Themenrichtlinie angehängt wird, wenn Sie einen Trail erstellen oder aktualisieren und SNS Benachrichtigungen aktivieren.

SNSThemenrichtlinie

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailSNSPolicy20131101", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:region:SNSTopicOwnerAccountId:SNSTopicName" } ] }

Um ein AWS KMS-verschlüsseltes SNS Amazon-Thema zum Senden von Benachrichtigungen zu verwenden, müssen Sie auch die Kompatibilität zwischen der Ereignisquelle (CloudTrail) und dem verschlüsselten Thema aktivieren, indem Sie die folgende Erklärung zur Richtlinie von hinzufügen. AWS KMS key

KMSwichtige Richtlinie

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*" } ] }

Weitere Informationen finden Sie unter Aktivieren der Kompatibilität zwischen Ereignisquellen aus AWS Diensten und verschlüsselten Themen.

Bewährte Sicherheitspraxis für SNS Themenrichtlinien

Standardmäßig erlaubt die IAM Richtlinienerklärung, die Ihrem CloudTrail SNS Amazon-Thema beigefügt ist, dem CloudTrail Service Principal, zu einem SNS Thema zu veröffentlichen, das durch einen ARN gekennzeichnet ist. Um zu verhindern, dass sich ein Angreifer Zugriff auf Ihr SNS Thema verschafft und Benachrichtigungen im Namen der CloudTrail Themenempfänger sendet, bearbeiten Sie Ihre CloudTrail SNS Themenrichtlinie manuell und fügen Sie der von CloudTrail angehängten Richtlinienerklärung einen aws:SourceArn Bedingungsschlüssel hinzu. Der Wert dieses ARN Schlüssels entspricht dem Pfad oder einer Reihe von PfadenARNs, die das SNS Thema verwenden. Da er sowohl die spezifische Trail-ID als auch die ID des Accounts enthält, dem der Trail gehört, beschränkt er den SNS Themenzugriff auf die Accounts, die zur Verwaltung des Trails berechtigt sind. Bevor Sie Bedingungsschlüssel zu Ihrer SNS Themenrichtlinie hinzufügen, sollten Sie den SNS Themennamen aus den Einstellungen Ihres Trails in der CloudTrail Konsole abrufen.

Der aws:SourceAccount-Bedingungsschlüssel wird ebenfalls unterstützt, aber nicht empfohlen.

Um den aws:SourceArn Bedingungsschlüssel zu deiner SNS Themenrichtlinie hinzuzufügen
  1. Öffnen Sie die SNS Amazon-Konsole unter https://console.aws.amazon.com/sns/v3/home.

  2. Wählen Sie im Navigationsbereich Themen aus.

  3. Wählen Sie das SNS Thema aus, das in Ihren Trail-Einstellungen angezeigt wird, und wählen Sie dann Bearbeiten.

  4. Erweitern Sie die Option Zugriffsrichtlinie.

  5. Suchen Sie im JSON Editor für Zugriffsrichtlinien nach einem Block, der dem folgenden Beispiel ähnelt.

    { "Sid": "AWSCloudTrailSNSPolicy20150319", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-west-2:111122223333:aws-cloudtrail-logs-111122223333-61bbe496" }
  6. Fügen Sie einen neuen Block für eine Bedingung aws:SourceArn hinzu, wie im folgenden Beispiel gezeigt. Der Wert ARN von aws:SourceArn entspricht dem Pfad, an den Sie Benachrichtigungen sendenSNS.

    { "Sid": "AWSCloudTrailSNSPolicy20150319", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-west-2:111122223333:aws-cloudtrail-logs-111122223333-61bbe496", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail3" } } }
  7. Wenn Sie mit der Bearbeitung der SNS Themenrichtlinie fertig sind, wählen Sie Änderungen speichern aus.

Um den aws:SourceAccount Bedingungsschlüssel zu Ihrer SNS Themenrichtlinie hinzuzufügen
  1. Öffnen Sie die SNS Amazon-Konsole unter https://console.aws.amazon.com/sns/v3/home.

  2. Wählen Sie im Navigationsbereich Themen aus.

  3. Wählen Sie das SNS Thema aus, das in Ihren Trail-Einstellungen angezeigt wird, und wählen Sie dann Bearbeiten.

  4. Erweitern Sie die Option Zugriffsrichtlinie.

  5. Suchen Sie im JSON Editor für Zugriffsrichtlinien nach einem Block, der dem folgenden Beispiel ähnelt.

    { "Sid": "AWSCloudTrailSNSPolicy20150319", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-west-2:111122223333:aws-cloudtrail-logs-111122223333-61bbe496" }
  6. Fügen Sie einen neuen Block für eine Bedingung aws:SourceAccount hinzu, wie im folgenden Beispiel gezeigt. Der Wert von aws:SourceAccount ist die ID des Kontos, dem der CloudTrail Trail gehört. In diesem Beispiel wird der Zugriff auf das SNS Thema auf die Benutzer beschränkt, die sich mit dem AWS Konto 123456789012 anmelden können.

    { "Sid": "AWSCloudTrailSNSPolicy20150319", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-west-2:111122223333:aws-cloudtrail-logs-111122223333-61bbe496", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } } }
  7. Wenn Sie mit der Bearbeitung der SNS Themenrichtlinie fertig sind, wählen Sie Änderungen speichern aus.

Angeben eines vorhandenen Themas zum Senden von Benachrichtigungen

Sie können die Berechtigungen für ein SNS Amazon-Thema manuell zu Ihrer Themenrichtlinie in der SNS Amazon-Konsole hinzufügen und dann das Thema in der CloudTrail Konsole angeben.

Um eine SNS Themenrichtlinie manuell zu aktualisieren
  1. Öffnen Sie die SNS Amazon-Konsole unter https://console.aws.amazon.com/sns/v3/home.

  2. Klicken Sie auf Themen und wählen Sie das Thema aus.

  3. Wählen Sie Bearbeiten und scrollen Sie dann nach unten zu Zugriffsrichtlinie.

  4. Fügen Sie den Kontoauszug SNS topic policy mit den entsprechenden Werten für die Region, die Konto-ID und den Themennamen hinzu.

  5. Wenn es sich bei Ihrem Thema um ein verschlüsseltes Thema handelt, CloudTrail müssen kms:GenerateDataKey* Sie die kms:Decrypt entsprechenden Berechtigungen angeben. Weitere Informationen finden Sie unter Encrypted SNS topic KMS key policy.

  6. Wählen Sie Save Changes (Änderungen speichern).

  7. Kehren Sie zur CloudTrail Konsole zurück und geben Sie das Thema für den Trail an.

Problembehandlung bei der SNS Themenrichtlinie

In den folgenden Abschnitten wird beschrieben, wie Sie Probleme mit der SNS Themenrichtlinie beheben können.

CloudTrail sendet keine Benachrichtigungen für eine Region

Wenn Sie im Rahmen der Erstellung oder Aktualisierung eines Trails ein neues Thema erstellen, CloudTrail fügt Ihrem Thema die erforderlichen Berechtigungen hinzu. Die Themenrichtlinie verwendet den Dienstprinzipalnamen"cloudtrail.amazonaws.com", der das Senden von Benachrichtigungen für alle Regionen ermöglicht CloudTrail .

Wenn keine Benachrichtigungen für eine Region gesendet werden, CloudTrail ist es möglich, dass für Ihr Thema eine ältere Richtlinie gilt, die ein CloudTrail Konto IDs für jede Region festlegt. Diese Richtlinie CloudTrail erlaubt das Senden von Benachrichtigungen nur für die angegebenen Regionen.

Die folgende Themenrichtlinie ermöglicht CloudTrail das Senden von Benachrichtigungen nur für die angegebenen neun Regionen:

Beispiel Themenrichtlinie mit Konto IDs
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AWSCloudTrailSNSPolicy20131101", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::903692715234:root", "arn:aws:iam::035351147821:root", "arn:aws:iam::859597730677:root", "arn:aws:iam::814480443879:root", "arn:aws:iam::216624486486:root", "arn:aws:iam::086441151436:root", "arn:aws:iam::388731089494:root", "arn:aws:iam::284668455005:root", "arn:aws:iam::113285607260:root" ]}, "Action": "SNS:Publish", "Resource": "aws:arn:sns:us-east-1:123456789012:myTopic" }] }

Diese Richtlinie verwendet eine Genehmigung, die auf einem individuellen CloudTrail Konto basiertIDs. Um Protokolle für eine neue Region bereitzustellen, müssen Sie die Richtlinie manuell aktualisieren, sodass sie die CloudTrail Konto-ID für diese Region enthält. Da beispielsweise Unterstützung für die Region USA Ost (Ohio) CloudTrail hinzugefügt wurde, müssen Sie die Richtlinie aktualisieren, um die Konto-ID ARN für diese Region hinzuzufügen:"arn:aws:iam::475085895292:root".

Es hat sich bewährt, die Richtlinie so zu aktualisieren, dass sie eine Genehmigung mit dem CloudTrail Service Principal verwendet. Ersetzen Sie dazu die Konto-ID ARNs durch den Namen des Dienstprinzipals:"cloudtrail.amazonaws.com".

Dadurch erhalten Sie die CloudTrail Erlaubnis, Benachrichtigungen für aktuelle und neue Regionen zu senden. Im Folgenden finden Sie eine aktualisierte Version der vorherigen Richtlinie:

Beispiel Themenrichtlinie mit Prinzipalnamen des Services
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AWSCloudTrailSNSPolicy20131101", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-west-2:123456789012:myTopic" }] }

Überprüfen Sie, ob die Richtlinie die richtigen Werte enthält:

  • Geben Sie im Feld Resource die Kontonummer des Themeneigentümers an. Geben Sie bei Themen, die Sie erstellen, Ihre Kontonummer an.

  • Geben Sie die entsprechenden Werte für die Region und den SNS Themennamen an.

CloudTrail sendet keine Benachrichtigungen für ein Mitgliedskonto in einer Organisation

Wenn ein Mitgliedskonto mit einem AWS Organizations Organization Trail keine SNS Amazon-Benachrichtigungen sendet, liegt möglicherweise ein Problem mit der Konfiguration der SNS Themenrichtlinie vor. CloudTrail erstellt Organisationstrails in Mitgliedskonten, auch wenn eine Ressourcenvalidierung fehlschlägt, z. B. weil das SNS Thema des Organisationstrails nicht alle Mitgliedskonten umfasstIDs. Wenn die SNS Themenrichtlinie falsch ist, tritt ein Autorisierungsfehler auf.

Um zu überprüfen, ob die SNS Themenrichtlinie eines Trails einen Autorisierungsfehler aufweist:

  • Überprüfe von der CloudTrail Konsole aus die Detailseite des Trails. Wenn die Autorisierung fehlschlägt, enthält die Detailseite eine Warnung SNS authorization failed und weist darauf hin, dass die SNS Themenrichtlinie repariert werden muss.

  • Führen Sie von AWS CLI der aus den get-trail-statusBefehl aus. Wenn die Autorisierung fehlschlägt, enthält die Befehlsausgabe das LastNotificationError Feld mit dem WertAuthorizationError.

Weitere Ressourcen

Weitere Informationen zu SNS Themen und deren Abonnement finden Sie im Amazon Simple Notification Service Developer Guide.