Autorizzazioni IAM richieste per le applicazioni consumer KCL - Flusso di dati Amazon Kinesis

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

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 Operazioni 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 dei contratti di locazione.

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 le metriche CloudWatch che sono utili per monitorare l'applicazione. 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 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.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:DescribeStreamSummary", "kinesis:RegisterStreamConsumer", "kinesis:GetRecords", "kinesis:GetShardIterator", "kinesis:ListShards" ], "Resource": "arn:aws:kinesis:REGION:ACCOUNT_ID:stream/STREAM_NAME" }, { "Effect": "Allow", "Action": [ "kinesis:SubscribeToShard", "kinesis:DescribeStreamConsumer" ], "Resource": "arn:aws:kinesis:REGION:ACCOUNT_ID: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:REGION:ACCOUNT_ID: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:REGION:ACCOUNT_ID:table/KCL_APPLICATION_NAME-WorkerMetricStats", "arn:aws:dynamodb:REGION:ACCOUNT_ID:table/KCL_APPLICATION_NAME-CoordinatorState" ] }, { "Effect": "Allow", "Action": [ "dynamodb:Query" ], "Resource": [ "arn:aws:dynamodb:REGION:ACCOUNT_ID: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.