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.
Serviceübergreifende Confused-Deputy-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.
Bei AWS dienstübergreifendem Identitätswechsel kann es zu einem Problem mit dem verwirrten Stellvertreter kommen. 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 den Einsatz desaws:SourceArn
undaws:SourceAccount
globale Bedingungskontext-Schlüssel in Vertrauensrichtlinien für Amazon EC2 Auto Scaling Servicerollen. Diese Schlüssel beschränken die Berechtigungen, die Amazon EC2 Auto Scaling der Ressource einem anderen Service gewährt.
Die Werte für die SourceAccount
Felder SourceArn
und werden festgelegt, wenn Amazon EC2 Auto Scaling AWS Security Token Service (AWS STS) verwendet, um eine Rolle in Ihrem Namen zu übernehmen.
Um die globalen Bedingungsschlüssel aws:SourceArn
oder aws:SourceAccount
zu verwenden, legen Sie den Wert auf den Amazon-Ressourcennamen (ARN) oder das Konto der Ressource, die Amazon EC2 Auto Scaling speichert. Nutzen Sie, wann immer möglich, den spezifischeren Wert aws:SourceArn
. Legen Sie den Wert auf den ARN oder ein ARN-Muster mit Platzhalterzeichen fest (*
) für die unbekannten Teile des ARN. Wenn Sie den ARN der Ressource nicht kennen, verwenden Sie stattdessen aws:SourceAccount
.
Das folgende Beispiel zeigt, wie Sie die globalen Bedingungskontextschlüssel aws:SourceArn
und aws:SourceAccount
in Amazon EC2 Auto Scaling verwenden können, um das Problem des verwirrten Stellvertreters zu vermeiden.
Beispiel: Verwendenaws:SourceArn
undaws:SourceAccount
-Bedingungsschlüssel
Eine Rolle, die ein Service übernimmt, um Aktionen in Ihrem Namen durchzuführen, wird als Servicerolle bezeichnet. In Fällen, in denen Sie Lifecycle-Hooks erstellen möchten, die Benachrichtigungen an einen anderen Ort als Amazon senden EventBridge, müssen Sie eine Servicerolle erstellen, damit Amazon EC2 Auto Scaling in Ihrem Namen Benachrichtigungen an ein Amazon SNS SNS-Thema oder eine Amazon SQS SQS-Warteschlange senden kann. Wenn Sie nur eine Auto Scaling-Gruppe mit dem betriebsübergreifenden Zugriff verknüpfen möchten, können Sie die Vertrauensrichtlinie der Servicerolle wie folgt angeben.
In dieser Beispiel-Vertrauensrichtlinie werden Bedingungsanweisungen verwendet, um die AssumeRole
-Fähigkeit für die Servicerolle nur für die Aktionen, die sich auf die angegebene Auto Scaling-Gruppe im angegebenen Konto auswirken. Die Bedingungen aws:SourceArn
und aws:SourceAccount
werden unabhängig ausgewertet. Jede Anforderung, die Servicerolle zu verwenden, muss beide Bedingungen erfüllen.
Bevor Sie diese Schlüsselrichtlinie verwenden, ersetzen Sie die Beispiel-Konto-ID, die Region und den Trail-Namen durch gültige Werte aus Ihrem Konto.
{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "autoscaling.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:autoscaling:
region
:account_id
:autoScalingGroup:uuid
:autoScalingGroupName/my-asg
" }, "StringEquals": { "aws:SourceAccount": "account_id
" } } } }
Für das obige Beispiel gilt:
-
Das
Principal
-Element gibt den Auftraggeber des Dienstes an (autoscaling.amazonaws.com
). -
Das
Action
-Element spezifiziert diests:AssumeRole
Aktion. -
Das
Condition
-Element spezifiziert die globalen Bedingungsschlüsselaws:SourceArn
undaws:SourceAccount
. Der ARN der Quelle enthält die Konto-ID, daher ist es nicht erforderlich,aws:SourceAccount
mitaws:SourceArn
zu verwenden.
Zusätzliche Informationen
Weitere Informationen finden Sie unterAWS Globale Bedingungskontextschlüssel, Das Problem des verwirrten Stellvertreters, und Ändern einer Rollenvertrauensrichtlinie (Konsole) in der IAM User Guide.