

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 Prävention bei verwirrtem Stellvertreter
<a name="cross-service-confused-deputy-prevention"></a>

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. Im AWS Fall eines dienststellenübergreifenden Identitätswechsels kann es zu einem Problem mit verwirrten Stellvertretern kommen. Cross-service *Ein Identitätswechsel kann auftreten, wenn ein Dienst (der *anrufende Dienst) einen anderen Dienst* (den angerufenen Dienst) aufruft.* 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 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) und [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) in ressourcenbasierten Richtlinien, um die Berechtigungen, die Amazon Aurora DSQL einem anderen Service erteilt, auf eine bestimmte Ressource zu beschränken. 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 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:{{dsql}}:*:{{123456789012}}:*`. 

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. 

Der Wert von `aws:SourceArn` muss der ARN der Aurora DSQL-Ressource sein, für die die Servicerolle agiert.

Das folgende Beispiel zeigt, wie Sie die globalen Bedingungskontext-Schlüssel `aws:SourceArn` und `aws:SourceAccount` in Aurora DSQL verwenden können, um das Confused-Deputy-Problem zu vermeiden.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Sid": "ConfusedDeputyPreventionExamplePolicy",
    "Effect": "Allow",
    "Principal": {
      "Service": "backup.amazonaws.com"
    },
    "Action": "dsql:GetCluster",
    "Resource": [
      "arn:aws:dsql:*:{{123456789012}}:cluster/*"
    ],
    "Condition": {
      "ArnLike": {
        "aws:SourceArn": "arn:aws:backup:*:{{123456789012}}:*"
      },
      "StringEquals": {
        "aws:SourceAccount": "{{123456789012}}"
      }
    }
  }
}
```

------

## CDC-Stream-Dienstrolle
<a name="cross-service-confused-deputy-cdc"></a>

Change Data Capture (CDC) -Streams erfordern eine IAM-Servicerolle, von der Aurora DSQL annimmt, um CDC-Datensätze in Ihr Ziel zu schreiben. Wenn Sie diese Rolle erstellen, stellen Sie mithilfe `aws:SourceAccount` und `aws:SourceArn` unter bestimmten Bedingungen in der Vertrauensrichtlinie sicher, dass nur CDC-Streams in Ihrem Konto die Rolle übernehmen können.

Legt `aws:SourceArn` das Stream-ARN-Muster für den Cluster fest, der die Rolle verwendet. Da Aurora DSQL die Stream-ID bei der Erstellung des Streams nicht zugewiesen hat, verwenden Sie einen Platzhalter für den Stream-Teil des ARN:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DSQLAssumeRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "dsql.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "{{your-account-id}}"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:dsql:{{region}}:{{your-account-id}}:cluster/{{cluster-id}}/stream/*"
                }
            }
        }
    ]
}
```

Nachdem Sie einen Stream erstellt haben, können Sie ihn `aws:SourceArn` auf den exakten Stream-ARN ARN, wenn die Rolle einen einzelnen Stream bedient. Eine vollständige Erläuterung der Vertrauens- und Berechtigungsrichtlinie für CDC-Dienstrollen finden Sie unter. [IAM konfigurieren](cdc-iam.md)