

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.

# IAM konfigurieren
<a name="cdc-iam"></a>

**Wichtig**  
Diese Funktion wird als AWS Vorversion bereitgestellt und kann sich ändern. Weitere Informationen finden Sie in Abschnitt 2, Betas und Vorschauen, in den [AWS Servicebedingungen](https://aws.amazon.com/service-terms/). Weitere Informationen zu den Preisen für CDC-Streams finden Sie auf der [Aurora DSQL-Preisseite](https://aws.amazon.com/rds/aurora/dsql/pricing/).  
Vor der allgemeinen Verfügbarkeit werden wir Ihrer Stream-Payload neue Operationstypen (`"op": "u"`für Updates) hinzufügen. Um sicherzustellen, dass Ihre Anwendung diese Änderungen unverändert verarbeitet, behandeln Sie jeden unbekannten `op` Wert als Fehler, indem Sie die Payload übernehmen. `after` Details dazu finden Sie unter [CDC-Datensätze verstehen](cdc-record-format.md).

CDC-Streams erfordern zwei separate Sätze von IAM-Berechtigungen:
+ **Aufruferberechtigungen** — Der IAM-Principal, der die CDC-Stream-API-Operationen (`CreateStream`,,`ListStreams`) aufruft `GetStream``DeleteStream`, benötigt Berechtigungen für diese Aktionen und für. `iam:PassRole`
+ **Servicerolle** — Eine IAM-Rolle, die Aurora DSQL zur Laufzeit annimmt, um CDC-Datensätze in Ihr Ziel zu schreiben. Sie erstellen diese Rolle, fügen eine Vertrauensrichtlinie hinzu, die es dem Aurora DSQL-Serviceprinzipal ermöglicht, sie zu übernehmen, und fügen eine Berechtigungsrichtlinie hinzu, die Schreibzugriff auf das Ziel gewährt.

**Anmerkung**  
Die CDC-Servicerolle ist unabhängig von allen ressourcenbasierten Richtlinien auf Ihrem Aurora DSQL-Cluster. Eine auf Clusterressourcen basierende Richtlinie steuert, welche Principals eine Verbindung zum Cluster herstellen und ihn abfragen können. Die CDC-Servicerolle steuert, in welches Ziel Aurora DSQL CDC-Datensätze schreiben kann.

## Berechtigungen des Anrufers
<a name="cdc-iam-caller-permissions"></a>

Der IAM-Principal, der die CDC-Stream-API-Operationen aufruft, benötigt Berechtigungen für die entsprechenden `dsql` Aktionen und. `iam:PassRole` Der `CreateStream` Vorgang ist erforderlich`iam:PassRole`, da er den ARN der Servicerolle an Aurora DSQL weitergibt. Folgendes ist eine Beispielrichtlinie:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DSQLStreamActions",
            "Effect": "Allow",
            "Action": [
                "dsql:CreateStream",
                "dsql:GetStream",
                "dsql:ListStreams",
                "dsql:DeleteStream"
            ],
            "Resource": [
                "arn:aws:dsql:{{region}}:{{your-account-id}}:cluster/{{cluster-id}}",
                "arn:aws:dsql:{{region}}:{{your-account-id}}:cluster/{{cluster-id}}/stream/*"
            ]
        },
        {
            "Sid": "PassServiceRole",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::{{your-account-id}}:role/{{dsql-cdc-role}}",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "dsql.amazonaws.com"
                }
            }
        }
    ]
}
```

Das `Resource` Element umfasst sowohl den Cluster-ARN (erforderlich für `CreateStream` und`ListStreams`) als auch das Stream-ARN-Muster (erforderlich für `GetStream` und`DeleteStream`).

Eine vollständige Liste der für jeden Vorgang erforderlichen Berechtigungen finden Sie unter [CreateStream[GetStream](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_GetStream.html)](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_CreateStream.html), [DeleteStream](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_DeleteStream.html), und [ListStreams](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_ListStreams.html)in der [Amazon Aurora SQL API-Referenz.](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/CHAP_api_reference.html)

## Service – -Rolle
<a name="cdc-iam-service-role"></a>

Die Servicerolle ist die IAM-Rolle, die Aurora DSQL annimmt, um CDC-Datensätze in Ihr Ziel zu schreiben. Sie erstellen diese Rolle und übergeben ihren ARN in das `targetDefinition.kinesis.roleArn` Feld, wenn Sie anrufen`CreateStream`. Die Rolle erfordert eine Vertrauensrichtlinie und eine Berechtigungsrichtlinie.

## Vertrauensrichtlinie für die Servicerolle
<a name="cdc-iam-trust-policy"></a>

Die Vertrauensrichtlinie muss es dem Aurora DSQL-Serviceprinzipal ermöglichen, die Rolle zu übernehmen. Verwenden Sie die Tasten und `aws:SourceArn` Condition, um sich vor Angriffen mit [verwirrten `aws:SourceAccount` Stellvertretern](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) zu schützen.

```
{
    "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/*"
                }
            }
        }
    ]
}
```

Die `aws:SourceArn` Bedingung beschränkt die Rolle auf Streams in einem bestimmten Cluster. Sie müssen den Platzhalter (`stream/*`) verwenden, wenn Sie einen Stream erstellen, da Aurora DSQL die Stream-ID noch nicht zugewiesen hat. Nachdem Sie einen Stream erstellt haben, können Sie die Bedingung auf den exakten Stream-ARN (`arn:aws:dsql:{{region}}:{{your-account-id}}:cluster/{{cluster-id}}/stream/{{stream-id}}`) beschränken, wenn die Rolle einen einzelnen Stream bedient.

Um die Rolle mit Streams auf einem beliebigen Cluster in Ihrem Konto zu verwenden, verwenden Sie einen breiteren Platzhalter:. `arn:aws:dsql:{{region}}:{{your-account-id}}:cluster/*/stream/*`

Weitere Informationen zur Prävention verwirrter Stellvertreter finden Sie [Cross-service Prävention bei verwirrtem Stellvertreter](cross-service-confused-deputy-prevention.md) in diesem Leitfaden.

## Richtlinie für Berechtigungen für Servicerollen
<a name="cdc-iam-permissions-policy"></a>

Die Berechtigungsrichtlinie gewährt der Servicerolle Zugriff, um Datensätze in Ihren Kinesis-Datenstrom zu schreiben. Die folgende Richtlinie umfasst sowohl Kinesis-Schreibberechtigungen als auch AWS KMS Berechtigungen. Die `KMSAccess` Anweisung ist nur erforderlich, wenn Ihr Kinesis-Datenstream einen vom AWS KMS Kunden verwalteten Schlüssel verwendet. Sie können ihn jedoch präventiv einbeziehen, sodass Ihr CDC-Stream nicht unterbrochen wird, wenn Sie später einen vom Kunden verwalteten Schlüssel hinzufügen.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "KinesisAccess",
            "Effect": "Allow",
            "Action": [
                "kinesis:PutRecord",
                "kinesis:PutRecords",
                "kinesis:DescribeStreamSummary",
                "kinesis:ListShards"
            ],
            "Resource": "arn:aws:kinesis:{{region}}:{{your-account-id}}:stream/{{kinesis-stream-name}}"
        },
        {
            "Sid": "KMSAccess",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:*:*:key/*",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "kinesis.{{region}}.amazonaws.com",
                    "kms:EncryptionContext:aws:kinesis:arn": "arn:aws:kinesis:{{region}}:{{your-account-id}}:stream/{{kinesis-stream-name}}",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

Die Bedingungen in der AWS KMS Erklärung bieten die folgenden Schutzmaßnahmen:
+ `kms:ViaService`— Beschränkt die Schlüsselnutzung auf Anfragen, die über den Kinesis-Service in der angegebenen Region eingehen.
+ `kms:EncryptionContext:aws:kinesis:arn`— Beschränkt die Schlüsselverwendung auf Verschlüsselungsvorgänge für den angegebenen Kinesis-Datenstrom.
+ `aws:ResourceAccount`— Der Schlüssel muss zu demselben AWS Konto gehören wie der aufrufende Prinzipal, wodurch eine kontoübergreifende Schlüsselnutzung verhindert wird.

**Anmerkung**  
Der AWS KMS Schlüssel, auf den hier verwiesen wird, ist der Verschlüsselungsschlüssel im Kinesis-Datenstream, nicht der AWS KMS Schlüssel des Clusters. Der Verschlüsselungsschlüssel des Clusters schützt CDC-Daten innerhalb der Aurora DSQL-Grenze. Der Kinesis-Verschlüsselungsschlüssel schützt CDC-Daten, nachdem Aurora DSQL sie in den Kinesis-Datenstrom geschrieben hat.

## Datenschutz
<a name="cdc-data-protection"></a>

Aurora DSQL verwendet Transport Layer Security (TLS), um CDC-Daten bei der Übertragung zwischen Aurora DSQL und Ihrem Ziel zu verschlüsseln. Innerhalb der Aurora DSQL-Grenze verschlüsselt Aurora DSQL CDC-Daten im Ruhezustand mithilfe des Verschlüsselungsschlüssels des Clusters.

Wenn der Cluster einen vom AWS KMS Kunden verwalteten Schlüssel verwendet und auf diesen Schlüssel nicht mehr zugegriffen werden kann, wird in einem `ACTIVE` `IMPAIRED` Oder-Stream der Fehlercode angezeigt. `IMPAIRED` `CLUSTER_CMK_INACCESSIBLE` Wenn auf den Schlüssel nicht mehr zugegriffen werden kann, bevor die Erstellung des Streams abgeschlossen ist, wechselt der Stream direkt zu. `FAILED`

Eine ausführliche Erläuterung der Verschlüsselung in Aurora DSQL finden Sie unter [Datenverschlüsselung für Amazon Aurora DSQL](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/data-encryption.html) in diesem Handbuch.