Concesión de acceso a dominios para canalizaciones de 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.

Concesión de acceso a dominios para canalizaciones de Amazon OpenSearch Ingestion

Una canalización de Amazon OpenSearch Ingestion necesita permiso para escribir en el dominio de OpenSearch Service que esté configurado como su receptor. Para otorgar acceso, debe configurar un rol de 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 ver instrucciones sobre cómo adjuntar una política a un rol, consulte Adición de permisos de identidad de IAM en la Guía del usuario de IAM.

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: rol de maestro y rol de canalización diferentes: si utiliza un nombre de recurso de Amazon (ARN) de IAM como usuario maestro y es diferente del rol de canalización (sts_role_arn), debe asignar el rol de canalización al rol de backend de OpenSearch all_access. 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 su dominio utiliza un usuario maestro en la base de datos de usuarios interna y la autenticación básica HTTP para OpenSearch Dashboards, no podrá pasar el nombre de usuario y la contraseña maestros directamente a la configuración de la canalización. En su lugar, debe asignar el rol de canalización (sts_role_arn) al rol de backend de OpenSearch all_access. 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 rol de canalización (poco común): si utiliza un ARN de IAM como usuario maestro y es el mismo ARN que utiliza como rol de canalización (sts_role_arn), no necesita 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 este rol para firmar las solicitudes al receptor de dominios de OpenSearch Service.

En el campo sts_role_arn, especifique el ARN del rol de canalización de IAM:

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.