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.
Debe añadir los siguientes permisos al rol o usuario de IAM asociado a su aplicación de consumo de KCL.
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 acceso de los usuarios. AWS Una política de IAM enumera de forma explícita las acciones que se pueden realizar y los recursos a los que se pueden aplicar dichas acciones.
En la siguiente tabla se muestran los permisos de IAM mínimos que generalmente se requieren para las aplicaciones de consumo de KCL:
Servicio | Acciones | Recursos () ARNs | Finalidad |
---|---|---|---|
Amazon Kinesis Data Streams |
|
Transmisión de datos de Kinesis desde la que la aplicación KCL 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 la aplicación KCL procesará los datos.
|
Lee registros de un fragmento. |
Amazon Kinesis Data Streams |
|
Transmisión de datos de Kinesis desde la que la aplicación KCL procesará los datos. Añada esta acción únicamente si utiliza consumidores con distribución integrada mejorada (EFO).
|
Se suscribe a una sección destinada a los consumidores con capacidad de distribución mejorada (EFO). |
Amazon DynamoDB |
|
Tabla de arrendamiento (tabla de metadatos en DynamoDB creada por KCL).
|
Estas acciones son necesarias para que KCL administre la tabla de arrendamientos creada en DynamoDB. |
Amazon DynamoDB |
|
Tabla de métricas de los trabajadores y estados de los coordinadores (tablas de metadatos en DynamoDB) creada por KCL.
|
Estas acciones son necesarias para que KCL administre 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 para que KCL lea el índice secundario global de la tabla de arrendamientos 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» y «StreamNamenombre» por su propio Cuenta de AWS número Región de AWS, KCLApplication nombre de la ARNs transmisión de datos de Kinesis y nombre de la aplicación de KCL, respectivamente. KCL 3.x crea dos tablas de metadatos más en DynamoDB. Para obtener más información sobre las tablas de metadatos de DynamoDB creadas por KCL, 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 por KCL, utilice los nombres de tabla especificados en lugar del nombre de la aplicación de KCL.
El siguiente es un ejemplo de documento de política para una aplicación de consumo de 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": "*"
}
]
}
Antes de usar este ejemplo de política, compruebe lo siguiente:
-
Sustituya REGION 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 su aplicación cuando utilice KCL.
-
Sustituya KCL_APPLICATION_NAME por el nombre de su aplicación de KCL.