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
In kann es zu einem dienstübergreifenden Identitätswechsel kommen AWS, wenn ein Dienst (der anrufende Dienst) einen anderen Dienst (den aufgerufenen Dienst) aufruft. Der aufrufende Service kann so manipuliert werden, dass er auf die Ressourcen eines anderen Kunden reagiert, obwohl er nicht über die entsprechenden Berechtigungen verfügen sollte, was zu einem Verwirrter-Stellvertreter-Problem führt.
Um dies zu verhindern, werden Tools AWS bereitgestellt, 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 der globalen Bedingungskontext-Schlüssel aws:SourceArn
und aws:SourceAccount
in ressourcenbasierten Richtlinien, um die Berechtigungen, die Amazon Rekognition einem anderen Service erteilt, auf die Ressource zu beschränken.
Wenn der Wert von aws:SourceArn
die Konto-ID nicht enthält, z. B. einen Amazon-S3-Bucket-ARN, müssen Sie beide Schlüssel verwenden, um Berechtigungen einzuschränken. Wenn Sie beide Schlü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 ARN der von Rekognition verwendeten Ressource sein, der im folgenden Format angegeben wird: arn:aws:rekognition:region:account:resource
.
Der Wert von arn:User ARN
sollte der ARN des Benutzers sein, der den Videoanalysevorgang aufruft (der Benutzer, der eine Rolle annimmt).
Der effektivste Weg, um sich vor dem Confused-Deputy-Problem zu schützen, ist die Verwendung des globalen aws:SourceArn
-Bedingungskontextschlüssels 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 aws:SourceArn
-Schlüssel mit Platzhalterzeichen (*
) für die unbekannten Teile des ARN. Beispiel, arn:aws:
. rekognition
:*:111122223333:*
Um sich vor dem Problem des verwechselten Stellvertreters zu schützen, führen Sie die folgenden Schritte durch:
-
Wählen Sie im Navigationsbereich der IAM-Konsole die Option Rollen aus. In der Konsole werden die Rollen für Ihr aktuelles Konto angezeigt.
-
Wählen Sie den Namen der Rolle, die Sie ändern möchten. Für die Rolle, die Sie ändern, sollte die AmazonRekognitionServiceRoleBerechtigungsrichtlinie gelten. Wählen Sie die Registerkarte Vertrauensbeziehungen.
-
Wählen Sie Vertrauensrichtlinie bearbeiten aus.
-
Ersetzen Sie auf der Seite Vertrauensrichtlinie bearbeiten die Standard-JSON-Richtlinie durch eine Richtlinie, die einen oder beide der globalen
aws:SourceArn
- undaws:SourceAccount
- Bedingungskontextschlüssel verwendet. Sehen Sie sich die folgenden Beispielrichtlinien an. -
Wählen Sie Richtlinie aktualisieren.
Die folgenden Beispiele sind Vertrauensrichtlinien, die zeigen, wie Sie die globalen aws:SourceArn
- und aws:SourceAccount
-Bedingungskontextschlüssel in Amazon Rekognition verwenden können, um das Problem des verwirrten Stellvertreters zu verhindern.
Wenn Sie mit gespeicherten Videos arbeiten und Videos streamen, könnten Sie in Ihrer IAM-Rolle eine Richtlinie wie die folgende verwenden:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"rekognition.amazonaws.com", "AWS":"arn:User ARN" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"Account ID" }, "StringLike":{ "aws:SourceArn":"arn:aws:rekognition:region:111122223333:streamprocessor/*" } } } ] }
Wenn Sie ausschließlich mit gespeicherten Videos arbeiten, könnten Sie in Ihrer IAM-Rolle eine Richtlinie wie die folgende verwenden (beachten Sie, dass Sie das StringLike
-Argument, das den streamprocessor
angibt, nicht angeben müssen):
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"rekognition.amazonaws.com", "AWS":"arn:User ARN" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"Account ID" } } } ] }