

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Controllo degli accessi IAM
<a name="iam-access-control"></a>

Il Controllo degli accessi IAM per Amazon MSK ti consente di gestire sia l'autenticazione sia l'autorizzazione per il cluster MSK. Ciò elimina la necessità di utilizzare meccanismi separati per l'autenticazione e l'autorizzazione. Ad esempio, quando un client tenta di scrivere sul cluster, Amazon MSK utilizza IAM per verificare se tale client è un'identità autenticata e se è autorizzato a produrre nel cluster.

Il controllo degli accessi IAM funziona per client Java e non Java, inclusi i client Kafka scritti in Python, Go e.NET. JavaScript Il controllo degli accessi IAM per client non Java è disponibile per i cluster MSK con Kafka versione 2.7.1 o successiva.

Per rendere possibile il Controllo degli accessi IAM, Amazon MSK apporta piccole modifiche al codice sorgente di Apache Kafka. Queste modifiche non causeranno differenze evidenti nella tua esperienza con Apache Kafka. Amazon MSK registra gli eventi di accesso in modo da poterli controllare.

È possibile richiamare Apache Kafka ACL per un cluster MSK che utilizza il controllo degli accessi IAM. APIs Tuttavia, Apache Kafka ACLs non ha alcun effetto sull'autorizzazione per le identità IAM. È necessario utilizzare le policy IAM per controllare l'accesso alle identità IAM.

**Considerazioni importanti**  
Quando utilizzi il controllo degli accessi IAM con il tuo cluster MSK, tieni presenti le seguenti importanti considerazioni:  
Il controllo degli accessi IAM non si applica ai nodi ZooKeeper Apache. Per ulteriori informazioni sul controllo degli accessi a tali nodi, consulta la pagina [Controlla l'accesso ai ZooKeeper nodi Apache nel tuo cluster Amazon MSK](zookeeper-security.md).
L'impostazione `allow.everyone.if.no.acl.found` di Apache Kafka non ha effetto se il cluster utilizza il Controllo degli accessi IAM. 
Puoi richiamare Apache Kafka ACL APIs per un cluster MSK che utilizza il controllo degli accessi IAM. Tuttavia, Apache Kafka ACLs non ha alcun effetto sull'autorizzazione per le identità IAM. È necessario utilizzare le policy IAM per controllare l'accesso alle identità IAM.

# Come funziona il Controllo degli accessi IAM per Amazon MSK
<a name="how-to-use-iam-access-control"></a>

Per utilizzare il controllo degli accessi IAM per Amazon MSK, esegui i seguenti passaggi, descritti in dettaglio in questi argomenti:
+ [Crea un cluster Amazon MSK che utilizza il controllo degli accessi IAM](create-iam-access-control-cluster-in-console.md) 
+ [Configurazione dei client per il Controllo degli accessi IAM](configure-clients-for-iam-access-control.md)
+ [Crea politiche di autorizzazione per il ruolo IAM](create-iam-access-control-policies.md)
+ [Recupero dei broker di bootstrap per il Controllo degli accessi IAM](get-bootstrap-brokers-for-iam.md)

# Crea un cluster Amazon MSK che utilizza il controllo degli accessi IAM
<a name="create-iam-access-control-cluster-in-console"></a>

Questa sezione spiega come utilizzare Console di gestione AWS, l'API o il AWS CLI per creare un cluster Amazon MSK che utilizza il controllo degli accessi IAM. Per informazioni su come attivare il Controllo degli accessi IAM per un cluster esistente, consulta la pagina [Aggiornamento delle impostazioni di sicurezza di un cluster Amazon MSK](msk-update-security.md).

**Utilizza il Console di gestione AWS per creare un cluster che utilizza il controllo degli accessi IAM**

1. Apri la console Amazon MSK all'indirizzo [https://console.aws.amazon.com/msk/](https://console.aws.amazon.com/msk/).

1. Scegli **Crea cluster**.

1. Scegli **Crea cluster con impostazioni personalizzate**.

1. Nella sezione **Autenticazione**, scegli **Controllo degli accessi IAM**.

1. Completa il resto del flusso di lavoro per creare un cluster.

**Utilizza l'API o il AWS CLI per creare un cluster che utilizza il controllo degli accessi IAM**
+ Per creare un cluster con il controllo degli accessi IAM abilitato, utilizza l'[CreateCluster](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#CreateCluster)API o il comando [CLI create-cluster](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/create-cluster.html) e passa il seguente JSON per il parametro:. `ClientAuthentication` `"ClientAuthentication": { "Sasl": { "Iam": { "Enabled": true } }` 

# Configurazione dei client per il Controllo degli accessi IAM
<a name="configure-clients-for-iam-access-control"></a>

Per consentire ai client di comunicare con un cluster MSK che utilizza il controllo degli accessi IAM, è possibile utilizzare uno di questi meccanismi:
+ Configurazione client non Java tramite meccanismo SASL\$1OAUTHBEARER
+ Configurazione del client Java mediante SASL\$1OAUTHBEARER meccanismo o AWS\$1MSK\$1IAM meccanismo

## Usa il SASL\$1OAUTHBEARER meccanismo per configurare IAM
<a name="configure-clients-for-iam-access-control-sasl-oauthbearer"></a>

1. Modifica il tuo file di configurazione client.properties usando il seguente esempio di client Python Kafka. Le modifiche alla configurazione sono simili in altri linguaggi.

   ```
   from kafka import KafkaProducer
   from kafka.errors import KafkaError
   from kafka.sasl.oauth import AbstractTokenProvider
   import socket
   import time
   from aws_msk_iam_sasl_signer import MSKAuthTokenProvider
   
   class MSKTokenProvider():
       def token(self):
           token, _ = MSKAuthTokenProvider.generate_auth_token('<my Regione AWS>')
           return token
   
   tp = MSKTokenProvider()
   
   producer = KafkaProducer(
       bootstrap_servers='<myBootstrapString>',
       security_protocol='SASL_SSL',
       sasl_mechanism='OAUTHBEARER',
       sasl_oauth_token_provider=tp,
       client_id=socket.gethostname(),
   )
   
   topic = "<my-topic>"
   while True:
       try:
           inp=input(">")
           producer.send(topic, inp.encode())
           producer.flush()
           print("Produced!")
       except Exception:
           print("Failed to send message:", e)
   
   producer.close()
   ```

1. Scarica la libreria di supporto per la lingua di configurazione scelta e segui le istruzioni nella sezione *Guida introduttiva* della home page della libreria di lingue in questione.
   + JavaScript: [https://github.com/aws/aws-msk-iam-sasl-signer-js \$1getting -started](https://github.com/aws/aws-msk-iam-sasl-signer-js#getting-started)
   + Python: [https://github.com/aws/aws-msk-iam-sasl-signer-python \$1get -avviato](https://github.com/aws/aws-msk-iam-sasl-signer-python#get-started)
   + Vai: [https://github.com/aws/aws-msk-iam-sasl-signer-go \$1getting -started](https://github.com/aws/aws-msk-iam-sasl-signer-go#getting-started)
   + [.NET: -signer-net \$1getting -iniziato https://github.com/aws/ aws-msk-iam-sasl](https://github.com/aws/aws-msk-iam-sasl-signer-net#getting-started)
   + JAVA: SASL\$1OAUTHBEARER il supporto per Java è disponibile tramite il file jar [https://github.com/aws/aws-msk-iam-auth/releases](https://github.com/aws/aws-msk-iam-auth/releases)

## Utilizza il AWS\$1MSK\$1IAM meccanismo personalizzato MSK per configurare IAM
<a name="configure-clients-for-iam-access-control-msk-iam"></a>

1. Aggiungi quanto segue al file `client.properties`. Sostituisci *<PATH\$1TO\$1TRUST\$1STORE\$1FILE>* con il percorso completo del file di trust store sul client.
**Nota**  
Se non desideri utilizzare un certificato specifico, puoi rimuovere `ssl.truststore.location=<PATH_TO_TRUST_STORE_FILE>` dal tuo file `client.properties`. Se non specifichi un valore per `ssl.truststore.location`, il processo Java utilizza il certificato predefinito.

   ```
   ssl.truststore.location=<PATH_TO_TRUST_STORE_FILE>
   security.protocol=SASL_SSL
   sasl.mechanism=AWS_MSK_IAM
   sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;
   sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
   ```

   Per utilizzare un profilo denominato creato per AWS le credenziali, includilo `awsProfileName="your profile name";` nel file di configurazione del client. Per informazioni sui profili denominati, consulta [Profili denominati](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) nella AWS CLI documentazione.

1. Scaricate l'ultimo file [aws-msk-iam-auth](https://github.com/aws/aws-msk-iam-auth/releases)JAR stabile e inseritelo nel percorso della classe. Se utilizzi Maven, aggiungi la seguente dipendenza, modificando il numero di versione secondo necessità:

   ```
   <dependency>
       <groupId>software.amazon.msk</groupId>
       <artifactId>aws-msk-iam-auth</artifactId>
       <version>1.0.0</version>
   </dependency>
   ```

Il plug-in client di Amazon MSK è open source con licenza Apache 2.0.

# Crea politiche di autorizzazione per il ruolo IAM
<a name="create-iam-access-control-policies"></a>

Collega una policy di autorizzazione al ruolo IAM corrispondente al client. In una policy di autorizzazione, specifichi quali operazioni consentire o rifiutare per il ruolo. Se il tuo client è su un'istanza Amazon EC2, associa la policy di autorizzazione al ruolo IAM per quell'istanza Amazon EC2. In alternativa, puoi configurare il client per utilizzare un profilo denominato e quindi associare la policy di autorizzazione al ruolo per quel profilo denominato. [Configurazione dei client per il Controllo degli accessi IAM](configure-clients-for-iam-access-control.md) descrive come configurare un client per utilizzare un profilo denominato.

Per informazioni sulla creazione di una policy IAM, consulta la pagina [Creating IAM policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html). 

Di seguito è riportato un esempio di politica di autorizzazione per un cluster denominato MyTestCluster. Per comprendere la semantica degli elementi `Action` e `Resource`, consulta la pagina [Semantica delle azioni e delle risorse della politica di autorizzazione IAM](kafka-actions.md).

**Importante**  
Le modifiche apportate a una policy IAM si riflettono nell'IAM APIs e nell' AWS CLI immediatezza. Tuttavia, può trascorrere molto tempo prima che la modifica della policy abbia effetto. Nella maggior parte dei casi, le modifiche alle policy entrano in vigore in meno di un minuto. A volte le condizioni della rete possono aumentare il ritardo.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:Connect",
                "kafka-cluster:AlterCluster",
                "kafka-cluster:DescribeCluster"
            ],
            "Resource": [
                "arn:aws:kafka:us-east-1:111122223333:cluster/MyTestCluster/abcd1234-0123-abcd-5678-1234abcd-1"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:*Topic*",
                "kafka-cluster:WriteData",
                "kafka-cluster:ReadData"
            ],
            "Resource": [
                "arn:aws:kafka:us-east-1:123456789012:topic/MyTestCluster/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:AlterGroup",
                "kafka-cluster:DescribeGroup"
            ],
            "Resource": [
                "arn:aws:kafka:us-east-1:123456789012:group/MyTestCluster/*"
            ]
        }
    ]
}
```

------

Per informazioni su come creare una policy con elementi di operazione che corrispondano ai casi d'uso comuni di Apache Kafka, come la produzione e l'utilizzo di dati, consulta la pagina [Casi d'uso comuni per la politica di autorizzazione dei client](iam-access-control-use-cases.md).

[Per le versioni di Kafka 2.8.0 e successive, l'**WriteDataIdempotently**autorizzazione è obsoleta (KIP-679).](https://cwiki.apache.org/confluence/display/KAFKA/KIP-679%3A+Producer+will+enable+the+strongest+delivery+guarantee+by+default) Per impostazione predefinita, viene utilizzato `enable.idempotence = true`. Pertanto, per le versioni di Kafka 2.8.0 e successive, IAM non offre le stesse funzionalità di Kafka. ACLs Non è possibile accedere a un argomento fornendo solo `WriteDataIdempotently` l'accesso a quell'argomento. `WriteData` Ciò non influisce sul caso in cui `WriteData` venga fornito a **TUTTI gli** argomenti. In tal caso, l'operazione `WriteDataIdempotently` è consentita. Ciò è dovuto alle differenze nell'implementazione della logica IAM e nel modo in cui ACLs vengono implementati i Kafka. Inoltre, scrivere su un argomento in modo idempotente richiede anche l'accesso a. `transactional-ids`

Per ovviare a questo problema, consigliamo di utilizzare una politica simile alla seguente politica.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:Connect",
                "kafka-cluster:AlterCluster",
                "kafka-cluster:DescribeCluster",
                "kafka-cluster:WriteDataIdempotently"
            ],
            "Resource": [
                "arn:aws:kafka:us-east-1:123456789012:cluster/MyTestCluster/abcd1234-0123-abcd-5678-1234abcd-1"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:*Topic*",
                "kafka-cluster:WriteData",
                "kafka-cluster:ReadData"
            ],
            "Resource": [
                "arn:aws:kafka:us-east-1:123456789012:topic/MyTestCluster/abcd1234-0123-abcd-5678-1234abcd-1/TestTopic",
                "arn:aws:kafka:us-east-1:123456789012:transactional-id/MyTestCluster/abcd1234-0123-abcd-5678-1234abcd-1/*"
            ]
        }
    ]
}
```

------

In questo caso, `WriteData` consente le scritture sul `TestTopic`, mentre `WriteDataIdempotently` consente le scritture idempotenti sul cluster. Questa politica aggiunge anche l'accesso alle `transactional-id` risorse che saranno necessarie.

Poiché `WriteDataIdempotently` si tratta di un'autorizzazione a livello di cluster, non è possibile utilizzarla a livello di argomento. Se `WriteDataIdempotently` è limitato al livello di argomento, questo criterio non funzionerà.

# Recupero dei broker di bootstrap per il Controllo degli accessi IAM
<a name="get-bootstrap-brokers-for-iam"></a>

Per informazioni, consulta [Ottieni i broker bootstrap per un cluster Amazon MSK](msk-get-bootstrap-brokers.md).

# Semantica delle azioni e delle risorse della politica di autorizzazione IAM
<a name="kafka-actions"></a>

**Nota**  
Per i cluster che eseguono Apache Kafka versione 3.8 o successiva, il controllo degli accessi IAM supporta l'API per terminare le transazioni. WriteTxnMarkers Per i cluster che eseguono versioni di Kafka precedenti alla 3.8, il controllo degli accessi IAM non supporta le azioni interne del cluster, tra cui. WriteTxnMarkers Per queste versioni precedenti, per terminare le transazioni, utilizza l'autenticazione SCRAM o MTLS con l'autenticazione appropriata anziché l'autenticazione IAM. ACLs 

In questa sezione viene illustrata la semantica degli elementi di operazione e risorsa che è possibile utilizzare in una policy di autorizzazione IAM. Per un esempio di policy, consulta [Crea politiche di autorizzazione per il ruolo IAM](create-iam-access-control-policies.md).

## Azioni relative alla politica di autorizzazione
<a name="actions"></a>

La tabella seguente elenca le operazioni che è possibile includere in una policy di autorizzazione quando si utilizza il Controllo degli accessi IAM per Amazon MSK. Quando includi nella tua policy di autorizzazione un'operazione dalla colonna *Operazione* della tabella, devi includere anche le operazioni corrispondenti dalla colonna *Operazioni richieste*. 


| Azione | Description | Operazioni necessarie | Risorse obbligatorie | Applicabile ai cluster serverless | 
| --- | --- | --- | --- | --- | 
| kafka-cluster:Connect | Concede l'autorizzazione per connettersi e autenticarsi al cluster. | Nessuno | cluster | Sì | 
| kafka-cluster:DescribeCluster | Concede l'autorizzazione per descrivere vari aspetti del cluster, equivalente all'ACL DESCRIBE CLUSTER di Apache Kafka. |  `kafka-cluster:Connect`  | cluster | Sì | 
| kafka-cluster:AlterCluster | Concede l'autorizzazione per modificare vari aspetti del cluster, equivalente all'ACL ALTER CLUSTER di Apache Kafka. |  `kafka-cluster:Connect` `kafka-cluster:DescribeCluster`  | cluster | No | 
| kafka-cluster:DescribeClusterDynamicConfiguration | Concede l'autorizzazione per descrivere la configurazione dinamica di un cluster, equivalente all'ACL DESCRIBE\$1CONFIGS CLUSTER di Apache Kafka. |  `kafka-cluster:Connect`  | cluster | No | 
| kafka-cluster:AlterClusterDynamicConfiguration | Concede l'autorizzazione per modificare la configurazione dinamica di un cluster, equivalente all'ACL ALTER\$1CONFIGS CLUSTER di Apache Kafka. |  `kafka-cluster:Connect` `kafka-cluster:DescribeClusterDynamicConfiguration`  | cluster | No | 
| kafka-cluster:WriteDataIdempotently | Concede l'autorizzazione per scrivere dati in modo idempotente su un cluster, equivalente all'ACL IDEMPOTENT\$1WRITE CLUSTER di Apache Kafka. |  `kafka-cluster:Connect` `kafka-cluster:WriteData`  | cluster | Sì | 
| kafka-cluster:CreateTopic | Concede l'autorizzazione a creare argomenti su un cluster, equivalente all'ACL CREATE di Apache Kafka. CLUSTER/TOPIC  |  `kafka-cluster:Connect`  | topic | Sì | 
| kafka-cluster:DescribeTopic | Concede l'autorizzazione per descrivere gli argomenti in un cluster, equivalente all'ACL DESCRIBE TOPIC di Apache Kafka. |  `kafka-cluster:Connect`  | topic | Sì | 
| kafka-cluster:AlterTopic | Concede l'autorizzazione per modificare gli argomenti in un cluster, equivalente all'ACL ALTER TOPIC di Apache Kafka. |  `kafka-cluster:Connect` `kafka-cluster:DescribeTopic`  | topic | Sì | 
| kafka-cluster:DeleteTopic | Concede l'autorizzazione per eliminare gli argomenti in un cluster, equivalente all'ACL DELETE TOPIC di Apache Kafka. |  `kafka-cluster:Connect` `kafka-cluster:DescribeTopic`  | topic | Sì | 
| kafka-cluster:DescribeTopicDynamicConfiguration | Concede l'autorizzazione per descrivere la configurazione dinamica degli argomenti in un cluster, equivalente all'ACL DESCRIBE\$1CONFIGS TOPIC di Apache Kafka. |  `kafka-cluster:Connect`  | topic | Sì | 
| kafka-cluster:AlterTopicDynamicConfiguration | Concede l'autorizzazione per modificare la configurazione dinamica degli argomenti in un cluster, equivalente all'ACL ALTER\$1CONFIGS TOPIC di Apache Kafka. |  `kafka-cluster:Connect` `kafka-cluster:DescribeTopicDynamicConfiguration`  | topic | Sì | 
| kafka-cluster:ReadData | Concede l'autorizzazione per leggere i dati da argomenti in un cluster, equivalente all'ACL READ TOPIC di Apache Kafka. |  `kafka-cluster:Connect` `kafka-cluster:DescribeTopic` `kafka-cluster:AlterGroup`  | topic | Sì | 
| kafka-cluster:WriteData | Concede l'autorizzazione per scrivere dati su argomenti in un cluster, equivalente all'ACL WRITE TOPIC di Apache Kafka |  `kafka-cluster:Connect` `kafka-cluster:DescribeTopic`  | topic | Sì | 
| kafka-cluster:DescribeGroup | Concede l'autorizzazione per descrivere i gruppi in un cluster, equivalente all'ACL DESCRIBE GROUP di Apache Kafka. |  `kafka-cluster:Connect`  | gruppo | Sì | 
| kafka-cluster:AlterGroup | Concede l'autorizzazione per unire dei gruppi all'interno di un cluster, equivalente all'ACL READ GROUP di Apache Kafka. |  `kafka-cluster:Connect` `kafka-cluster:DescribeGroup`  | gruppo | Sì | 
| kafka-cluster:DeleteGroup | Concede l'autorizzazione per eliminare gruppi all'interno di un cluster, equivalente all'ACL DELETE GROUP di Apache Kafka. |  `kafka-cluster:Connect` `kafka-cluster:DescribeGroup`  | gruppo | Sì | 
| kafka-cluster:DescribeTransactionalId | Concede l'autorizzazione a descrivere le transazioni IDs su un cluster, equivalente all'ACL DESCRIBE TRANSACTIONAL\$1ID di Apache Kafka. |  `kafka-cluster:Connect`  | transactional-id | Sì | 
| kafka-cluster:AlterTransactionalId | Concede l'autorizzazione a modificare le transazioni su un cluster, equivalente all'ACL WRITE IDs TRANSACTIONAL\$1ID di Apache Kafka. |  `kafka-cluster:Connect` `kafka-cluster:DescribeTransactionalId` `kafka-cluster:WriteData`  | transactional-id | Sì | 

In un'operazione, dopo i due punti, è possibile utilizzare qualsiasi quantità di caratteri jolly asterisco (\$1). Di seguito vengono mostrati gli esempi.
+ `kafka-cluster:*Topic` sta per `kafka-cluster:CreateTopic`, `kafka-cluster:DescribeTopic`, `kafka-cluster:AlterTopic` e `kafka-cluster:DeleteTopic`. Non include `kafka-cluster:DescribeTopicDynamicConfiguration` o `kafka-cluster:AlterTopicDynamicConfiguration`.
+ `kafka-cluster:*` indica tutte le autorizzazioni.

## Risorse relative alla politica di autorizzazione
<a name="msk-iam-resources"></a>

La tabella seguente mostra i quattro tipi di risorse che è possibile utilizzare in una policy di autorizzazione quando si utilizza il Controllo degli accessi IAM per Amazon MSK. Puoi ottenere il cluster Amazon Resource Name (ARN) da o utilizzando l'[DescribeCluster](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn.html#DescribeCluster)API Console di gestione AWS o il comando [AWS CLI describe-cluster](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/describe-cluster.html). È quindi possibile utilizzare l'ARN del cluster per creare un argomento, un gruppo e un ID transazionale. ARNs Per specificare una risorsa nella policy di autorizzazione, utilizza l'ARN della risorsa.


| Risorsa | Formato ARN | 
| --- | --- | 
| Cluster | arn:aws:kafka: :cluster//regionaccount-idcluster-namecluster-uuid | 
| Topic | arn:aws:kafka: region ::argomento///account-idcluster-namecluster-uuidtopic-name | 
| Gruppo | arn:aws:kafka: region :group///account-idcluster-namecluster-uuidgroup-name | 
| ID transazionale | arn:aws:kafka: region ::identificativo-transazione///account-idcluster-namecluster-uuidtransactional-id | 

È possibile utilizzare qualsiasi quantità di caratteri jolly asterisco (\$1) in qualsiasi punto dell'ARN successivo a `:cluster/`, `:topic/`, `:group/` e `:transactional-id/`. Di seguito sono riportati alcuni esempi di come utilizzare il carattere jolly asterisco (\$1) per fare riferimento a più risorse:
+ `arn:aws:kafka:us-east-1:0123456789012:topic/MyTestCluster/*`: tutti gli argomenti di qualsiasi cluster denominato, indipendentemente dall'UUID del cluster. MyTestCluster
+ `arn:aws:kafka:us-east-1:0123456789012:topic/MyTestCluster/abcd1234-0123-abcd-5678-1234abcd-1/*_test`: tutti gli argomenti il cui nome termina con «\$1test» nel cluster il cui nome è MyTestCluster e il cui UUID è abcd1234-0123-abcd-5678-1234abcd-1.
+ `arn:aws:kafka:us-east-1:0123456789012:transactional-id/MyTestCluster/*/5555abcd-1111-abcd-1234-abcd1234-1`: tutte le transazioni il cui ID transazionale è MyTestCluster 5555abcd-1111-abcd-1234-abcd1234-1, in tutte le incarnazioni di un cluster denominato nel tuo account. Ciò significa che se si crea un cluster denominato MyTestCluster, quindi lo si elimina e quindi si crea un altro cluster con lo stesso nome, è possibile utilizzare questa risorsa ARN per rappresentare lo stesso ID delle transazioni su entrambi i cluster. Tuttavia, il cluster eliminato non è accessibile.

# Casi d'uso comuni per la politica di autorizzazione dei client
<a name="iam-access-control-use-cases"></a>

La prima colonna della tabella seguente mostra alcuni casi d'uso comuni. Per autorizzare un client a eseguire un determinato caso d'uso, includi le operazioni richieste per tale caso d'uso nella policy di autorizzazione del client e imposta `Effect` su `Allow`.

Per informazioni su tutte le operazioni che fanno parte del Controllo degli accessi IAM per Amazon MSK, consulta la pagina [Semantica delle azioni e delle risorse della politica di autorizzazione IAM](kafka-actions.md).

**Nota**  
Le operazioni non sono consentite per impostazione predefinita. È necessario consentire esplicitamente ogni operazione che si desidera autorizzare il client a eseguire.


****  

| Caso d’uso | Operazioni necessarie | 
| --- | --- | 
| Admin |  `kafka-cluster:*`  | 
| Crea un argomento |  `kafka-cluster:Connect` `kafka-cluster:CreateTopic`  | 
| Produzione di dati |  `kafka-cluster:Connect` `kafka-cluster:DescribeTopic` `kafka-cluster:WriteData`  | 
| Utilizzo di dati |  `kafka-cluster:Connect` `kafka-cluster:DescribeTopic` `kafka-cluster:DescribeGroup` `kafka-cluster:AlterGroup` `kafka-cluster:ReadData`  | 
| Produzione di dati in modo idempotente |  `kafka-cluster:Connect` `kafka-cluster:DescribeTopic` `kafka-cluster:WriteData` `kafka-cluster:WriteDataIdempotently`  | 
| Produzione di dati in modo transazionale |  `kafka-cluster:Connect` `kafka-cluster:DescribeTopic` `kafka-cluster:WriteData` `kafka-cluster:DescribeTransactionalId` `kafka-cluster:AlterTransactionalId`  | 
| Descrizione della configurazione di un cluster |  `kafka-cluster:Connect` `kafka-cluster:DescribeClusterDynamicConfiguration`  | 
| Aggiornamento della configurazione di un cluster |  `kafka-cluster:Connect` `kafka-cluster:DescribeClusterDynamicConfiguration` `kafka-cluster:AlterClusterDynamicConfiguration`  | 
| Descrizione della configurazione di un argomento |  `kafka-cluster:Connect` `kafka-cluster:DescribeTopicDynamicConfiguration` | 
| Aggiornamento della configurazione di un argomento |  `kafka-cluster:Connect` `kafka-cluster:DescribeTopicDynamicConfiguration` `kafka-cluster:AlterTopicDynamicConfiguration`  | 
| Modifica di un argomento |  `kafka-cluster:Connect` `kafka-cluster:DescribeTopic` `kafka-cluster:AlterTopic`  | 