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 AWS Identity and Access Management, voirAWS Identity and Access Management pour Amazon Keyspaces.

Autorisations permettant d'activer un flux CDC pour une table

Pour activer un flux CDC pour une table Amazon Keyspaces, le principal a d'abord besoin des autorisations pour créer une table, puis des autorisations pour créer le rôle AWSService RoleForAmazonKeyspaces CDC lié à un service. Amazon Keyspaces utilise le rôle lié au service pour publier des CloudWatch statistiques sur votre compte en votre nom

La politique IAM suivante en est un exemple.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ // Enable CDC stream during table creation "cassandra:Create", "cassandra:CreateMultiRegionResource", // Enable CDC stream after creation "cassandra:Alter", "cassandra:AlterMultiRegionResource" ], "Resource":[ "arn:aws:cassandra:aws-region:555555555555:/keyspace/my_keyspace/*", "arn:aws:cassandra:aws-region:555555555555:/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 les autorisations sont requises.

Autorisations pour visionner un stream du CDC

Pour afficher ou répertorier les flux CDC, le principal a besoin d'autorisations de lecture pour le keyspace 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:aws-region:111122223333:/keyspace/system*" ] } ] }

Pour afficher ou répertorier les flux CDC à l'aide de l'API Amazon Keyspaces AWS CLI ou de l'API Amazon Keyspaces, le principal a besoin d'autorisations pour les actions cassandra:ListStreams et. cassandra:GetStream

La politique IAM suivante en est un exemple.

{ "Effect": "Allow", "Action": [ "cassandra:Select", "cassandra:ListStreams", "cassandra:GetStream" ], "Resource": "*" }

Autorisations pour lire un stream du CDC

Pour lire les flux du CDC, le directeur doit disposer des autorisations suivantes.

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

Autorisations pour traiter les flux CDC d'Amazon Keyspaces avec la Kinesis Client Library (KCL)

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

  • Amazon Keyspaces— Accès en lecture seule à un flux Amazon Keyspaces CDC spécifique.

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

  • CloudWatch— Autorisations permettant de publier des données métriques depuis Amazon Keyspaces 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:aws-region: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:aws-region: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:aws-region:111122223333:table/KCL_APPLICATION_NAME-WorkerMetricStats", "arn:aws:dynamodb:aws-region:111122223333:table/KCL_APPLICATION_NAME-CoordinatorState" ] }, { "Effect":"Allow", "Action":[ "dynamodb:Query" ], "Resource":[ "arn:aws:dynamodb:aws-region:111122223333:table/KCL_APPLICATION_NAME/index/*" ] }, { "Effect":"Allow", "Action":[ "cloudwatch:PutMetricData" ], "Resource":"*" } ] }