

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` `DescribeStreamSummary` `RegisterStreamConsumer`  |  Flusso di dati Kinesis da cui l'applicazione KCL elaborerà i dati.`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. Registra i consumatori su uno shard.  | 
| Flusso di dati Amazon Kinesis |  `GetRecords` `GetShardIterator` `ListShards`  | Flusso di dati Kinesis da cui l'applicazione KCL elaborerà i dati.`arn:aws:kinesis:region:account:stream/StreamName` |  Legge record da uno shard.  | 
| Flusso di dati Amazon Kinesis |  `SubscribeToShard` `DescribeStreamConsumer` |  Flusso di dati Kinesis da cui l'applicazione KCL elaborerà i dati. Aggiungi questa azione solo se utilizzi utenti Enhanced Fan-Out (EFO). `arn:aws:kinesis:region:account:stream/StreamName/consumer/*`  |  Si abbona a uno shard per consumatori Enhanced Fan-out (EFO).  | 
| Amazon DynamoDB |  `CreateTable` `DescribeTable` `UpdateTable` `Scan` `GetItem` `PutItem` `UpdateItem` `DeleteItem`  |  Tabella di leasing (tabella dei metadati) in DynamoDB creata da KCL. `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` `DescribeTable` `Scan` `GetItem` `PutItem` `UpdateItem` `DeleteItem`  |  Metriche dei lavoratori e tabella dello stato del coordinatore (tabelle di metadati in DynamoDB) creata da KCL. `arn:aws:dynamodb:region:account:table/KCLApplicationName-WorkerMetricStats` `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. `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` |  \$1  |  Carica metriche utili per monitorare l'applicazione. CloudWatch L'asterisco (\$1) 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\$1ID con il tuo ID. Account AWS 
+ Sostituisci STREAM\$1NAME con il nome del tuo flusso di dati Kinesis.
+ Sostituisci CONSUMER\$1NAME con il nome del tuo consumatore, in genere il nome dell'applicazione quando usi KCL.
+ Sostituisci KCL\$1APPLICATION\$1NAME con il nome della tua applicazione KCL.