Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
IAMautorisations requises pour les applications KCL destinées aux consommateurs
Vous devez ajouter les autorisations suivantes au IAM rôle ou à l'utilisateur associé à votre application KCL client.
Les meilleures pratiques de sécurité AWS dictent l'utilisation d'autorisations détaillées pour contrôler l'accès aux différentes ressources. AWS Identity and Access Management (IAM) vous permet de gérer les utilisateurs et les autorisations des utilisateurs dans AWS. Une IAM politique répertorie explicitement les actions autorisées et les ressources auxquelles elles s'appliquent.
Le tableau suivant indique les IAM autorisations minimales généralement requises pour les applications KCL grand public :
Service | Actions | Ressources (ARNs) | Objectif |
---|---|---|---|
Amazon Kinesis Data Streams |
|
Flux de données Kinesis à partir duquel votre KCL application traitera les données.
|
Avant d'essayer de lire les enregistrements, l'application consommateur vérifie si le flux existe, s’il est actif et si les partitions sont contenues dans le flux de données. Enregistre les consommateurs dans un shard. |
Amazon Kinesis Data Streams |
|
Flux de données Kinesis à partir duquel votre KCL application traitera les données.
|
Lit les enregistrements d'une partition. |
Amazon Kinesis Data Streams |
|
Flux de données Kinesis à partir duquel votre KCL application traitera les données. Ajoutez cette action uniquement si vous utilisez des consommateurs fan-out (EFO) améliorés.
|
S'abonne à un shard pour les utilisateurs de fan-out () améliorés. EFO |
Amazon DynamoDB |
|
Table de location (table de métadonnées dans DynamoDB créée par. KCL
|
Ces actions sont nécessaires KCL pour gérer la table des baux créée dans DynamoDB. |
Amazon DynamoDB |
|
Métriques des travailleurs et table d'état des coordinateurs (tables de métadonnées dans DynamoDB) créées par. KCL
|
Ces actions sont nécessaires pour gérer les métriques KCL de travail et les tables de métadonnées d'état des coordinateurs dans DynamoDB. |
Amazon DynamoDB |
|
Indice secondaire mondial sur le tableau des baux.
|
Cette action est requise KCL pour lire l'index secondaire global de la table des baux créée dans DynamoDB. |
Amazon CloudWatch |
|
* |
Vous pouvez y télécharger CloudWatch des métriques utiles pour surveiller l'application. L'astérisque (*) est utilisé car il n'existe aucune ressource spécifique CloudWatch sur laquelle l' |
Note
Remplacez « région », « compte »StreamName, » et « » par votre propre Compte AWS numéro Région AWS, le ARNs nom du flux de données Kinesis et le nom de KCL l'application, respectivement. KCLApplicationName KCL3.x crée deux autres tables de métadonnées dans DynamoDB. Pour plus de détails sur les tables de métadonnées DynamoDB créées KCL par, consultez. Tables de métadonnées DynamoDB et équilibrage de charge dans KCL Si vous utilisez des configurations pour personnaliser les noms des tables de métadonnées créées parKCL, utilisez les noms de table spécifiés plutôt que le nom de KCL l'application.
Voici un exemple de document de politique pour une application KCL grand public.
{ "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": "*" } ] }
Avant d'utiliser cet exemple de politique, vérifiez les points suivants :
-
REGIONRemplacez-le par votre Région AWS (par exemple, us-east-1).
-
Remplacez ACCOUNT _ID par votre Compte AWS identifiant.
-
Remplacez STREAM _ NAME par le nom de votre flux de données Kinesis.
-
Remplacez CONSUMER _ NAME par le nom de votre consommateur, généralement le nom de votre application lors de l'utilisationKCL.
-
Remplacez KCL APPLICATION _ _ NAME par le nom de votre KCL application.