As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Conceder aos pipelines da Ingestão do Amazon OpenSearch o acesso às coleções
Um pipeline do Amazon OpenSearch Ingestion pode gravar em uma coleção pública do OpenSearch sem Servidor ou em uma coleção da VPC. Para fornecer acesso à coleção, você configura um perfil de pipeline do AWS Identity and Access Management (IAM) com uma política de permissões que garante o acesso à coleção. Antes de especificar o perfil na configuração do pipeline, você deve configurá-lo com uma relação de confiança apropriada e, em seguida, conceder a ele permissões de acesso por meio de uma política de acesso a dados.
Durante a criação do pipeline, o OpenSearch Ingestion cria uma conexão AWS PrivateLink entre o pipeline e a coleção do OpenSearch sem Servidor. Todo o tráfego do pipeline passa por esse endpoint da VPC e é roteado para a coleção. Para acessar a coleção, o endpoint deve ter acesso à coleção por meio de uma política de acesso à rede.
Tópicos
Fornecer acesso à rede aos pipelines
Cada coleção que você cria no OpenSearch sem Servidor tem pelo menos uma política de acesso à rede associada a ela. As políticas de acesso à rede determinam se a coleção é acessível pela internet a partir de redes públicas ou se deve ser acessada de forma privada. Para obter mais informações sobre políticas de rede, consulte Acesso de rede do Amazon OpenSearch Sem Servidor.
Em uma política de acesso à rede, você só pode especificar endpoints da VPC gerenciados pelo OpenSearch sem Servidor. Para ter mais informações, consulte Acesse o Amazon OpenSearch Serverless usando um endpoint de interface ()AWS PrivateLink. No entanto, para que o pipeline seja gravado na coleção, a política também deve conceder acesso ao endpoint da VPC que o OpenSearch Ingestion cria automaticamente entre o pipeline e a coleção. Portanto, ao criar um pipeline que tenha um coletor de coleção do OpenSearch sem Servidor, você deve fornecer o nome da política de rede associada usando a opção network_policy_name
.
Por exemplo:
... sink: - opensearch: hosts: [ "https://
collection-id
.region
.aoss.amazonaws.com" ] index: "my-index" aws: serverless: true serverless_options: network_policy_name: "network-policy-name
"
Durante a criação do pipeline, o OpenSearch Ingestion verifica a existência da política de rede especificada. Se não existir, o OpenSearch Ingestion a cria. Se ela existir, o OpenSearch Ingestion a atualizará adicionando uma nova regra a ela. A regra concede acesso ao endpoint da VPC que conecta o pipeline e a coleção.
Por exemplo:
{ "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" }
No console, todas as regras que o OpenSearch Ingestion adiciona às suas políticas de rede são denominadas Criadas pelo Data Prepper:
nota
Em geral, uma regra que especifique o acesso público para uma coleção substitui uma regra que especifique o acesso privado. Portanto, se a política já tinha acesso público configurado, essa nova regra adicionada pelo OpenSearch Ingestion não altera o comportamento da política. Para ter mais informações, consulte Precedência das políticas.
Se você interromper ou excluir o pipeline, o OpenSearch Ingestion excluirá o endpoint da VPC entre o pipeline e a coleção. Ele também modifica a política de rede para remover o endpoint da VPC da lista de endpoints permitidos. Se você reiniciar o pipeline, ele recriará o endpoint da VPC e reatualizará a política de rede com o ID do endpoint.
Etapa 1: Criar um pipeline
A função que você especifica no parâmetro sts_role_arn de uma configuração de pipeline deve ter uma política de permissões anexada que permita enviar dados para o coletor de coleta. Além disso, deve ter um relacionamento de confiança que permite que a Ingestão do OpenSearch assuma a função. Para obter instruções de como associar uma política gerenciada a uma função, consulte Adição de permissões de identidade do IAM no Manual do usuário do IAM.
O exemplo de política a seguir demonstra o privilégio mínimo que você pode fornecer na função sts_role_arn de uma configuração de pipeline para que ela grave em coleções:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "aoss:APIAccessAll", "aoss:BatchGetCollection", "aoss:CreateSecurityPolicy", "aoss:GetSecurityPolicy", "aoss:UpdateSecurityPolicy" ], "Resource": "*" } ] }
A função deve ter a seguinte relação de confiança, o que permite que a Ingestão do OpenSearch a assuma:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "osis-pipelines.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Etapa 2: criar uma coleção
Crie uma coleção OpenSearch de tecnologia sem servidor com as seguintes configurações. Para obter instruções sobre como criar uma coleção, consulte Criação de coleções.
Política de acesso a dados
Crie uma política de acesso a dados para a coleção que conceda as permissões necessárias para o perfil do pipeline. Por exemplo:
[ { "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" } ]
nota
No elemento Principal
, especifique o nome do recurso da Amazon (ARN) do perfil do pipeline criado na etapa anterior.
Política de acesso à rede
Crie uma política de acesso à rede para a coleção. Você pode ingerir dados em uma coleção pública ou uma coleção da VPC. Por exemplo, a política a seguir fornece acesso a um único endpoint da VPC gerenciado pelo OpenSearch sem Servidor:
[ { "Description":"Rule 1", "Rules":[ { "ResourceType":"collection", "Resource":[ "collection/
collection-name
" ] } ], "AllowFromPublic": false, "SourceVPCEs":[ "vpce-050f79086ee71ac05
" ] } ]
Importante
Você deve especificar o nome da política de rede dentro da opção network_policy_name
na configuração de pipeline. No momento da criação do pipeline, o OpenSearch Ingestion atualiza essa política de rede para permitir acesso ao endpoint da VPC que ele cria automaticamente entre o pipeline e a coleção. Consulte a etapa 3 para ver um exemplo de configuração de pipeline. Para ter mais informações, consulte Fornecer acesso à rede aos pipelines.
Etapa 3: Criar um pipeline
Por fim, crie um pipeline no qual você especifique o perfil do pipeline e os detalhes da coleção. O pipeline assume essa função para assinar solicitações no coletor de coleta OpenSearch de tecnologia sem servidor.
Não deixe de fazer o seguinte:
-
Para a opção
hosts
, especifique o endpoint da coleção que você criou na etapa 2. -
Para a opção
sts_role_arn
, especifique o nome do recurso da Amazon (ARN) do perfil do pipeline criado na etapa 1. -
Defina a opção
serverless
comotrue
. -
Defina a opção
network_policy_name
como o nome da política de rede anexada à coleção. O OpenSearch Ingestion atualiza automaticamente essa política de rede para permitir o acesso da VPC que ele cria entre o pipeline e a coleção. Para ter mais informações, consulte Fornecer acesso à rede aos 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
"
Para obter uma referência completa dos parâmetros necessários e não compatíveis, consulte Plugins e opções compatíveis para pipelines OpenSearch de ingestão da Amazon.