Concedendo acesso aos pipelines OpenSearch do Amazon Ingestion aos domínios - OpenSearch Serviço Amazon

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á.

Concedendo acesso aos pipelines OpenSearch do Amazon Ingestion aos domínios

Um pipeline OpenSearch de ingestão da Amazon precisa de permissão para gravar no domínio do OpenSearch serviço que está configurado como seu coletor. Para fornecer acesso, você configura uma função AWS Identity and Access Management (IAM) com uma política de permissões restritiva que limita o acesso ao domínio para o qual um pipeline está enviando dados. Por exemplo, talvez você queira limitar um pipeline de ingestão somente ao domínio e aos índices necessários para ser compatível com seu caso de uso.

Antes de especificar a função na configuração do pipeline, você deve configurá-la com uma relação de confiança apropriada e, em seguida, conceder a ela acesso ao domínio dentro da política de acesso ao domínio.

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 domínio. Ele também deve ter uma relação de confiança que permita que o OpenSearch Inestion assuma a função. Para obter instruções sobre como anexar uma política a uma função, consulte Adicionar permissões de IAM identidade no Guia do IAM usuário.

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 um único domínio:

{ "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/*" } ] }

Se planeja reutilizar a função para gravar em vários domínios, você pode tornar a política mais ampla substituindo o nome do domínio por um caractere curinga (*).

A função deve ter a seguinte relação de confiança, o que permite que o OpenSearch Inestion assuma a função do pipeline:

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

Recomendamos que você adicione as chaves de condição aws:SourceAccount e aws:SourceArn na política para se proteger contra o problema confused deputy. O ID de conta da do proprietário do de origem.

Por exemplo, você poderia adicionar o bloco de condições a seguir na política:

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

Etapa 2: incluir a função do pipeline na política de acesso ao domínio

Para que um pipeline grave dados em um domínio, o domínio deve ter uma política de acesso em nível de domínio que permita que a função de pipeline sts_role_arn o acesse.

O exemplo de política de acesso ao domínio a seguir permite que a função de pipeline chamadapipeline-role, que você criou na etapa anterior, grave dados no domínio chamado 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/*" } ] }

Etapa 3: mapear a função do pipeline (somente para domínios que usam controle de acesso refinado)

Se seu domínio usa controle de acesso refinado para autenticação, há etapas adicionais que você precisa seguir para fornecer acesso ao pipeline a um domínio. As etapas variam de acordo com a configuração do seu domínio:

Cenário 1: função de mestre e função de pipeline diferentes — Se você estiver usando um IAM Amazon Resource Name (ARN) como usuário principal e ele for diferente da função de pipeline (sts_role_arn), você precisará mapear a função de pipeline para a função de OpenSearch all_access back-end. Basicamente, isso adiciona a função de pipeline como usuário principal adicional. Para obter mais informações, consulte Usuários principais adicionais.

Cenário 2: Usuário principal no banco de dados de usuário interno — Se seu domínio usa um usuário mestre no banco de dados de usuário interno e autenticação HTTP básica para OpenSearch painéis, você não pode passar o nome de usuário e a senha principais diretamente para a configuração do pipeline. Em vez disso, você precisa mapear a função do pipeline (sts_role_arn) para a função de OpenSearch all_access back-end. Basicamente, isso adiciona a função de pipeline como usuário principal adicional. Para obter mais informações, consulte Usuários principais adicionais.

Cenário 3: Mesma função de mestre e função de pipeline (incomum) — Se você estiver usando um IAM ARN como usuário principal e for a mesma ARN que está usando como função de pipeline (sts_role_arn), não precisará realizar nenhuma ação adicional. O pipeline tem as permissões necessárias para gravar no domínio. Esse cenário é incomum porque a maioria dos ambientes usa uma função de administrador ou alguma outra função como a função principal.

A imagem a seguir mostra como mapear a função do pipeline para uma função de back-end:

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

Etapa 4: especificar a função na configuração do pipeline

Para criar um pipeline com sucesso, você deve especificar a função do pipeline que você criou na etapa 1 como o parâmetro sts_role_arn na configuração do pipeline. O pipeline assume essa função para assinar solicitações no coletor do domínio OpenSearch Service.

No sts_role_arn campo, especifique a função ARN do IAM pipeline:

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 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.