View a markdown version of this page

Cross-service verwirrt, stellvertretender Vertreter der Prävention - AWS Batch

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.

Cross-service verwirrt, stellvertretender Vertreter der Prävention

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. Ein AWS dienstübergreifender Identitätswechsel kann zu einem verwirrten Stellvertreter-Problem führen. Cross-service Ein Identitätswechsel kann auftreten, wenn ein Dienst (der aufrufende Dienst) einen anderen Dienst (den aufgerufenen Dienst) anruft. 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, in Ressourcenrichtlinien die Schlüssel aws:SourceArn und den aws:SourceAccount globalen Bedingungskontext zu verwenden, um die Berechtigungen einzuschränken, die einem AWS Batch anderen Dienst für die Ressource gewähren. Wenn der aws:SourceArn-Wert die Konto-ID nicht enthält, z. B. einen Amazon-S3-Bucket-ARN, müssen Sie beide globale Bedingungskontextschlü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.

Der Wert von aws:SourceArn muss der Ressource entsprechen, die AWS Batch gespeichert wird.

Der effektivste Weg, um sich vor dem Confused-Deputy-Problem zu schützen, ist die Verwendung des globalen Bedingungskontext-Schlüssels aws:SourceArn mit dem vollständigen ARN der Ressource. Wenn Sie den vollständigen ARN der Ressource nicht kennen oder wenn Sie mehrere Ressourcen angeben, verwenden Sie den globalen Kontextbedingungsschlüssel aws:SourceArn mit Platzhalterzeichen (*) für die unbekannten Teile des ARN. Beispiel, arn:aws:servicename:*:123456789012:*.

Das folgende Beispiel zeigt, wie Sie die Kontextschlüssel aws:SourceArn und die aws:SourceAccount globalen Bedingungskontextschlüssel in verwenden können AWS Batch , um das verwirrte Stellvertreterproblem zu vermeiden.

Beispiel: Rolle für den Zugriff auf nur eine Rechenumgebung

Die folgende Rolle kann nur für den Zugriff auf eine Computerumgebung verwendet werden. Der Auftragsname muss angegeben werden, * da die Auftragswarteschlange mehreren Rechenumgebungen zugeordnet werden kann.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "batch.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": [ "arn:aws:batch:us-east-1:123456789012:compute-environment/testCE", "arn:aws:batch:us-east-1:123456789012:job/*" ] } } } ] }

Beispiel: Rolle für den Zugriff auf mehrere Computerumgebungen

Die folgende Rolle kann für den Zugriff auf mehrere Computerumgebungen verwendet werden. Der Auftragsname muss angegeben werden, * da die Auftragswarteschlange mehreren Rechenumgebungen zugeordnet werden kann.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "batch.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": [ "arn:aws:batch:us-east-1:123456789012:compute-environment/*", "arn:aws:batch:us-east-1:123456789012:job/*" ] } } } ] }