Configure los permisos para trabajar con las transmisiones de los CDC en Amazon Keyspaces - Amazon Keyspaces (para Apache Cassandra)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configure los permisos para trabajar con las transmisiones de los CDC en Amazon Keyspaces

Para habilitar las transmisiones de los CDC, el director, por ejemplo, un usuario o rol de IAM, necesita los siguientes permisos.

Para obtener más información al respecto AWS Identity and Access Management, consulteAWS Identity and Access Management para Amazon Keyspaces.

Permisos para habilitar una transmisión de los CDC para una tabla

Para habilitar una transmisión de CDC para una tabla de Amazon Keyspaces, el director primero necesita permisos para crear una tabla y, en segundo lugar, los permisos para crear el rol AWSService RoleForAmazonKeyspaces CDC vinculado al servicio. Amazon Keyspaces utiliza el rol vinculado al servicio para publicar CloudWatch las métricas en su cuenta en su nombre.

La siguiente política de IAM es un ejemplo de ello.

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

Para deshabilitar una transmisión, solo se requieren ALTER TABLE permisos.

Permisos para ver una transmisión de los CDC

Para ver o enumerar las transmisiones de los CDC, el director necesita permisos de lectura para el espacio de claves del sistema. Para obtener más información, consulte system_schema_mcs.

La siguiente política de IAM es un ejemplo de ello.

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

Para ver o enumerar las transmisiones de los AWS CLI CDC con la API de Amazon Keyspaces, el director necesita permisos para las acciones cassandra:ListStreams y. cassandra:GetStream

La siguiente política de IAM es un ejemplo de ello.

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

Permisos para leer una transmisión de los CDC

Para leer las transmisiones de los CDC, el director necesita los siguientes permisos.

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

Permisos para procesar las transmisiones de los CDC de Amazon Keyspaces con la biblioteca de clientes de Kinesis (KCL)

Para procesar las transmisiones de CDC de Amazon Keyspaces con KCL, el director de IAM necesita los siguientes permisos.

  • Amazon Keyspaces— Acceso de solo lectura a una transmisión CDC específica de Amazon Keyspaces.

  • DynamoDB— Permisos para crear shard lease tablas, acceso de lectura y escritura a las tablas y acceso de lectura al índice, según sea necesario para el procesamiento de la transmisión de KCL.

  • CloudWatch— Permisos para publicar datos de métricas de Amazon Keyspaces Los CDC transmiten el procesamiento con KCL al espacio de nombres de la aplicación cliente de KCL de su cuenta. CloudWatch Para obtener más información sobre la supervisión, consulte Supervisar la biblioteca de clientes de Kinesis con 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":"*" } ] }