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 funciones 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.

Name Description (Descripción)
Rol de canalización

El rol de canalización proporciona los permisos necesarios para que una canalización lea desde el origen y escriba en el receptor del dominio o de la colección. Puede crear el rol de canalización manualmente o puede hacer que OpenSearch Ingestion lo cree por usted.

Rol de ingesta

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.

Cross-account data ingestion pipeline showing client application, roles, and OpenSearch sink.

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

Temas

Rol de canalización

Una canalización necesita ciertos permisos para leer de su fuente y escribir en su receptor. Estos permisos dependen de la aplicación cliente o de la Servicio de AWS que esté escribiendo en la canalización y de si el receptor es un dominio de OpenSearch servicio, una colección OpenSearch sin servidor o Amazon S3. 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.

Al crear una canalización, tiene la opción de especificar una función de IAM existente que haya creado manualmente o hacer que OpenSearch Ingestion cree automáticamente la función de canalización en función de la fuente y el receptor que haya seleccionado. La siguiente imagen muestra cómo especificar el rol de canalización en la Consola de administración de AWS.

Pipeline role selection interface with options to create new or use existing IAM role.

Automatización de la creación de roles de canalización

Puede elegir que OpenSearch Ingestion cree el rol de canalización por usted. Identifica automáticamente los permisos que requiere el rol en función del origen y los receptores configurados. Crea un rol de IAM con el prefijo OpenSearchIngestion- y el sufijo que introduzcas. Por ejemplo, si lo introduce PipelineRole como sufijo, OpenSearch Ingestión crea un rol denominado. OpenSearchIngestion-PipelineRole

La creación automática del rol de canalización simplifica el proceso de configuración y reduce la probabilidad de que se produzcan errores de configuración. Al automatizar la creación de roles, puede evitar la asignación manual de permisos y garantizar que se apliquen las políticas correctas sin correr el riesgo de errores de configuración de seguridad. Esto también ahorra tiempo y mejora el cumplimiento de las normas de seguridad al aplicar las mejores prácticas y, al mismo tiempo, garantizar la coherencia en las distintas implementaciones en proceso.

Solo puede hacer que OpenSearch Ingestion cree automáticamente el rol de canalización en el. Consola de administración de AWS Si utilizas la AWS CLI API de OpenSearch ingestión o una de ellas SDKs, debes especificar una función de canalización creada manualmente.

Para que OpenSearch Ingestion cree el rol por usted, seleccione Crear y usar un nuevo rol de servicio.

importante

Aún tiene que modificar manualmente la política de acceso al dominio o a la colección para conceder el acceso a la función de canalización. En el caso de los dominios que utilicen un control de acceso detallado, también debe asignar el rol de canalización a un rol de backend. Puede realizar estos pasos antes o después de crear la canalización.

Para obtener instrucciones, consulte los siguientes temas:

Creación manual del rol de canalización

Es posible que prefiera crear el rol de canalización de forma manual si necesita tener más control sobre los permisos para cumplir requisitos específicos de seguridad o conformidad. La creación manual le permite personalizar los roles para adaptarlos a las estrategias de administración de acceso o de infraestructura existentes. También puede optar por la configuración manual para integrar el rol con otro Servicios de AWS o asegurarse de que se ajuste a sus necesidades operativas únicas.

Para elegir un rol de canalización creado manualmente, seleccione Usar un rol de IAM existente y elija un rol existente. El rol debe tener todos los permisos necesarios para recibir datos del origen seleccionado y escribir en el receptor seleccionado. En las siguientes secciones se describe cómo crear manualmente un rol de canalización.

Permisos para leer desde un origen

Una canalización de OpenSearch ingestión necesita permiso para leer y recibir datos de la fuente especificada. Por ejemplo, para un origen de Amazon DynamoDB, necesita permisos como dynamodb:DescribeTable y dynamodb:DescribeStream. Para ver ejemplos de políticas de acceso a roles de canalización para fuentes comunes, como Amazon S3, Fluent Bit y OpenTelemetry Collector, consulteIntegración de las canalizaciones OpenSearch de Amazon Ingestion con otros servicios y aplicaciones.

Permisos para escribir en un receptor de dominio

Una canalización de OpenSearch ingestión necesita permiso para escribir en un dominio de OpenSearch servicio que esté configurado como receptor. Estos permisos incluyen la capacidad de describir el dominio y enviarle solicitudes HTTP. Estos permisos son los mismos para los dominios públicos y de VPC. Para obtener instrucciones acerca de cómo crear un rol de canalización y especificarlo en la política de acceso a dominios, consulte Permitir que las canalizaciones accedan a los dominios.

Permisos para escribir en un receptor de colecciones

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

En primer lugar, asegúrese de que su política de acceso a los roles de canalización conceda los permisos necesarios. 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. Para obtener instrucciones para completar cada uno de estos pasos, consulte Allowing pipelines to access collections.

Permisos para escribir en Amazon S3 o en una cola de mensajes fallidos

Si especifica Amazon S3 como destino receptor de su canalización, o si habilita una cola de mensajes fallidos (DLQ), el rol de canalización debe permitirle acceder al bucket de S3 que especifique como destino.

Adjunte una política de permisos independiente al rol de canalización que otorgue acceso a la DLQ. Como mínimo, debe otorgarse la acción S3:PutObject al rol en el recurso del bucket:

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

Rol de ingesta

La función de ingestión es una función de IAM que permite a los servicios externos interactuar de forma segura con una canalización de ingestión y enviarlos a ella. OpenSearch En el caso de los orígenes basados en push, como Amazon Security Lake, este rol debe conceder permisos para introducir datos en la canalización, incluido osis:Ingest. En el caso de las fuentes basadas en extracciones, como Amazon S3, la función debe permitir que OpenSearch Ingestion la asuma y acceda a los datos con los permisos necesarios.

Rol de ingesta para orígenes basados en push

En el caso de los orígenes basados en push, los datos se envían o insertan en la canalización de ingesta desde otro servicio, como Amazon Security Lake o Amazon DynamoDB. En este escenario, el rol de ingesta necesita, como mínimo, el permiso osis:Ingest para interactuar con la canalización.

La siguiente política de acceso de IAM demuestra cómo conceder este permiso al rol de ingesta:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "osis:Ingest" ], "Resource": "arn:aws:osis:us-east-1:111122223333:pipeline/pipeline-name/*" } ] }

Rol de ingesta de orígenes basados en extracciones

En el caso de las fuentes basadas en extracciones, la canalización de OpenSearch ingestión extrae o recupera activamente datos de una fuente externa, como Amazon S3. En este caso, la canalización debe asumir un rol de canalización de IAM que conceda los permisos necesarios para acceder al origen de datos. En estos escenarios, el rol de ingesta es sinónimo del rol de canalización.

La función debe incluir una relación de confianza que permita a OpenSearch Ingestion asumirla y permisos específicos de la fuente de datos. Para obtener más información, consulte Permisos para leer desde un origen.

Incorporación entre cuentas

Es posible que tengas que introducir datos en una canalización desde otra cuentaCuenta de AWS, 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:

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

A continuación, configure la aplicación para que asuma el rol de incorporación. La cuenta de aplicación debe conceder al rol de aplicación AssumeRolepermisos para el rol de ingestió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.