View a markdown version of this page

Configurer les autorisations pour utiliser les flux CDC dans Amazon Keyspaces - Amazon Keyspaces (pour Apache Cassandra)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configurer les autorisations pour utiliser les flux CDC dans Amazon Keyspaces

Pour activer les flux CDC, le principal, par exemple un utilisateur ou un rôle IAM, a besoin des autorisations suivantes.

Pour plus d'informations sur Gestion des identités et des accès AWS, consultezGestion des identités et des accès AWS pour Amazon Keyspaces.

Autorisations pour activer un flux CDC pour une table

Pour activer un flux CDC pour une table Amazon Keyspaces, le principal doit d'abord avoir les autorisations nécessaires pour créer ou modifier une table, puis les autorisations nécessaires pour créer le rôle AWSServiceRoleForAmazonKeyspacesCDC lié au service. Amazon Keyspaces utilise le rôle lié au service pour publier CloudWatch des statistiques sur votre compte en votre nom.

La politique IAM suivante en est un exemple.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "cassandra:Create", "cassandra:CreateMultiRegionResource", "cassandra:Alter", "cassandra:AlterMultiRegionResource" ], "Resource":[ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/my_keyspace/*", "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ] }, { "Sid": "KeyspacesCDCServiceLinkedRole", "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/cassandra-streams.amazonaws.com/AWSServiceRoleForAmazonKeyspacesCDC", "Condition": { "StringLike": { "iam:AWSServiceName": "cassandra-streams.amazonaws.com" } } } ] }

Pour désactiver un flux, seules ALTER TABLE des autorisations sont requises.

Autorisations pour afficher un flux CDC

Pour afficher ou répertorier les flux CDC, le principal a besoin d'autorisations de lecture pour l'espace clé du système. Pour de plus amples informations, veuillez consulter system_schema_mcs.

La politique IAM suivante en est un exemple.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"cassandra:Select", "Resource":[ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ] } ] }

Pour afficher ou répertorier les flux CDC avec l'API Amazon Keyspaces AWS CLI ou l'API Amazon Keyspaces, le principal a besoin d'autorisations supplémentaires pour les actions cassandra:ListStreams etcassandra:GetStream.

La politique IAM suivante en est un exemple.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cassandra:Select", "cassandra:ListStreams", "cassandra:GetStream" ], "Resource": "*" } ] }

Autorisations pour lire un flux CDC

Pour lire les flux CDC, le principal a besoin des autorisations suivantes.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "cassandra:GetStream", "cassandra:GetShardIterator", "cassandra:GetRecords" ], "Resource":[ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/my_keyspace/table/my_table/stream/stream_label" ] } ] }

Autorisations pour traiter les flux Amazon Keyspaces CDC avec la bibliothèque cliente Kinesis (KCL)

Pour traiter les flux CDC d'Amazon Keyspaces avec KCL, le principal IAM doit disposer des autorisations suivantes.

  • Amazon Keyspaces— Read-only accès à un flux Amazon Keyspaces CDC spécifié.

  • DynamoDB— Autorisations permettant de créer shard lease des tables, d'accéder aux tables en lecture et en écriture et d'accéder en lecture à l'index, selon les besoins du traitement des flux KCL.

  • CloudWatch— Autorisations pour publier des données métriques provenant d'Amazon Keyspaces Le CDC diffuse le traitement avec KCL dans l'espace de noms de votre application cliente KCL sur votre compte. CloudWatch Pour plus d'informations sur la surveillance, consultez Surveiller la bibliothèque cliente Kinesis avec Amazon CloudWatch.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "cassandra:GetStream", "cassandra:GetShardIterator", "cassandra:GetRecords" ], "Resource":[ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/my_keyspace/table/my_table/stream/stream_label" ] }, { "Effect":"Allow", "Action":[ "dynamodb:CreateTable", "dynamodb:DescribeTable", "dynamodb:UpdateTable", "dynamodb:GetItem", "dynamodb:UpdateItem", "dynamodb:PutItem", "dynamodb:DeleteItem", "dynamodb:Scan" ], "Resource":[ "arn:aws:dynamodb:us-east-1:111122223333:table/KCL_APPLICATION_NAME" ] }, { "Effect":"Allow", "Action":[ "dynamodb:CreateTable", "dynamodb:DescribeTable", "dynamodb:GetItem", "dynamodb:UpdateItem", "dynamodb:PutItem", "dynamodb:DeleteItem", "dynamodb:Scan" ], "Resource":[ "arn:aws:dynamodb:us-east-1:111122223333:table/KCL_APPLICATION_NAME-WorkerMetricStats", "arn:aws:dynamodb:us-east-1:111122223333:table/KCL_APPLICATION_NAME-CoordinatorState" ] }, { "Effect":"Allow", "Action":[ "dynamodb:Query" ], "Resource":[ "arn:aws:dynamodb:us-east-1:111122223333:table/KCL_APPLICATION_NAME/index/*" ] }, { "Effect":"Allow", "Action":[ "cloudwatch:PutMetricData" ], "Resource":"*" } ] }