Serviceübergreifende Confused-Deputy-Prävention - AWS CloudFormation

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. In AWS kann ein dienstübergreifendes Identitätswechsels zu einem Problem mit dem verwirrten Stellvertreter führen. Ein serviceübergreifender Identitätswechsel kann auftreten, wenn ein Service (der Anruf-Service) einen anderen Service anruft (den aufgerufenen Service). Der Anruf-Service 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 Verwendung von aws:SourceArn und aws:SourceAccountKontextschlüssel für globale Bedingungen in Ressourcenrichtlinien, um die Berechtigungen einzuschränken, AWS CloudFormation die einer bestimmten Ressource, z. B. einer CloudFormation Erweiterung, einem anderen Dienst gewähren. 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.

Stellen Sie sicher, dass der aws:SourceArn Wert von ARN der Ressource entspricht, die CloudFormation gespeichert wird.

Der wirksamste Schutz vor dem Problem mit dem verwirrten Deputy ist die Verwendung des Kontextschlüssels für aws:SourceArn globale Bedingungen mit ARN der gesamten Ressource. Wenn Sie die gesamte ARN Ressource nicht kennen oder wenn Sie mehrere Ressourcen angeben, verwenden Sie den aws:SourceArn globalen Kontextbedingungsschlüssel mit Platzhaltern (*) für die unbekannten Teile von. ARN Beispiel, arn:aws:cloudformation:*:123456789012:*.

Wenn der aws:SourceArn Wert die Konto-ID nicht enthält, müssen Sie beide globalen Bedingungskontextschlüssel verwenden, um die Berechtigungen einzuschränken.

Das folgende Beispiel zeigt, wie Sie die Kontextschlüssel aws:SourceArn und die aws:SourceAccount globalen Bedingungsschlüssel in verwenden können, CloudFormation um das Problem des verwirrten Stellvertreters zu vermeiden.

Beispiel für eine Vertrauensrichtlinie, die Schlüssel aws:SourceArn und aws:SourceAccount Bedingungsschlüssel verwendet

Ruft bei Registrierungsdiensten AWS Security Token Service (AWS STS) auf, CloudFormation um eine Dienstrolle in Ihrem Konto zu übernehmen. Diese Rolle ist konfiguriert für ExecutionRoleArn RegisterTypeBedienung und LogRoleArn Einstellung in der LoggingConfigBetrieb. Weitere Informationen finden Sie unter Konfigurieren Sie eine Ausführungsrolle mit IAM Berechtigungen und einer Vertrauensrichtlinie für den Zugriff auf öffentliche Erweiterungen.

Dieses Beispiel für eine Vertrauensrichtlinie für Rollen verwendet Bedingungsanweisungen, um die AssumeRole Funktionalität der Servicerolle auf Aktionen für die angegebene CloudFormation Erweiterung im angegebenen Konto zu beschränken. Die Bedingungen aws:SourceArn und aws:SourceAccount werden unabhängig ausgewertet. Jede Anforderung, die Servicerolle zu verwenden, muss beide Bedingungen erfüllen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "resources.cloudformation.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "StringLike": { "aws:SourceArn": "arn:aws:cloudformation:us-east-1:123456789012:type/resource/Organization-Service-Resource/*" } } } ] }

Zusätzliche Informationen

Richtlinien, die beispielsweise die Kontextschlüssel aws:SourceArn und die aws:SourceAccount globalen Bedingungsschlüssel für eine von verwendete Servicerolle verwenden StackSets, finden Sie unterRichten Sie globale Schlüssel ein, um Confused-Deputy-Probleme zu mindern..

Weitere Informationen finden Sie im IAMBenutzerhandbuch unter Aktualisieren einer Rollenvertrauensrichtlinie.