View a markdown version of this page

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 zuweisen 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 über die ActiveMQ-Webkonsole veröffentlichen, wird der Inhalt der Nachricht an die Protokolle gesendet und dort angezeigt. CloudWatch

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

Grundlegendes zur Struktur der Protokollierung in Logs CloudWatch

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

Bei der allgemeinen Protokollierung wird die INFO Standardprotokollierungsebene aktiviert (DEBUGProtokollierung wird nicht unterstützt) und activemq.log die Veröffentlichung erfolgt 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-Konsole durchgeführt wurden, und veröffentlicht audit.log in einer Protokollgruppe in Ihrem Konto. CloudWatch 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 haben, erstellt Amazon MQ innerhalb jeder Protokollgruppe entweder einen oder zwei Log-Streams. 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 Arbeiten mit Protokollgruppen und 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 entsprechende Berechtigung 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 IAM-based Beispielrichtlinie gewährt Benutzern, denen diese Richtlinie zugeordnet ist, Berechtigungen. logs:CreateLogGroup

JSON
{ "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 zum Einrichten von Benutzern und zum Konfigurieren von IAM-Richtlinien finden Sie unter Identitätsverwaltung im Überblick im IAM-Benutzerhandbuch.

Weitere Informationen finden Sie CreateLogGroup in der Amazon CloudWatch Logs API-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, die Amazon MQ Zugriff auf die folgenden CloudWatch Logs-API-Aktionen gewährt: CloudWatch

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

  • PutLogEvents— Überträgt Ereignisse an den angegebenen CloudWatch Logs-Log-Stream.

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

JSON
{ "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 folgenden Befehls 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 Konto und Region konfigurieren. AWS

Cross-service verwirrt, stellvertretender Vertreter der Prävention

Das Problem des verwirrten Stellvertreters ist ein Sicherheitsproblem, bei dem eine Entität, die keine Berechtigung zur Durchführung einer Aktion hat, eine privilegiertere Entität zur Durchführung der Aktion zwingen kann. Insofern AWS kann dienststellenübergreifender Identitätswechsel zu einem verwirrten Stellvertreterproblem führen. Cross-service Ein Identitätswechsel kann auftreten, wenn ein Dienst (der aufrufende Dienst) einen anderen Dienst (den aufgerufenen Dienst) anruft. 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 schützen können, deren Dienstprinzipale Zugriff auf Ressourcen in Ihrem Konto erhalten haben.

Wir empfehlen, die Schlüssel aws:SourceArn und den aws:SourceAccount globalen Bedingungskontext in Ihrer ressourcenbasierten Amazon MQ-Richtlinie zu verwenden, um den Zugriff auf CloudWatch Protokolle auf einen oder mehrere bestimmte 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 Zugriff auf CloudWatch Logs auf einen einzelnen Amazon MQ-Broker beschränkt.

JSON
{ "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-west-1:123456789012:broker:my-broker:123456789012" } } } ] }

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

JSON
{ "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.