IAMautorizzazioni necessarie per le applicazioni destinate ai consumatori 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à.

IAMautorizzazioni necessarie per le applicazioni destinate ai consumatori KCL

È necessario aggiungere le seguenti autorizzazioni al IAM ruolo o all'utente associato all'applicazione KCL consumer.

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 IAM policy elenca in modo esplicito le azioni consentite e le risorse a cui tali azioni sono applicabili.

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

IAMAutorizzazioni 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'KCLapplicazione 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'KCLapplicazione 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'KCLapplicazione elaborerà i dati. Aggiungi questa azione solo se utilizzi i consumatori Enhanced fan-out ()EFO.

arn:aws:kinesis:region:account:stream/StreamName/consumer/*

Si iscrive a uno shard per i consumatori di Enhanced fan-out (). EFO

Amazon DynamoDB

CreateTable

DescribeTable

UpdateTable

Scan

GetItem

PutItem

UpdateItem

DeleteItem

Tabella di leasing (tabella di metadati in DynamoDB creata da. KCL

arn:aws:dynamodb:region:account:table/KCLApplicationName

Queste azioni sono necessarie per KCL gestire la tabella di lease creata in DynamoDB.

Amazon DynamoDB

CreateTable

DescribeTable

Scan

GetItem

PutItem

UpdateItem

DeleteItem

Tabella delle metriche dei lavoratori e 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 KCL 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 KCL per leggere 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 KCL dell'applicazione rispettivamente. KCL3.x crea altre due tabelle di metadati in DynamoDB. Per informazioni dettagliate sulle tabelle di metadati DynamoDB create da, vedere. KCL Tabelle di metadati DynamoDB e bilanciamento del carico in KCL Se utilizzi configurazioni per personalizzare i nomi delle tabelle di metadati create daKCL, utilizza i nomi di tabella specificati anziché il nome dell'applicazione. KCL

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

{ "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 consumatore, in genere il nome dell'applicazione quando si utilizzaKCL.

  • Sostituisci KCL APPLICATION _ _ NAME con il nome dell'KCLapplicazione.