Accorder aux OpenSearch pipelines Amazon Ingestion l'accès aux domaines - Amazon OpenSearch Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Accorder aux OpenSearch pipelines Amazon Ingestion l'accès aux domaines

Un pipeline OpenSearch Amazon Ingestion a besoin d'une autorisation pour écrire dans le domaine de OpenSearch service configuré comme récepteur. Pour fournir un accès, vous configurez un rôle AWS Identity and Access Management (IAM) avec une politique d'autorisations restrictive qui limite l'accès au domaine auquel un pipeline envoie des données. Par exemple, vous souhaiterez peut-être limiter un pipeline d'ingestion au seul domaine et aux index nécessaires pour prendre en charge son cas d'utilisation.

Important

Vous pouvez choisir de créer manuellement le rôle de pipeline, ou vous pouvez demander à Ingestion de OpenSearch le créer pour vous lors de la création du pipeline. Si vous choisissez la création automatique des rôles, OpenSearch Ingestion ajoute toutes les autorisations requises à la politique d'accès aux rôles du pipeline en fonction de la source et du récepteur que vous choisissez. Il crée un rôle de pipeline dans IAM avec le préfixe OpenSearchIngestion- et le suffixe que vous entrez. Pour de plus amples informations, veuillez consulter Rôle du pipeline.

Si OpenSearch Ingestion crée le rôle de pipeline pour vous, vous devez tout de même inclure le rôle dans la politique d'accès au domaine et le mapper à un rôle principal (si le domaine utilise un contrôle d'accès précis), avant ou après la création du pipeline. Consultez l'étape 2 pour obtenir des instructions.

Étape 1 : Création du rôle de pipeline

Le rôle de pipeline doit être associé à une politique d'autorisation lui permettant d'envoyer des données au récepteur de domaine. Il doit également avoir une relation de confiance permettant à OpenSearch Ingestion d'assumer le rôle. Pour savoir comment associer une politique à un rôle, consultez la section Ajout d'autorisations d'identité IAM dans le Guide de l'utilisateur IAM.

L'exemple de politique suivant illustre le privilège minimal que vous pouvez accorder à un rôle de pipeline pour qu'il puisse écrire sur un seul domaine :

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

Si vous envisagez de réutiliser le rôle pour écrire dans plusieurs domaines, vous pouvez élargir la politique en remplaçant le nom de domaine par un caractère générique (*).

Le rôle doit avoir la relation de confiance suivante, ce qui permet à OpenSearch Ingestion d'assumer le rôle de pipeline :

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

Étape 2 : configurer l'accès aux données pour le domaine

Pour qu'un pipeline puisse écrire des données dans un domaine, celui-ci doit disposer d'une politique d'accès au niveau du domaine qui autorise le rôle du pipeline à y accéder.

L'exemple de politique d'accès au domaine suivant permet au rôle de pipeline nommé pipeline-role d'écrire des données dans le domaine nommé ingestion-domain :

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

Cartographier le rôle du pipeline (uniquement pour les domaines qui utilisent un contrôle d'accès précis)

Si votre domaine utilise un contrôle d'accès précis pour l'authentification, vous devez suivre des étapes supplémentaires pour fournir à votre pipeline l'accès à un domaine. Les étapes varient en fonction de la configuration de votre domaine :

  • Scénario 1 : rôle principal et rôle de pipeline différents — Si vous utilisez un nom de ressource IAM Amazon (ARN) comme utilisateur principal et que celui-ci est différent du rôle de pipeline, vous devez mapper le rôle de pipeline au rôle OpenSearch all_access principal. Cela ajoute le rôle de pipeline en tant qu'utilisateur principal supplémentaire. Pour plus d'informations, consultez la section Utilisateurs principaux supplémentaires.

  • Scénario 2 : utilisateur principal dans la base de données utilisateur interne — Si votre domaine utilise un utilisateur principal dans la base de données utilisateur interne et une authentification HTTP de base pour les OpenSearch tableaux de bord, vous ne pouvez pas transmettre le nom d'utilisateur et le mot de passe principaux directement dans la configuration du pipeline. Mappez plutôt le rôle de pipeline au rôle de OpenSearch all_access backend. Cela ajoute le rôle de pipeline en tant qu'utilisateur principal supplémentaire. Pour plus d'informations, consultez la section Utilisateurs principaux supplémentaires.

  • Scénario 3 : même rôle principal et rôle de pipeline (peu fréquent) — Si vous utilisez un ARN IAM en tant qu'utilisateur principal et que c'est le même ARN que vous utilisez comme rôle de pipeline, vous n'avez aucune autre action à effectuer. Le pipeline dispose des autorisations requises pour écrire sur le domaine. Ce scénario est rare car la plupart des environnements utilisent un rôle d'administrateur ou un autre rôle en tant que rôle principal.

L'image suivante montre comment mapper le rôle de pipeline à un rôle de backend :

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