IAMBerechtigungen, die für Verbraucheranwendungen erforderlich sind KCL - Amazon-Kinesis-Data-Streams

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

IAMBerechtigungen, die für Verbraucheranwendungen erforderlich sind KCL

Sie müssen der IAM Rolle oder dem Benutzer, der Ihrer KCL Verbraucheranwendung zugeordnet ist, die folgenden Berechtigungen hinzufügen.

Bewährte Sicherheitsmethoden AWS schreiben die Verwendung detaillierter Berechtigungen vor, um den Zugriff auf verschiedene Ressourcen zu kontrollieren. AWS Identity and Access Management (IAM) ermöglicht die Verwaltung von Benutzern und Benutzerberechtigungen in. AWS In einer IAM Richtlinie werden die zulässigen Aktionen und die Ressourcen, für die die Aktionen gelten, explizit aufgeführt.

Die folgende Tabelle zeigt die IAM Mindestberechtigungen, die im Allgemeinen für KCL Verbraucheranwendungen erforderlich sind:

IAMMindestberechtigungen für KCL Verbraucheranwendungen
Service Aktionen Ressourcen (ARNs) Zweck
Amazon-Kinesis-Data-Streams

DescribeStream

DescribeStreamSummary

RegisterStreamConsumer

Kinesis-Datenstrom, aus dem Ihre KCL Anwendung die Daten verarbeitet.

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

Vor dem Versuch, Datensätze zu lesen, prüft der Verbraucher, ob der Daten-Stream vorhanden und ob er aktiv ist und ob Shards im Daten-Stream enthalten sind.

Registriert Verbraucher auf einem Shard.

Amazon-Kinesis-Data-Streams

GetRecords

GetShardIterator

ListShards

Kinesis-Datenstrom, aus dem Ihre KCL Anwendung die Daten verarbeitet.

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

Auslesen von Datensätzen aus einem Shard.

Amazon-Kinesis-Data-Streams

SubscribeToShard

DescribeStreamConsumer

Kinesis-Datenstrom, aus dem Ihre KCL Anwendung die Daten verarbeitet. Fügen Sie diese Aktion nur hinzu, wenn Sie erweiterte Fan-Out-Benutzer (EFO) verwenden.

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

Abonniert einen Shard für Nutzer mit erweitertem Fan-Out (). EFO

Amazon-DynamoDB

CreateTable

DescribeTable

UpdateTable

Scan

GetItem

PutItem

UpdateItem

DeleteItem

Leasetabelle (Metadatentabelle in DynamoDB, erstellt von. KCL

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

Diese Aktionen sind erforderlichKCL, um die in DynamoDB erstellte Leasetabelle zu verwalten.

Amazon-DynamoDB

CreateTable

DescribeTable

Scan

GetItem

PutItem

UpdateItem

DeleteItem

Tabelle mit Arbeitsmetriken und Koordinatorstatus (Metadatentabellen in DynamoDB), erstellt von. KCL

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

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

Diese Aktionen sind für KCL die Verwaltung der Worker-Metriken und der Koordinatorstatus-Metadatentabellen in DynamoDB erforderlich.

Amazon-DynamoDB

Query

Globaler sekundärer Index in der Leasing-Tabelle.

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

Diese Aktion ist erforderlichKCL, um den globalen sekundären Index der in DynamoDB erstellten Leasetabelle zu lesen.

Amazon CloudWatch

PutMetricData

*

Laden Sie Metriken hoch CloudWatch , die für die Überwachung der Anwendung nützlich sind. Das Sternchen (*) wird verwendet, weil es keine bestimmte Ressource gibt, für die die PutMetricData Aktion aufgerufen wird. CloudWatch

Anmerkung

Ersetzen Sie „Region“, „Konto“StreamName, "und" KCLApplicationName "in der ARNs durch Ihre eigene AWS-Konto Nummer AWS-Region, den Namen des Kinesis-Datenstreams bzw. den KCL Anwendungsnamen. KCL3.x erstellt zwei weitere Metadatentabellen in DynamoDB. Einzelheiten zu DynamoDB-Metadatentabellen, die von erstellt wurdenKCL, finden Sie unter. DynamoDB-Metadatentabellen und Lastenausgleich in KCL Wenn Sie Konfigurationen verwenden, um die Namen der von erstellten Metadatentabellen anzupassenKCL, verwenden Sie diese angegebenen Tabellennamen anstelle des KCL Anwendungsnamens.

Im Folgenden finden Sie ein Beispiel für ein Richtliniendokument für eine KCL Verbraucheranwendung.

{ "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": "*" } ] }

Bevor Sie diese Beispielrichtlinie verwenden, überprüfen Sie die folgenden Punkte:

  • Ersetze es REGION durch dein AWS-Region (zum Beispiel us-east-1).

  • Ersetze ACCOUNT _ID durch deine ID. AWS-Konto

  • Ersetzen Sie STREAM _ NAME durch den Namen Ihres Kinesis-Datenstreams.

  • Ersetzen Sie CONSUMER _ NAME durch den Namen Ihres Verbrauchers, normalerweise durch den Namen Ihrer Anwendung, wenn Sie sie verwendenKCL.

  • Ersetzen Sie KCL APPLICATION _ _ NAME durch den Namen Ihrer KCL Anwendung.