

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à.

# Autorizzazioni IAM richieste per le applicazioni consumer KCL
<a name="kcl-iam-permissions"></a>

 Devi aggiungere le seguenti autorizzazioni al ruolo o all'utente IAM associato alla tua applicazione consumer KCL. 

 Le migliori pratiche di sicurezza per AWS imporre l'uso di autorizzazioni granulari per controllare l'accesso a diverse risorse. AWS Identity and Access Management (IAM) consente di gestire gli utenti e le autorizzazioni degli utenti in. AWS Una policy IAM elenca in modo esplicito le operazioni consentite e le risorse per le quali sono applicabili le operazioni.

La tabella seguente mostra le autorizzazioni IAM minime generalmente richieste per le applicazioni consumer KCL:


**Autorizzazioni IAM minime per le applicazioni consumer KCL**  

| Servizio | Azioni | Risorse () ARNs | Scopo | 
| --- | --- | --- | --- | 
| Flusso di dati Amazon Kinesis | `DescribeStream`<br />`DescribeStreamSummary`<br />`RegisterStreamConsumer` | Flusso di dati Kinesis da cui l'applicazione KCL elaborerà i dati.<br />`arn:aws:kinesis:region:account:stream/StreamName` | Prima di leggere i record, il consumer verifica se il flusso di dati esiste, è attivo e contiene il flusso di dati.<br />Registra i consumatori su uno shard. | 
| Flusso di dati Amazon Kinesis | `GetRecords`<br />`GetShardIterator`<br />`ListShards` | Flusso di dati Kinesis da cui l'applicazione KCL elaborerà i dati.<br />`arn:aws:kinesis:region:account:stream/StreamName` | Legge record da uno shard. | 
| Flusso di dati Amazon Kinesis | `SubscribeToShard`<br />`DescribeStreamConsumer` | Flusso di dati Kinesis da cui l'applicazione KCL elaborerà i dati. Aggiungi questa azione solo se utilizzi utenti Enhanced Fan-Out (EFO).<br />`arn:aws:kinesis:region:account:stream/StreamName/consumer/*` | Si abbona a uno shard per consumatori Enhanced Fan-out (EFO). | 
| Amazon DynamoDB | `CreateTable`<br />`DescribeTable`<br />`UpdateTable`<br />`Scan`<br />`GetItem`<br />`PutItem`<br />`UpdateItem`<br />`DeleteItem` | Tabella di leasing (tabella dei metadati) in DynamoDB creata da KCL.<br />`arn:aws:dynamodb:region:account:table/KCLApplicationName` | Queste azioni sono necessarie per consentire a KCL di gestire la tabella di lease creata in DynamoDB. | 
| Amazon DynamoDB | `CreateTable`<br />`DescribeTable`<br />`Scan`<br />`GetItem`<br />`PutItem`<br />`UpdateItem`<br />`DeleteItem` | Metriche dei lavoratori e tabella dello stato del coordinatore (tabelle di metadati in DynamoDB) creata da KCL.<br />`arn:aws:dynamodb:region:account:table/KCLApplicationName-WorkerMetricStats`<br />`arn:aws:dynamodb:region:account:table/KCLApplicationName-CoordinatorState` | Queste azioni sono necessarie per consentire a KCL di gestire le metriche dei lavoratori e le tabelle dei metadati dello stato del coordinatore in DynamoDB. | 
| Amazon DynamoDB | `Query` | Indice secondario globale nella tabella delle locazioni.<br />`arn:aws:dynamodb:region:account:table/KCLApplicationName/index/*` | Questa azione è necessaria affinché KCL legga l'indice secondario globale della tabella di lease creata in DynamoDB. | 
| Amazon CloudWatch | `PutMetricData` | \* | Carica metriche utili per monitorare l'applicazione. CloudWatch L'asterisco (\*) viene utilizzato perché non esiste una risorsa specifica in CloudWatch cui viene richiamata l'azione. `PutMetricData`  | 

**Nota**  
Sostituisci «region», «account»StreamName, "» e "KCLApplicationName» ARNs con il tuo Account AWS numero Regione AWS, il nome del flusso di dati Kinesis e il nome dell'applicazione KCL rispettivamente. KCL 3.x crea altre due tabelle di metadati in DynamoDB. Per informazioni dettagliate sulle tabelle di metadati DynamoDB create da KCL, vedere. [Tabelle di metadati DynamoDB e bilanciamento del carico in KCL](kcl-dynamoDB.md) Se utilizzi configurazioni per personalizzare i nomi delle tabelle di metadati create da KCL, usa i nomi di tabella specificati anziché il nome dell'applicazione KCL. 

Di seguito è riportato un esempio di documento politico per un'applicazione consumer KCL. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kinesis:DescribeStream",
                "kinesis:DescribeStreamSummary",
                "kinesis:RegisterStreamConsumer",
                "kinesis:GetRecords",
                "kinesis:GetShardIterator",
                "kinesis:ListShards"
            ],
            "Resource": "arn:aws:kinesis:{{us-east-1}}:{{123456789012}}:stream/{{STREAM_NAME}}"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kinesis:SubscribeToShard",
                "kinesis:DescribeStreamConsumer"
            ],
            "Resource": "arn:aws:kinesis:{{us-east-1}}:{{123456789012}}:stream/{{STREAM_NAME}}/consumer/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "dynamodb:CreateTable",
                "dynamodb:DescribeTable",
                "dynamodb:UpdateTable",
                "dynamodb:GetItem",
                "dynamodb:UpdateItem",
                "dynamodb:PutItem",
                "dynamodb:DeleteItem",
                "dynamodb:Scan"
            ],
            "Resource": [
            "arn:aws:dynamodb:{{us-east-1}}:{{123456789012}}: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:{{us-east-1}}:{{123456789012}}:table/{{KCL_APPLICATION_NAME-WorkerMetricStats}}",
    "arn:aws:dynamodb:{{us-east-1}}:{{123456789012}}:table/{{KCL_APPLICATION_NAME-CoordinatorState}}"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "dynamodb:Query"
            ],
            "Resource": [
            "arn:aws:dynamodb:{{us-east-1}}:{{123456789012}}:table/{{KCL_APPLICATION_NAME}}/index/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Prima di utilizzare questa politica di esempio, controlla i seguenti elementi:
+ Sostituisci REGION con il tuo Regione AWS (ad esempio, us-east-1).
+ Sostituisci ACCOUNT\_ID con il tuo ID. Account AWS 
+ Sostituisci STREAM\_NAME con il nome del tuo flusso di dati Kinesis.
+ Sostituisci CONSUMER\_NAME con il nome del tuo consumatore, in genere il nome dell'applicazione quando usi KCL.
+ Sostituisci KCL\_APPLICATION\_NAME con il nome della tua applicazione KCL.