Otorgar a Amazon OpenSearch Ingestion pipelines acceso a los dominios - 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.

Otorgar a Amazon OpenSearch Ingestion pipelines acceso a los dominios

Una canalización OpenSearch de Amazon Ingestion necesita permiso para escribir en el dominio de OpenSearch servicio que está configurado como receptor. Para proporcionar acceso, debe configurar un rol AWS Identity and Access Management (IAM) con una política de permisos restrictiva que limite el acceso al dominio al que una canalización envía datos. Por ejemplo, es posible que desee limitar una canalización de incorporación únicamente al dominio y los índices necesarios para respaldar su caso de uso.

Antes de especificar el rol en la configuración de la canalización, debe configurarlo con una relación de confianza adecuada y, a continuación, concederle acceso al dominio dentro de la política de acceso al dominio.

Paso 1: crear un rol de canalización

El rol que especifique en el parámetro sts_role_arn de una configuración de canalización debe tener una política de permisos adjunta que le permita enviar datos al receptor del dominio. También debe tener una relación de confianza que permita a OpenSearch Ingestion asumir el rol. Para obtener instrucciones sobre cómo asociar una política a un rol, consulte Añadir permisos de IAM identidad en la Guía del IAM usuario.

En el siguiente ejemplo de política se muestra el privilegio mínimo que se puede proporcionar en el rol sts_role_arn de configuración de una canalización para escribir en un solo dominio:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:*:your-account-id:domain/*" }, { "Effect": "Allow", "Action": "es:ESHttp*", "Resource": "arn:aws:es:*:your-account-id:domain/domain-name/*" } ] }

Si piensa reutilizar el rol para escribir en varios dominios, puede ampliar la política sustituyendo el nombre de dominio por un carácter comodín (*).

El rol debe tener la siguiente relación de confianza, lo que permite a OpenSearch Ingestion asumir el rol de canalización:

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"osis-pipelines.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }

Además, le recomendamos que agregue las claves de condición aws:SourceAccount y aws:SourceArn a la política para protegerse contra el problema del suplente confuso. La cuenta de origen es la propietaria de la canalización.

Por ejemplo, podría agregar el siguiente bloque de condición a la política:

"Condition": { "StringEquals": { "aws:SourceAccount": "your-account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:osis:region:your-account-id:pipeline/*" } }

Paso 2: incluir la función de canalización en la política de acceso al dominio

Para que una canalización escriba datos en un dominio, el dominio debe tener una política de acceso a nivel de dominio que permita al rol de canalización sts_role_arn acceder a ellos.

El siguiente ejemplo de política de acceso al dominio permite que el rol de canalización denominado pipeline-role, que creó en el paso anterior, escriba datos en el dominio denominado ingestion-domain:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::your-account-id:role/pipeline-role" }, "Action": ["es:DescribeDomain", "es:ESHttp*"], "Resource": "arn:aws:es:region:your-account-id:domain/domain-name/*" } ] }

Paso 3: asignar el rol de canalización (solo para dominios que utilicen un control de acceso detallado)

Si su dominio utiliza un control de acceso detallado para la autenticación, debe seguir algunos pasos adicionales para proporcionar a su canalización acceso a un dominio. Los pasos varían en función de la configuración del dominio:

Escenario 1: función de maestro y función de canalización diferentes: si utilizas un nombre de recurso de IAM Amazon (ARN) como usuario maestro y es diferente de la función de canalización (sts_role_arn), debes asignar la función de canalización a la función de OpenSearch all_access backend. Básicamente, esto añade el rol de canalización como usuario maestro adicional. Para obtener más información, consulte Usuarios maestros adicionales.

Escenario 2: Usuario maestro en la base de datos de usuarios interna: si tu dominio utiliza un usuario maestro en la base de datos de usuarios interna y una autenticación HTTP básica para los OpenSearch paneles de control, no podrás pasar el nombre de usuario y la contraseña maestros directamente a la configuración de la canalización. En su lugar, debes asignar la función de canalización (sts_role_arn) a la función de OpenSearch all_access backend. Básicamente, esto añade el rol de canalización como usuario maestro adicional. Para obtener más información, consulte Usuarios maestros adicionales.

Escenario 3: El mismo rol de maestro y el mismo rol de canalización (poco común): si utilizas un IAM ARN como usuario maestro y es el mismo ARN que usas como rol de canalización (sts_role_arn), no necesitas realizar ninguna otra acción. La canalización tiene los permisos necesarios para escribir en el dominio. Este escenario es poco común porque la mayoría de los entornos utilizan un rol de administrador o algún otro rol como rol de maestro.

La siguiente imagen muestra cómo asignar el rol de canalización a un rol de backend:

Backend roles section showing an AWSIAM role ARN for a pipeline role with a Remove option.

Paso 4: especificar el rol en la configuración de la canalización

Para crear una canalización correctamente, debe especificar el rol de canalización que creó en el paso 1 como parámetro sts_role_arn en la configuración de la canalización. La canalización asume esta función para firmar las solicitudes que se envían al receptor del dominio de OpenSearch Service.

En el sts_role_arn campo, especifique la función ARN de IAM canalización:

version: "2" log-pipeline: source: http: path: "/${pipelineName}/logs" processor: - grok: match: log: [ "%{COMMONAPACHELOG}" ] sink: - opensearch: hosts: [ "https://search-domain-name.us-east-1.es.amazonaws.com" ] index: "my-index" aws: region: "region" sts_role_arn: "arn:aws:iam::your-account-id:role/pipeline-role"

Para ver una referencia completa de los parámetros obligatorios y no admitidos, consulte Plugins y opciones compatibles para las canalizaciones de Amazon OpenSearch Ingestion.