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.
Permisos de replicación de temas
Utilice Amazon MSK Replicator para replicar temas entre clústeres. Otorgue al rol de ejecución del servicio permisos para conectarse a ambos clústeres, administrar los temas del replicador interno, leer datos de los temas de origen y escribir datos replicados en el clúster de destino.
Los permisos para los temas de datos del clúster de destino varían según la topicNameConfiguration configuración:
PREFIXED_WITH_SOURCE_CLUSTER_ALIAS (predeterminado): los temas replicados en el destino se nombran con el alias del clúster de origen como prefijo (por ejemplo,).
source-alias.my-topicComo no se conoce el alias de origen completo en el momento de la creación, utilícelo como recurso de tema de datos de destino de IAM.*.${topicPattern}Para las ACL de Kafka en clústeres que no son de MSK, utilice los primeros 28 caracteres del nombre del clúster de MSK como patrón con prefijo.IDÉNTICO: los temas replicados en el destino mantienen el mismo nombre que en el origen. El recurso del tema de datos de destino utiliza el mismo patrón que la fuente.
Política de IAM de funciones de ejecución de servicios (clústeres de MSK)
Adjunte la siguiente política a la función de ejecución del servicio. Sustituya los valores de los marcadores de posición por los nombres de los clústeres, los UUID y los patrones de temas. Elige la TargetDataTopicPermissions declaración que coincida con tu configuración. topicNameConfiguration
PREFIXED_WITH_SOURCE_CLUSTER_ALIAS (predeterminado)
Los temas replicados en el destino se nombran con el alias del clúster de origen como prefijo (por ejemplo,). source-alias.my-topic Como el alias completo no se conoce hasta que se crea el replicador, utilice un prefijo comodín con el patrón del tema (por ejemplo,*.${topicPattern}) en el recurso temático de datos de destino. IAM admite varios comodines en un ARN de recurso.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ClusterPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:Connect", "kafka-cluster:DescribeCluster", "kafka-cluster:WriteDataIdempotently" ], "Resource": [ "arn:aws:kafka:${region}:${account}:cluster/${SourceClusterName}/${SourceClusterUUID}", "arn:aws:kafka:${region}:${account}:cluster/${TargetClusterName}/${TargetClusterUUID}" ] }, { "Sid": "SourceInternalTopicPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:CreateTopic", "kafka-cluster:ReadData", "kafka-cluster:WriteData", "kafka-cluster:DescribeTopic", "kafka-cluster:DescribeTopicDynamicConfiguration", "kafka-cluster:AlterTopic", "kafka-cluster:AlterTopicDynamicConfiguration" ], "Resource": [ "arn:aws:kafka:${region}:${account}:topic/${SourceClusterName}/${SourceClusterUUID}/*__amazon_msk_replicator_*", "arn:aws:kafka:${region}:${account}:topic/${SourceClusterName}/${SourceClusterUUID}/mskr-offset-syncs.*", "arn:aws:kafka:${region}:${account}:topic/${SourceClusterName}/${SourceClusterUUID}/*.checkpoints.internal" ] }, { "Sid": "SourceDataTopicPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:ReadData", "kafka-cluster:DescribeTopic", "kafka-cluster:DescribeTopicDynamicConfiguration" ], "Resource": [ "arn:aws:kafka:${region}:${account}:topic/${SourceClusterName}/${SourceClusterUUID}/${topicPattern}" ] }, { "Sid": "TargetInternalTopicPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:CreateTopic", "kafka-cluster:ReadData", "kafka-cluster:WriteData", "kafka-cluster:DescribeTopic", "kafka-cluster:DescribeTopicDynamicConfiguration", "kafka-cluster:AlterTopic", "kafka-cluster:AlterTopicDynamicConfiguration" ], "Resource": [ "arn:aws:kafka:${region}:${account}:topic/${TargetClusterName}/${TargetClusterUUID}/*__amazon_msk_replicator_*", "arn:aws:kafka:${region}:${account}:topic/${TargetClusterName}/${TargetClusterUUID}/mskr-offset-syncs.*", "arn:aws:kafka:${region}:${account}:topic/${TargetClusterName}/${TargetClusterUUID}/*.checkpoints.internal" ] }, { "Sid": "TargetDataTopicPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:CreateTopic", "kafka-cluster:WriteData", "kafka-cluster:DescribeTopic", "kafka-cluster:DescribeTopicDynamicConfiguration" ], "Resource": [ "arn:aws:kafka:${region}:${account}:topic/${TargetClusterName}/${TargetClusterUUID}/*.${topicPattern}" ] }, { "Sid": "TargetGroupPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:AlterGroup", "kafka-cluster:DescribeGroup" ], "Resource": [ "arn:aws:kafka:${region}:${account}:group/${TargetClusterName}/${TargetClusterUUID}/*__amazon_msk_replicator_*" ] } ] }
IDENTICAL
Los temas replicados en el destino mantienen el mismo nombre que en el origen. Sustitúyase la TargetDataTopicPermissions declaración por la siguiente:
{ "Sid": "TargetDataTopicPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:CreateTopic", "kafka-cluster:WriteData", "kafka-cluster:DescribeTopic", "kafka-cluster:DescribeTopicDynamicConfiguration" ], "Resource": [ "arn:aws:kafka:${region}:${account}:topic/${TargetClusterName}/${TargetClusterUUID}/${topicPattern}" ] }
${topicPattern}Sustitúyala por el nombre o patrón del tema que configuraste para la replicación (por ejemplo, my-app-* o el nombre de un tema específico).
nota
Ambos clústeres de MSK requieren permisos para todos los temas internos (*__amazon_msk_replicator_*mskr-offset-syncs.*, y*.checkpoints.internal). Use esta política para cubrir ambos clústeres, independientemente del clúster que no sea de MSK.
ACL de Kafka (clústeres que no son de MSK)
Si el origen o el destino es un clúster de Apache Kafka autogestionado, configure las siguientes ACL mediante la CLI. kafka-acls Todas las ACL utilizan el tipo de ALLOW permiso y el principal con los que se autentica el replicador. A menos que se indique lo contrario, las ACL utilizan el tipo de patrón. PREFIXED
Cuando se trata de un clúster que no es de MSK, el replicador coloca la mayoría de los temas internos (sincronizaciones de compensación, puntos de control, estado del grupo de trabajo) en el clúster de MSK. El clúster que no es de MSK aloja solo temas relacionados con temas relacionados con datos y temas relacionados con los temas más importantes.
Non-MSK como fuente
Cuando la fuente es un clúster autogestionado, el replicador coloca todos los temas internos en el destino de MSK. La fuente ajena a MSK solo necesita las ACL para los temas de actualidad y los de lectura de datos.
| Tipo de recurso | Patrón | Operaciones |
|---|---|---|
Clúster |
|
Crear, describir IdempotentWrite, DescribeConfigs |
Tema (latido del corazón) |
|
Crear, leer, escribir, describir DescribeConfigs, alterar, AlterConfigs |
Tema (datos) |
PREFIJO o LITERAL por tema |
Lea, describa, DescribeConfigs |
Non-MSK como objetivo
Cuando el destino es un clúster autogestionado, el replicador coloca todos los temas internos en la fuente de MSK. El destino que no es de MSK solo necesita ACL para temas de actualidad y de redacción de datos. El patrón de los temas de datos depende de la configuración. topicNameConfiguration
| Tipo de recurso | Patrón | Operaciones |
|---|---|---|
Clúster |
|
Crear, describir IdempotentWrite, DescribeConfigs |
Tema (latido del corazón) |
|
Crear, leer, escribir, describir DescribeConfigs, alterar, AlterConfigs |
Tema (latido cardíaco replicado) |
|
Crear, leer, escribir, describir DescribeConfigs, alterar, AlterConfigs |
Tema (datos) |
|
Crear, escribir, describir DescribeConfigs, alterar, AlterConfigs |
Si utiliza nombres de IDENTICAL temas, sustituya la fila del tema de datos por la siguiente.
| Tipo de recurso | Patrón | Operaciones |
|---|---|---|
Tema (datos) |
PREFIJO o LITERAL por tema (mismo nombre que la fuente) |
Crear, escribir, describir DescribeConfigs, modificar, AlterConfigs |