Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
IAMpermisos necesarios para las aplicaciones de consumo KCL
Debe agregar los siguientes permisos al IAM rol o usuario asociado a su aplicación de KCL consumidor.
Las mejores prácticas de seguridad para AWS dictar el uso de permisos detallados para controlar el acceso a los diferentes recursos. AWS Identity and Access Management (IAM) le permite administrar los usuarios y los permisos de los usuarios. AWS Una IAM política enumera explícitamente las acciones que están permitidas y los recursos a los que se aplican las acciones.
En la siguiente tabla se muestran los IAM permisos mínimos que generalmente se requieren para las aplicaciones de KCL consumo:
Servicio | Acciones | Recursos (ARNs) | Finalidad |
---|---|---|---|
Amazon Kinesis Data Streams |
|
Transmisión de datos de Kinesis desde la que KCL la aplicación procesará los datos.
|
Antes de intentar leer registros, el consumidor comprueba si la secuencia de datos existe y si está activa, y si los fragmentos se encuentran en la secuencia de datos. Registra a los consumidores en un fragmento. |
Amazon Kinesis Data Streams |
|
Transmisión de datos de Kinesis desde la que KCL la aplicación procesará los datos.
|
Lee registros de un fragmento. |
Amazon Kinesis Data Streams |
|
Transmisión de datos de Kinesis desde la que KCL la aplicación procesará los datos. Añada esta acción solo si utiliza consumidores con distribución mejorada (EFO).
|
Se suscribe a un fragmento para los consumidores con mayor capacidad de distribución (). EFO |
Amazon DynamoDB |
|
Tabla de arrendamiento (tabla de metadatos en DynamoDB creada por. KCL
|
Estas acciones son necesarias KCL para administrar la tabla de arrendamientos creada en DynamoDB. |
Amazon DynamoDB |
|
Tabla de métricas de los trabajadores y estado del coordinador (tablas de metadatos en DynamoDB) creada por. KCL
|
Estas acciones son necesarias para KCL administrar las métricas de los trabajadores y las tablas de metadatos del estado del coordinador en DynamoDB. |
Amazon DynamoDB |
|
Índice secundario global en la tabla de arrendamientos.
|
Esta acción es necesaria KCL para leer el índice secundario global de la tabla de arrendamiento creada en DynamoDB. |
Amazon CloudWatch |
|
* |
Sube métricas CloudWatch que sean útiles para monitorear la aplicación. El asterisco (*) se utiliza porque no hay ningún recurso específico CloudWatch en el que se invoque la |
nota
Sustituya «región», «cuenta» StreamName y «» por su propio Cuenta de AWS número Región de AWS, nombre de la ARNs transmisión de datos de Kinesis y nombre de la KCL aplicación, respectivamente. KCLApplicationName KCL3.x crea dos tablas de metadatos más en DynamoDB. Para obtener más información sobre las tablas de metadatos de DynamoDB creadas KCL por, consulte. Tablas de metadatos de DynamoDB y equilibrio de carga en KCL Si utiliza configuraciones para personalizar los nombres de las tablas de metadatos creadas porKCL, utilice los nombres de tabla especificados en lugar del nombre de la KCL aplicación.
El siguiente es un ejemplo de documento de política para una aplicación de KCL consumo.
{ "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": "*" } ] }
Antes de usar este ejemplo de política, compruebe lo siguiente:
-
REGIONReemplácelo por su Región de AWS (por ejemplo, us-east-1).
-
Sustituya ACCOUNT _ID por su ID. Cuenta de AWS
-
Sustituya STREAM _ NAME por el nombre de la transmisión de datos de Kinesis.
-
Sustituya CONSUMER _ NAME por el nombre de su consumidor, normalmente el nombre de la aplicación cuando la utiliceKCL.
-
Sustituya KCL APPLICATION _ _ NAME por el nombre de KCL la aplicación.