Configuración de roles y usuarios en Amazon OpenSearch Ingestion - OpenSearch Servicio Amazon

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.

Configuración de roles y usuarios en Amazon OpenSearch Ingestion

Amazon OpenSearch Ingestion utiliza diversos modelos de permisos y roles de IAM para permitir que las aplicaciones de origen escriban en las canalizaciones y que las canalizaciones escriban en los receptores. Antes de empezar a incorporar datos, debe crear uno o más roles de IAM con permisos específicos en función de su caso de uso.

Como mínimo, se requieren los siguientes roles para configurar una canalización exitosa.

Nombre Descripción
Rol de administración

Cualquier entidad principal que gestione canalizaciones (por lo general, un «administrador de canalizaciones») necesita un acceso de administración, que incluye permisos como osis:CreatePipeline y osis:UpdatePipeline. Estos permisos permiten al usuario administrar las canalizaciones, pero no necesariamente escribir datos en ellas.

Rol de canalización

El rol de canalización, que se especifica en la configuración de YAML de la canalización, proporciona los permisos necesarios para que una canalización escriba en el dominio o en el receptor de la colección y lea desde fuentes basadas en la extracción. Para obtener más información, consulte los temas siguientes:

Rol de incorporación

El rol de ingestión contiene el permiso osis:Ingest para el recurso de canalización. Este permiso permite que los origenes basados en push incorporen datos en una canalización.

La siguiente imagen muestra una configuración de canalización típica, en la que un origen de datos como Amazon S3 o Fluent Bit escribe en una canalización de una cuenta diferente. En este caso, el cliente debe asumir el rol de incorporación para poder acceder a la canalización. Para obtener más información, consulte Incorporación entre cuentas.

Para obtener una guía de configuración sencilla, consulte Tutorial: Ingerir datos en un dominio mediante Amazon OpenSearch Ingestion.

Temas

Rol de administración

Además de los permisos osis:* básicos necesarios para crear y modificar una canalización, también necesita el permiso iam:PassRole para el recurso del rol de canalización. Cualquier Servicio de AWS que acepte un rol debe usar este permiso. OpenSearch Ingestion asume el rol cada vez que necesita escribir datos en un receptor. Esto ayuda a los administradores a garantizar que solo los usuarios autorizados puedan configurar OpenSearch Ingestion con un rol que concede permisos. Para obtener más información, consulte Concesión de permisos a un usuario para transferir un rol a un Servicio de AWS.

Si está usandoAWS Management Console (utiliza esquemas y, posteriormente, comprueba su canalización), necesita los siguientes permisos para crear y actualizar una canalización:

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Resource":"*", "Action":[ "osis:CreatePipeline", "osis:GetPipelineBlueprint", "osis:ListPipelineBlueprints", "osis:GetPipeline", "osis:ListPipelines", "osis:GetPipelineChangeProgress", "osis:ValidatePipeline", "osis:UpdatePipeline" ] }, { "Resource":[ "arn:aws:iam::{your-account-id}:role/pipeline-role" ], "Effect":"Allow", "Action":[ "iam:PassRole" ] } ] }

Si utiliza el AWS CLI (sin validar previamente su canalización ni utiliza esquemas), necesita los siguientes permisos para crear y actualizar una canalización:

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Resource":"*", "Action":[ "osis:CreatePipeline", "osis:UpdatePipeline" ] }, { "Resource":[ "arn:aws:iam::{your-account-id}:role/pipeline-role" ], "Effect":"Allow", "Action":[ "iam:PassRole" ] } ] }

Rol de canalización

Una canalización necesita ciertos permisos para escribir en su receptor. Estos permisos dependen de si el receptor es un dominio de OpenSearch Service o una colección de OpenSearch sin servidor.

Además, es posible que una canalización necesite permisos para extraer información de la aplicación de origen (si el origen es un complemento basado en la extracción) y permisos para escribir en una cola de mensajes fallidos de S3, si está configurada.

Escribir en un receptor de dominio

Una canalización de OpenSearch Ingestion necesita permiso para escribir en un dominio de OpenSearch Service que esté configurado como su receptor. Estos permisos incluyen la capacidad de describir el dominio y enviarle solicitudes HTTP.

Para ofrecer a su canalización los permisos necesarios para escribir en un receptor, primero cree un rol AWS Identity and Access Management (de IAM) con los permisos necesarios. Estos permisos son los mismos para las canalizaciones públicas y de VPC. A continuación, especifique el rol de canalización en la política de acceso al dominio para que el dominio pueda aceptar las solicitudes de escritura de la canalización.

Por último, especifique el ARN del rol como el valor de la opción sts_role_arn en la configuración de la canalización:

version: "2" source: http: ... processor: ... sink: - opensearch: ... aws: sts_role_arn: arn:aws:iam::{your-account-id}:role/pipeline-role

Para obtener instrucciones para completar cada uno de estos pasos, consulte Permitir que las canalizaciones accedan a dominios.

Escribir en un receptor de colecciones

Una canalización de OpenSearch Ingestion necesita permiso para escribir en una colección de OpenSearch sin servidor que esté configurada como su receptor. Estos permisos incluyen la capacidad de describir el dominio y enviarle solicitudes HTTP.

En primer lugar, cree un rol de IAM que tenga el permiso aoss:BatchGetCollection para todos los recursos (*). A continuación, incluya este rol en una política de acceso a los datos y asígnele permisos para crear índices, actualizar índices, describir índices y escribir documentos dentro de la colección. Por último, especifique el ARN del rol como el valor de la opción sts_role_arn en la configuración de la canalización.

Para obtener instrucciones para completar cada uno de estos pasos, consulte Permitir que las canalizaciones accedan a las colecciones.

Escribir en una cola de mensajes fallidos

Si configura la canalización para escribir en una cola de mensajes fallidos (DLQ), debe incluir la opción en la configuración de la DLQ. sts_role_arn Los permisos incluidos en este rol permiten que la canalización acceda al bucket de S3 que especifique como destino para los eventos de la DLQ.

Debe usar el mismo sts_role_arn en todos los componentes de la canalización. Por lo tanto, debe adjuntar una política de permisos independiente a su rol de canalización que otorgue acceso a la DLQ. Como mínimo, el rol debe permitir la acción S3:PutObject en el recurso del bucket:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "WriteToS3DLQ", "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-dlq-bucket/*" } ] }

A continuación, puede especificar el rol en la configuración de la DLQ de la canalización:

... sink: opensearch: dlq: s3: bucket: "my-dlq-bucket" key_path_prefix: "dlq-files" region: "us-west-2" sts_role_arn: "arn:aws:iam::123456789012:role/pipeline-role"

Rol de incorporación

Todos los complementos de origen que OpenSearch Ingestion admite actualmente, con la excepción de S3, utilizan una arquitectura basada en push. Esto significa que la aplicación de origen envía los datos a la canalización, en lugar de que la canalización extraiga los datos del origen.

Por lo tanto, debe conceder a las aplicaciones de origen los permisos necesarios para incorporar datos a una canalización de OpenSearch Ingestion. Como mínimo, el rol que firma la solicitud debe tener permiso para realizar la acción osis:Ingest, lo que le permitirá enviar datos a una canalización. Se requieren los mismos permisos para los puntos de conexión de canalizaciones públicas y de VPC.

El siguiente ejemplo de política permite a la entidad principal asociada incorporar datos en una canalización única llamada my-pipeline:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PermitsWriteAccessToPipeline", "Effect": "Allow", "Action": "osis:Ingest", "Resource": "arn:aws:osis:us-west-2:{your-account-id}:pipeline/my-pipeline" } ] }

Para obtener más información, consulte Trabajar con las integraciones de Amazon OpenSearch Ingestion Pipeline.

Incorporación entre cuentas

Es posible que tenga que incorporar datos a una canalización desde una Cuenta de AWS diferente, como una cuenta de aplicación. Para configurar la incorporación entre cuentas, defina un rol de incorporaco+pm dentro de la misma cuenta que la canalización y establezca una relación de confianza entre el rol de ingesta y la cuenta de la aplicación:

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{external-account-id}:root" }, "Action": "sts:AssumeRole" }] }

A continuación, configure la aplicación para que asuma el rol de incorporación. La cuenta de la aplicación debe conceder al rol de aplicación permisos AssumeRole para el rol de incorporación en la cuenta de canalización.

Para ver ejemplos de pasos detallados y ejemplos de políticas de IAM, consulte Provisión de acceso de ingesta entre cuentas.