

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Semântica das ações e recursos da política de autorização do IAM
<a name="kafka-actions"></a>

**nota**  
Para clusters que executam o Apache Kafka versão 3.8 ou posterior, o controle de acesso do IAM é compatível com a WriteTxnMarkers API para encerrar transações. Para clusters que executam versões do Kafka anteriores à 3.8, o controle de acesso do IAM não oferece suporte a ações internas de cluster, incluindo. WriteTxnMarkers Para essas versões anteriores, para encerrar transações, use a autenticação SCRAM ou mTLS com a autenticação apropriada ACLs em vez da autenticação IAM.

Esta seção explica a semântica dos elementos de ação e recurso que você pode usar em uma política de autorização do IAM. Para visualizar um exemplo de política, consulte [Criar políticas de autorização para o perfil do IAM](create-iam-access-control-policies.md).

## Ações da política de autorização
<a name="actions"></a>

A tabela a seguir lista as ações que você pode incluir em uma política de autorização ao usar o controle de acesso do IAM para o Amazon MSK. Ao incluir uma ação da coluna *Ação* da tabela em sua política de autorização, você também deve incluir as ações correspondentes da coluna *Ações obrigatórias*. 


| Ação | Description | Ações necessárias | Recursos necessários | Aplicável a clusters com a tecnologia sem servidor | 
| --- | --- | --- | --- | --- | 
| kafka-cluster:Connect | Concede permissão para se conectar e se autenticar no cluster. | Nenhum | cluster | Sim | 
| kafka-cluster:DescribeCluster | Concede permissão para descrever vários aspectos do cluster, equivalente à ACL DESCRIBE CLUSTER do Apache Kafka. | `kafka-cluster:Connect` | cluster | Sim | 
| kafka-cluster:AlterCluster | Concede permissão para alterar vários aspectos do cluster, equivalente à ACL ALTER CLUSTER do Apache Kafka. | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeCluster` | cluster | Não | 
| kafka-cluster:DescribeClusterDynamicConfiguration | Concede permissão para descrever a configuração dinâmica de um cluster, equivalente à ACL DESCRIBE\_CONFIGS CLUSTER do Apache Kafka. | `kafka-cluster:Connect` | cluster | Não | 
| kafka-cluster:AlterClusterDynamicConfiguration | Concede permissão para alterar a configuração dinâmica de um cluster, equivalente à ACL ALTER\_CONFIGS CLUSTER do Apache Kafka. | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeClusterDynamicConfiguration` | cluster | Não | 
| kafka-cluster:WriteDataIdempotently | Concede permissão para gravar dados em um cluster de modo idempotente, equivalente à ACL IDEMPOTENT\_WRITE CLUSTER do Apache Kafka. | `kafka-cluster:Connect`<br />`kafka-cluster:WriteData` | cluster | Sim | 
| kafka-cluster:CreateTopic | Concede permissão para criar tópicos em um cluster, equivalente à CREATE ACL do Apache Kafka. CLUSTER/TOPIC  | `kafka-cluster:Connect` | tópico | Sim | 
| kafka-cluster:DescribeTopic | Concede permissão para descrever os tópicos de um cluster, equivalente à ACL DESCRIBE TOPIC do Apache Kafka. | `kafka-cluster:Connect` | tópico | Sim | 
| kafka-cluster:AlterTopic | Concede permissão para alterar os tópicos de um cluster, equivalente à ACL ALTER TOPIC do Apache Kafka. | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeTopic` | tópico | Sim | 
| kafka-cluster:DeleteTopic | Concede permissão para excluir tópicos de um cluster, equivalente à ACL DELETE TOPIC do Apache Kafka. | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeTopic` | tópico | Sim | 
| kafka-cluster:DescribeTopicDynamicConfiguration | Concede permissão para descrever a configuração dinâmica dos tópicos de um cluster, equivalente à ACL DESCRIBE\_CONFIGS TOPIC do Apache Kafka. | `kafka-cluster:Connect` | tópico | Sim | 
| kafka-cluster:AlterTopicDynamicConfiguration | Concede permissão para alterar a configuração dinâmica dos tópicos de um cluster, equivalente à ACL ALTER\_CONFIGS TOPIC do Apache Kafka. | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeTopicDynamicConfiguration` | tópico | Sim | 
| kafka-cluster:ReadData | Concede permissão para ler dados dos tópicos de um cluster, equivalente à ACL READ TOPIC do Apache Kafka. | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeTopic`<br />`kafka-cluster:AlterGroup` | tópico | Sim | 
| kafka-cluster:WriteData | Concede permissão para gravar dados em tópicos de um cluster, equivalente a WRITE TOPIC ACL do Apache Kafka. | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeTopic` | tópico | Sim | 
| kafka-cluster:DescribeGroup | Concede permissão para descrever os grupos de um cluster, equivalente à ACL DESCRIBE GROUP do Apache Kafka. | `kafka-cluster:Connect` | grupo | Sim | 
| kafka-cluster:AlterGroup | Concede permissão para entrar em grupos de um cluster, equivalente à ACL READ GROUP do Apache Kafka. | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeGroup` | grupo | Sim | 
| kafka-cluster:DeleteGroup | Concede permissão para excluir grupos de um cluster, equivalente à ACL DELETE GROUP do Apache Kafka. | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeGroup` | grupo | Sim | 
| kafka-cluster:DescribeTransactionalId | Concede permissão para descrever transações IDs em um cluster, equivalente à ACL DESCRIBE TRANSACTIONAL\_ID do Apache Kafka. | `kafka-cluster:Connect` | transactional-id | Sim | 
| kafka-cluster:AlterTransactionalId | Concede permissão para alterar a transação IDs em um cluster, equivalente à ACL WRITE TRANSACTIONAL\_ID do Apache Kafka. | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeTransactionalId`<br />`kafka-cluster:WriteData` | transactional-id | Sim | 

Você pode usar o curinga asterisco (\*) quantas vezes quiser em uma ação após o sinal de dois pontos. Veja os exemplos a seguir.
+ `kafka-cluster:*Topic` corresponde a `kafka-cluster:CreateTopic`, `kafka-cluster:DescribeTopic`, `kafka-cluster:AlterTopic` e `kafka-cluster:DeleteTopic`. Isso não inclui `kafka-cluster:DescribeTopicDynamicConfiguration` ou `kafka-cluster:AlterTopicDynamicConfiguration`.
+ `kafka-cluster:*` corresponde a todas as permissões.

## Recursos da política de autorização
<a name="msk-iam-resources"></a>

A tabela a seguir mostra os quatro tipos de recurso que você pode usar em uma política de autorização ao usar o controle de acesso do IAM para o Amazon MSK. Você pode obter o Amazon Resource Name (ARN) do cluster no Console de gerenciamento da AWS ou usando a [DescribeCluster](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn.html#DescribeCluster)API ou o comando [AWS CLI describe-cluster](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/describe-cluster.html). Em seguida, você pode usar o ARN do cluster para criar ID de tópico, grupo e transação. ARNs Para especificar um recurso em uma política de autorização, use o ARN desse recurso.


| Recurso | Formato ARN | 
| --- | --- | 
| Cluster | arn:aws:kafka: ::cluster//{{region}}{{account-id}}{{cluster-name}}{{cluster-uuid}} | 
| Tópico | ar:aws:kafka: ::topic///{{region}}{{account-id}}{{cluster-name}}{{cluster-uuid}}{{topic-name}} | 
| Group (Grupo) | arn:aws:kafka: ::group///{{region}}{{account-id}}{{cluster-name}}{{cluster-uuid}}{{group-name}} | 
| ID transacional | arn:aws:kafka: ::transactional-id///{{region}}{{account-id}}{{cluster-name}}{{cluster-uuid}}{{transactional-id}} | 

Você pode usar o curinga asterisco (\*) quantas vezes quiser em qualquer lugar na parte do ARN que vem depois de `:cluster/`, `:topic/`, `:group/` e `:transactional-id/`. Veja a seguir alguns exemplos de como usar o curinga asterisco (\*) para se referir a vários recursos:
+ `arn:aws:kafka:us-east-1:0123456789012:topic/MyTestCluster/*`: todos os tópicos em qualquer cluster nomeado MyTestCluster, independentemente do UUID do cluster.
+ `arn:aws:kafka:us-east-1:0123456789012:topic/MyTestCluster/abcd1234-0123-abcd-5678-1234abcd-1/*_test`: todos os tópicos cujo nome termina com “\_test” no cluster cujo nome é MyTestCluster e cujo UUID é abcd1234-0123-abcd-5678-1234abcd-1.
+ `arn:aws:kafka:us-east-1:0123456789012:transactional-id/MyTestCluster/*/5555abcd-1111-abcd-1234-abcd1234-1`: todas as transações cuja ID transacional é 5555abcd-1111-abcd-1234-abcd1234-1, em todas as encarnações de um cluster nomeado em sua conta. MyTestCluster Isso significa que, se você criar um cluster chamado MyTestCluster, excluí-lo e criar outro cluster com o mesmo nome, poderá usar esse ARN de recurso para representar a mesma ID de transação nos dois clusters. No entanto, o cluster excluído não estará acessível.