Konfigurieren von Amazon MQ für ActiveMQ-Protokolle - Amazon MQ

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.

Konfigurieren von Amazon MQ für ActiveMQ-Protokolle

Damit Amazon MQ Protokolle in Logs veröffentlichen kann, müssen Sie Ihrem Amazon MQ-Benutzer eine Berechtigung hinzufügen und außerdem eine ressourcenbasierte Richtlinie für Amazon MQ konfigurieren, bevor Sie den Broker erstellen oder neu starten. CloudWatch

Anmerkung

Wenn Sie Protokolle aktivieren und Nachrichten von der ActiveMQ-Webkonsole aus veröffentlichen, wird der Inhalt der Nachricht an die Protokolle gesendet CloudWatch und dort angezeigt.

Im Folgenden werden die Schritte zum Konfigurieren von CloudWatch Protokollen für Ihre ActiveMQ-Broker beschrieben.

Grundlegendes zur Struktur der Protokollierung von Protokollen CloudWatch

Sie können die allgemeine Protokollierung und die Audit-Protokollierung aktivieren, wenn Sie die erweiterten Broker-Einstellungen konfigurieren, einen Broker erstellen oder einen Broker bearbeiten.

Die allgemeine Protokollierung aktiviert die INFO Standardprotokollierungsebene (DEBUGProtokollierung wird nicht unterstützt) und veröffentlicht activemq.log in einer Protokollgruppe in Ihrem CloudWatch Konto. Die Protokollgruppe hat ein Format, das in etwa aussieht wie folgt:

/aws/amazonmq/broker/b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9/general

Die Auditprotokollierung ermöglicht die Protokollierung von Verwaltungsaktionen, die mit JMX oder mithilfe der ActiveMQ Web Console durchgeführt wurden, und veröffentlicht audit.log sie in einer Protokollgruppe in Ihrem CloudWatch Konto. Die Protokollgruppe hat ein Format, das in etwa aussieht wie folgt:

/aws/amazonmq/broker/b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9/audit

Je nachdem, ob Sie einen Single-Instance-Broker oder einen Active-/Standby-Broker für hohe Verfügbarkeit verwenden, erstellt Amazon MQ entweder einen oder zwei Protokollstreams in jeder Protokollgruppe. Die Protokollstreams haben ein Format, das in etwa aussieht wie folgt:

activemq-b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.log activemq-b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-2.log

Die Suffixe -1 und -2 kennzeichnen einzelne Broker-Instances. Weitere Informationen finden Sie unter Working with Log Groups and Log Streams im Amazon CloudWatch Logs-Benutzerhandbuch.

Hinzufügen der CreateLogGroup-Berechtigung zu Ihrem Amazon-MQ-Benutzer

Damit Amazon MQ eine CloudWatch Logs-Protokollgruppe erstellen kann, müssen Sie sicherstellen, dass der Benutzer, der den Broker erstellt oder neu startet, über die entsprechenden Rechte verfügt. logs:CreateLogGroup

Wichtig

Wenn Sie die CreateLogGroup-Berechtigung nicht zu Ihrem Amazon MQ-Benutzer hinzufügen, bevor der Benutzer den Broker erstellt oder neu startet, wird die Protokollgruppe nicht von Amazon MQ erstellt.

Die folgende IAMbeispielbasierte Richtlinie gewährt Benutzern, denen diese Richtlinie zugeordnet ist, die Erlaubnis. logs:CreateLogGroup

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "logs:CreateLogGroup", "Resource": "arn:aws:logs:*:*:log-group:/aws/amazonmq/*" } ] }
Anmerkung

Hier bezieht sich der Begriff „Benutzer“ auf Benutzer und nicht auf Amazon-MQ-Benutzer, die erstellt werden, wenn ein neuer Broker konfiguriert wird. Weitere Informationen zur Einrichtung von Benutzern und zur Konfiguration von IAM Richtlinien finden Sie im Abschnitt Identity Management Overview des IAM Benutzerhandbuchs.

Weitere Informationen finden Sie CreateLogGroup in der Amazon CloudWatch API Logs-Referenz.

Konfigurieren einer ressourcenbasierten Richtlinie für Amazon MQ.

Wichtig

Wenn Sie keine ressourcenbasierte Richtlinie für Amazon MQ konfigurieren, kann der Broker die Protokolle nicht in Logs veröffentlichen. CloudWatch

Damit Amazon MQ Protokolle in Ihrer Logs-Protokollgruppe veröffentlichen kann, konfigurieren Sie eine ressourcenbasierte Richtlinie, um Amazon MQ Zugriff auf die folgenden CloudWatch Logs-Aktionen zu gewähren: CloudWatch API

  • CreateLogStream— Erstellt einen CloudWatch Logs-Log-Stream für die angegebene Protokollgruppe.

  • PutLogEvents— Liefert Ereignisse in den angegebenen CloudWatch Log-Log-Stream.

Die folgende ressourcenbasierte Richtlinie gewährt Berechtigungen für logs:CreateLogStream und logs:PutLogEvents für. AWS

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "mq.amazonaws.com" }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/amazonmq/*" } ] }

Diese ressourcenbasierte Richtlinie muss mithilfe des, AWS CLI wie im folgenden Befehl gezeigt, konfiguriert werden. Im Beispiel, ersetzen Sie us-east-1 mit Ihren eigenen Informationen.

aws --region us-east-1 logs put-resource-policy --policy-name AmazonMQ-logs \ --policy-document "{\"Version\": \"2012-10-17\", \"Statement\":[{ \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"mq.amazonaws.com\" }, \"Action\": [\"logs:CreateLogStream\", \"logs:PutLogEvents\"], \"Resource\": \"arn:aws:logs:*:*:log-group:\/aws\/amazonmq\/*\" }]}"
Anmerkung

Da in diesem Beispiel das /aws/amazonmq/ Präfix verwendet wird, müssen Sie die ressourcenbasierte Richtlinie nur einmal pro AWS Konto und Region konfigurieren.

Serviceübergreifende Confused-Deputy-Prävention

Das Confused-Deputy-Problem ist ein Sicherheitsproblem, bei dem eine juristische Stelle, die nicht über die Berechtigung zum Ausführen einer Aktion verfügt, eine privilegiertere juristische Stelle zwingen kann, die Aktion auszuführen. In AWS kann ein dienstübergreifendes Identitätswechsels zum Problem des verwirrten Stellvertreters führen. Ein dienstübergreifender Identitätswechsel kann auftreten, wenn ein Dienst (der Anruf-Dienst) einen anderen Dienst anruft (den aufgerufenen Dienst). Der Anruf-Dienst kann so manipuliert werden, dass er seine Berechtigungen verwendet, um auf die Ressourcen eines anderen Kunden zu reagieren, auf die er sonst nicht zugreifen dürfte. Um dies zu verhindern, AWS bietet Tools, mit denen Sie Ihre Daten für alle Dienste mit Dienstprinzipalen schützen können, denen Zugriff auf Ressourcen in Ihrem Konto gewährt wurde.

Wir empfehlen, die Kontextschlüssel aws:SourceArn und die aws:SourceAccount globalen Bedingungsschlüssel in Ihrer ressourcenbasierten Amazon MQ MQ-Richtlinie zu verwenden, um den CloudWatch Log-Zugriff auf einen oder mehrere angegebene Broker zu beschränken.

Anmerkung

Wenn Sie beide globalen Bedingungskontextschlüssel verwenden, müssen der aws:SourceAccount-Wert und das Konto im aws:SourceArn-Wert dieselbe Konto-ID verwenden, wenn sie in derselben Richtlinienanweisung verwendet werden.

Das folgende Beispiel zeigt eine ressourcenbasierte Richtlinie, die den CloudWatch Logs-Zugriff auf einen einzelnen Amazon MQ-Broker beschränkt.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "mq.amazonaws.com" }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/amazonmq/*", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012", "aws:SourceArn": "arn:aws:mq:us-east-2:123456789012:broker:MyBroker:b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9" } } } ] }

Sie können Ihre ressourcenbasierte Richtlinie auch so konfigurieren, dass der Zugriff auf CloudWatch Protokolle auf alle Broker in einem Konto beschränkt wird, wie im Folgenden dargestellt.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "mq.amazonaws.com" ] }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/amazonmq/*", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:mq:*:123456789012:broker:*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }

Weitere Informationen über das Sicherheitsproblem des verwirrten Stellvertreters finden Sie unter Das Problem des verwirrten Stellvertreters im Benutzerhandbuch.

Fehlerbehebung bei CloudWatch der Konfiguration von Protokollen

In einigen Fällen verhalten sich CloudWatch Protokolle möglicherweise nicht immer wie erwartet. In diesem Abschnitt erhalten Sie einen Überblick über häufige Probleme und deren Lösungen.

Protokollgruppen erscheinen nicht in CloudWatch

Fügen Sie die CreateLogGroup-Berechtigung Ihrem Amazon MQ-Benutzer hinzu, und starten Sie den Broker neu. Dies ermöglicht Amazon MQ, die Protokollgruppe zu erstellen.

Protokollstreams werden nicht in CloudWatch Protokollgruppen angezeigt

Konfigurieren einer ressourcenbasierten Richtlinie für Amazon MQ. Dies ermöglicht es Ihrem Broker, seine Protokolle zu veröffentlichen.