Autoriser les pipelines OpenSearch Amazon Ingestion à accéder aux collections - 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.

Autoriser les pipelines OpenSearch Amazon Ingestion à accéder aux collections

Un pipeline Amazon OpenSearch Ingestion peut écrire dans une collection ou VPC une collection publique OpenSearch sans serveur. Pour donner accès à la collection, vous configurez un rôle de pipeline AWS Identity and Access Management (IAM) avec une politique d'autorisation qui accorde l'accès à la collection. Avant de spécifier le rôle dans la configuration de votre pipeline, vous devez le configurer avec une relation de confiance appropriée, puis lui accorder des autorisations d'accès aux données via une politique d'accès aux données.

Lors de la création du pipeline OpenSearch , Ingestion crée une AWS PrivateLink connexion entre le pipeline et la collection OpenSearch Serverless. Tout le trafic provenant du pipeline passe par ce VPC point de terminaison et est acheminé vers la collection. Pour accéder à la collection, le point de terminaison doit être autorisé à accéder à la collection par le biais d'une politique d'accès au réseau.

OpenSearch Ingestion pipeline connecting to OpenSearch Serverless collection via PrivateLink VPC endpoint.

Fournir un accès réseau aux pipelines

Chaque collection que vous créez dans OpenSearch Serverless est associée à au moins une politique d'accès réseau. Les politiques d'accès au réseau déterminent si la collection est accessible via Internet à partir de réseaux publics ou si elle doit être consultée de manière privée. Pour plus d'informations sur les politiques réseau, consultezAccès au réseau pour Amazon OpenSearch Serverless.

Dans le cadre d'une politique d'accès au réseau, vous ne pouvez spécifier que des points de OpenSearch terminaison gérés sans serveurVPC. Pour de plus amples informations, veuillez consulter Accédez à Amazon OpenSearch Serverless à l'aide d'un point de terminaison d'interface ()AWS PrivateLink. Toutefois, pour que le pipeline puisse écrire dans la collection, la politique doit également accorder l'accès au VPC point de terminaison qu' OpenSearch Ingestion crée automatiquement entre le pipeline et la collection. Par conséquent, lorsque vous créez un pipeline doté d'un récepteur de collecte OpenSearch sans serveur, vous devez fournir le nom de la politique réseau associée à l'aide de l'network_policy_nameoption.

Par exemple :

... sink: - opensearch: hosts: [ "https://collection-id.region.aoss.amazonaws.com" ] index: "my-index" aws: serverless: true serverless_options: network_policy_name: "network-policy-name"

Lors de la création du OpenSearch pipeline, Ingestion vérifie l'existence de la politique réseau spécifiée. S'il n'existe pas, OpenSearch Ingestion le crée. Si elle existe, OpenSearch Ingestion la met à jour en y ajoutant une nouvelle règle. La règle accorde l'accès au VPC point de terminaison qui connecte le pipeline et la collection.

Par exemple :

{ "Rules":[ { "Resource":[ "collection/my-collection" ], "ResourceType":"collection" } ], "SourceVPCEs":[ "vpce-0c510712627e27269" # The ID of the VPC endpoint that OpenSearch Ingestion creates between the pipeline and collection ], "Description":"Created by Data Prepper" }

Dans la console, toutes les règles qu' OpenSearch Ingestion ajoute à vos politiques réseau sont nommées Created by Data Prepper :

Configuration details for OpenSearch endpoint access, including VPC endpoint and resources.
Note

En général, une règle qui spécifie l'accès public pour une collection remplace une règle qui spécifie un accès privé. Par conséquent, si l'accès public était déjà configuré à la politique, cette nouvelle règle OpenSearch ajoutée par Ingestion ne modifie pas réellement le comportement de la politique. Pour de plus amples informations, veuillez consulter Priorité des stratégies.

Si vous arrêtez ou supprimez le pipeline, OpenSearch Ingestion supprime le VPC point de terminaison situé entre le pipeline et la collection. Il modifie également la politique réseau afin de supprimer le point de VPC terminaison de la liste des points de terminaison autorisés. Si vous redémarrez le pipeline, il recrée le point de VPC terminaison et met à jour à nouveau la politique réseau avec l'ID du point de terminaison.

Étape 1 : créer un rôle de pipeline

Le rôle que vous spécifiez dans le paramètre sts_role_arn d'une configuration de pipeline doit être associé à une politique d'autorisation lui permettant d'envoyer des données au récepteur de collecte. 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 IAM d'identité dans le Guide de IAM l'utilisateur.

L'exemple de politique suivant illustre le moindre privilège que vous pouvez accorder dans le rôle sts_role_arn d'une configuration de pipeline pour qu'elle puisse écrire dans des collections :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "aoss:APIAccessAll", "aoss:BatchGetCollection", "aoss:CreateSecurityPolicy", "aoss:GetSecurityPolicy", "aoss:UpdateSecurityPolicy" ], "Resource": "*" } ] }

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

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

Étape 2 : créer une collection

Créez une collection OpenSearch sans serveur avec les paramètres suivants. Pour obtenir des instructions sur la création d'une collection, consultezCréer des collections.

Politique d'accès aux données

Créez une politique d'accès aux données pour la collection qui accorde les autorisations requises au rôle de pipeline. Par exemple :

[ { "Rules": [ { "Resource": [ "index/collection-name/*" ], "Permission": [ "aoss:CreateIndex", "aoss:UpdateIndex", "aoss:DescribeIndex", "aoss:WriteDocument" ], "ResourceType": "index" } ], "Principal": [ "arn:aws:iam::account-id:role/pipeline-role" ], "Description": "Pipeline role access" } ]
Note

Dans l'Principalélément, spécifiez le nom de ressource Amazon (ARN) du rôle de pipeline que vous avez créé à l'étape précédente.

Politique d'accès au réseau

Créez une politique d'accès réseau pour la collection. Vous pouvez ingérer des données dans une collection publique ou une VPC collection. Par exemple, la politique suivante fournit l'accès à un seul point de terminaison OpenSearch géré sans serveur VPC :

[ { "Description":"Rule 1", "Rules":[ { "ResourceType":"collection", "Resource":[ "collection/collection-name" ] } ], "AllowFromPublic": false, "SourceVPCEs":[ "vpce-050f79086ee71ac05" ] } ]
Important

Vous devez spécifier le nom de la politique réseau dans l'network_policy_nameoption de configuration du pipeline. Au moment de la création du pipeline, OpenSearch Ingestion met à jour cette politique réseau pour autoriser l'accès au VPC point de terminaison qu'elle crée automatiquement entre le pipeline et la collection. Consultez l'étape 3 pour un exemple de configuration de pipeline. Pour de plus amples informations, veuillez consulter Fournir un accès réseau aux pipelines.

Étape 3 : Création d'un pipeline

Enfin, créez un pipeline dans lequel vous spécifiez le rôle du pipeline et les détails de la collection. Le pipeline assume ce rôle afin de signer les demandes destinées au récepteur de collecte OpenSearch sans serveur.

Vérifiez les points suivants :

  • Pour l'hostsoption, spécifiez le point de terminaison de la collection que vous avez créée à l'étape 2.

  • Pour sts_role_arn cette option, spécifiez le nom de ressource Amazon (ARN) du rôle de pipeline que vous avez créé à l'étape 1.

  • Définissez l'serverlessoption surtrue.

  • Définissez l'network_policy_nameoption sur le nom de la politique réseau associée à la collection. OpenSearch L'ingestion met automatiquement à jour cette politique réseau pour autoriser l'accès à partir de VPC ce qu'elle crée entre le pipeline et la collection. Pour de plus amples informations, veuillez consulter Fournir un accès réseau aux pipelines.

version: "2" log-pipeline: source: http: path: "/log/ingest" processor: - date: from_time_received: true destination: "@timestamp" sink: - opensearch: hosts: [ "https://collection-id.region.aoss.amazonaws.com" ] index: "my-index" aws: serverless: true serverless_options: network_policy_name: "network-policy-name" # If the policy doesn't exist, a new policy is created. region: "us-east-1" sts_role_arn: "arn:aws:iam::account-id:role/pipeline-role"

Pour une référence complète des paramètres obligatoires et non pris en charge, consultezPlug-ins et options pris en charge pour les pipelines OpenSearch Amazon Ingestion.