Vermeidung des Problems des verwirrten Stellvertreters (dienstübergreifend) - AWS Systems Manager

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.

Vermeidung des Problems des verwirrten Stellvertreters (dienstübergreifend)

Das Confused-Deputy-Problem ist ein Sicherheitsproblem, bei dem eine Entität, die nicht über die Berechtigung zum Ausführen einer Aktion verfügt, eine Entität mit größeren Rechten zwingen kann, die Aktion auszuführen. In AWS kann der dienstübergreifende Identitätswechsel zu Confused-Deputy-Problem führen. Ein dienstübergreifender Identitätswechsel kann auftreten, wenn ein Dienst (der Anruf-Dienst) einen anderen Dienst anruft (den aufgerufenen Dienst). Der aufrufende Service kann manipuliert werden, um seine Berechtigungen zu verwenden, um Aktionen auf die Ressourcen eines anderen Kunden auszuführen, für die er sonst keine Zugriffsberechtigung haben sollte. Um dies zu verhindern, bietet AWS Tools, mit denen Sie Ihre Daten für alle Services mit Serviceprinzipalen schützen können, die Zugriff auf Ressourcen in Ihrem Konto erhalten haben.

Wir empfehlen die Verwendung der globalen Bedingungskontext-Schlüssel aws:SourceArn und aws:SourceAccount in ressourcenbasierten Richtlinien, um die Berechtigungen, die AWS Systems Manager einem anderen Service erteilt, auf eine bestimmte Ressource zu beschränken. Wenn der aws:SourceArn-Wert nicht die Konto-ID enthält, z. B. den Amazon-Ressourcenname (ARN) eines S3-Buckets, müssen Sie beide globale Bedingungskontext-Schlüssel verwenden, um Berechtigungen einzuschränken. Wenn Sie beide globale Bedingungskontextschlüssel verwenden und der aws:SourceArn-Wert die Konto-ID enthält, müssen der aws:SourceAccount-Wert und das Konto im aws:SourceArn-Wert dieselbe Konto-ID verwenden, wenn sie in der gleichen Richtlinienanweisung verwendet wird. Verwenden Sie aws:SourceArn, wenn Sie nur eine Ressource mit dem betriebsübergreifenden Zugriff verknüpfen möchten. Verwenden Sie aws:SourceAccount, wenn Sie zulassen möchten, dass Ressourcen in diesem Konto mit der betriebsübergreifenden Verwendung verknüpft werden.

In den folgenden Abschnitten finden Sie Beispielrichtlinien für AWS Systems Manager-Funktionen.

Beispiel für hybride Aktivierungsrichtlinien

Bei Servicerollen, die bei einer Hybrid-Aktivierung verwendet werden, muss der Wert von aws:SourceArn der ARN des AWS-Konto sein. Geben Sie die AWS-Region im ARN an, mit dem Sie Ihre Hybrid-Aktivierung erstellt haben. Wenn Sie den vollständigen ARN der Ressource nicht kennen oder wenn Sie mehrere Ressourcen angeben, verwenden Sie den globalen Bedingungskontext-Schlüssel aws:SourceArn mit Platzhaltern (*) für die unbekannten Teile des ARN. Zum Beispiel arn:aws:ssm:*:region:123456789012:*.

Das folgende Beispiel veranschaulicht die Verwendung der globalen Bedingungskontext-Schlüssel aws:SourceArn und aws:SourceAccount für Automatisierung, um das Confused-Deputy-Problem in der Region USA Ost (Ohio) (us-east-2) zu verhindern.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"123456789012" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:us-east-2:123456789012:*" } } } ] }

Beispiel-Richtlinie für Ressourcen-Datensynchronisierung

Systems Manager Bestand, Explorer und Compliance ermöglichen es Ihnen, eine Ressourcen-Datensynchronisierung zu erstellen, um die Speicherung Ihrer Betriebsdaten (OpsData) in einem zentralen Amazon-Simple-Storage-Service-Bucket zu zentralisieren. Wenn Sie eine Ressourcen-Datensynchronisierung mit AWS Key Management Service (AWS KMS) verschlüsseln möchten, müssen Sie entweder einen neuen Schlüssel erstellen, in dem die folgende Richtlinie enthalten ist, oder Sie aktualisieren einen vorhandenen Schlüssel und fügen ihm diese Richtlinie hinzu. Die aws:SourceArn und aws:SourceAccount-Bedingungsschlüssel in dieser Richtlinie verhindern das Confused-Deputy-Problem. Hier ist eine Beispielrichtlinie.

{ "Version": "2012-10-17", "Id": "ssm-access-policy", "Statement": [ { "Sid": "ssm-access-policy-statement", "Action": [ "kms:GenerateDataKey" ], "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Resource": "arn:aws:kms:us-east-2:123456789012:key/KMS_key_id", "Condition": { "StringLike": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:ssm:*:123456789012:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM" } } } ] }
Anmerkung

Der ARN in der Beispielrichtlinie ermöglicht es dem System, OpsData aus allen Quellen außer AWS Security Hub zu verschlüsseln. Wenn Sie Security-Hub-Daten verschlüsseln müssen, zum Beispiel wenn SieExplorer verwenden, um Security-Hub-Daten zu sammeln, müssen Sie eine zusätzliche Richtlinie anfügen, die den folgenden ARN angibt:

"aws:SourceArn": "arn:aws:ssm:*:account-id:role/aws-service-role/opsdatasync.ssm.amazonaws.com/AWSServiceRoleForSystemsManagerOpsDataSync"