Criar a integração de uma fontes de dados do Amazon S3 com o OpenSearch Service
É possível criar uma nova fonte de dados de consulta direta do Amazon S3 para o OpenSearch Service por meio do Console de gerenciamento da AWS ou da API. Cada nova fonte de dados usa o AWS Glue Data Catalog para gerenciar tabelas que representam buckets do Amazon S3.
Tópicos
Pré-requisitos
Antes de começar, certifique-se de ter revisto a seguinte documentação:
Antes de criar uma fonte de dados, é preciso ter o seguintes recursos na sua Conta da AWS:
-
Um domínio do OpenSearch versão 2.13 ou posterior. Essa é a base para configurar a integração de consulta diretas. Para obter instruções para essa configuração, consulte Criação de domínios do OpenSearch Service.
-
Um ou mais buckets do S3. Será necessário especificar os buckets que contêm os dados que você deseja consultar e um bucket para armazenar seus pontos de verificação de consulta. Para obter mais informações sobre como criar um bucket do S3, consulte Criar um bucket no Guia do usuário Amazon S3.
-
(Opcional) Uma ou mais tabelas do AWS Glue.Para consultar dados no Amazon S3 é necessário que você tenha tabelas configuradas no AWS Glue Data Catalog que apontem para os dados do S3. Você deve criar as tabelas usando o OpenSearch Query Workbench. As tabelas do Hive existentes não são compatíveis.
Se esta for a primeira vez que você configura uma fonte de dados do Amazon S3, deverá criar uma fonte de dados administrativa para configurar todas as tabelas do AWS Glue Data Catalog. Você pode fazer isso instalando as integrações prontas para uso do OpenSearch ou usando o OpenSearch Query Workbench para criar tabelas SQL personalizadas para casos de uso avançados. Para obter exemplos sobre a criação de tabelas para logs da VPC, CloudTrail e AWS WAF, consulte a documentação da VPC
, do CloudTrail e do AWS WAF no GitHub. Depois de criar as tabelas, você pode criar novas fontes de dados do Amazon S3 e restringir o acesso a tabelas limitadas. -
(Opcional) Um perfil do IAM criado manualmente.Você pode usar esse perfil para gerenciar o acesso à sua fonte de dados. Como alternativa, o OpenSearch Service pode criar automaticamente um perfil para você com as permissões necessárias. Se você escolher usar um perfil do IAM criado manualmente, siga as orientações em Permissões necessárias para perfis do IAM criados manualmente.
Procedimento
É possível configurar uma fonte de dados de consultas diretas em um domínio com o Console de gerenciamento da AWS ou a API do OpenSearch Service.
-
Navegue para o console do Amazon OpenSearch Service em https://console.aws.amazon.com/aos/
. -
No painel de navegação à esquerda, escolha Domínios.
-
Selecione o domínio para o qual configurar uma nova fonte de dados. Isso abre a página de detalhes do domínio.
-
Escolha a guia Conexões abaixo dos detalhes gerais do domínio e localize a seção Consulta direta.
-
Escolha Configurar fontes de dados.
-
Insira um nome e uma descrição opcional para a nova fonte de dados.
-
Escolha Amazon S3 com AWS Glue Data Catalog.
-
Em Configurações de permissão de acesso do IAM, escolha como gerenciar o acesso.
-
Se quiser criar automaticamente um perfil para essa fonte de dados, siga estas etapas:
-
Selecione Criar uma novo perfil.
-
Insira um nome para a função do IAM.
-
Selecione um ou mais buckets do S3 que contenham dados que você deseja consultar.
-
Selecione um bucket do S3 de pontos de verificação para armazenar os pontos de verificação de consulta.
-
Selecione um ou mais bancos de dados ou tabelas do AWS Glue para definir quais dados podem ser consultados. Se as tabelas ainda não tiverem sido criadas, forneça acesso ao banco de dados padrão.
-
-
Se quiser usar um perfil existente que você mesmo gerencie, siga estas etapas:
-
Selecione Usar perfil existente.
-
Selecione um perfil existente no menu suspenso.
-
nota
Ao usar seu próprio perfil, você deve garantir que ele tenha todas as permissões necessárias anexando as políticas necessárias com o console do IAM. Para obter mais informações, revise o exemplo de política em Permissões necessárias para perfis do IAM criados manualmente.
-
-
Selecione Configurar. Isso abre a tela de detalhes da fonte de dados, com uma URL do OpenSearch Dashboards. Navegue até esse URL para concluir as próximas etapas.
Use a operação da API AddDataSource para criar uma nova fonte de dados no domínio.
POST https://es.region.amazonaws.com/2021-01-01/opensearch/domain/domain-name/dataSource { "DataSourceType": { "S3GlueDataCatalog": { "RoleArn": "arn:aws:iam::account-id:role/role-name" } } "Description": "data-source-description", "Name": "my-data-source" }
Próximas etapas
Visitar o OpenSearch Dashboards
Depois que você cria uma fonte de dados, o OpenSearch Service fornece um link para o OpenSearch Dashboards. É possível esse link para configurar o controle de acesso, definir tabelas, instalar integrações prontas para usar e consultar os dados.
Para obter mais informações, consulte Configurar e consultar uma fonte de dados do S3 no OpenSearch Dashboards.
Mapear o perfil do AWS Glue Data Catalog
Se você tiver habilitado o controle de acesso refinado após criar uma fonte de dados, será necessário mapear usuários não administradores para um perfil do IAM com acesso ao AWS Glue Data Catalog para executar consultas diretas. Para criar manualmente um perfil do glue_access de backend que possa ser mapeado para o perfil do IAM, realize as seguintes etapas:
nota
Índices são usados para qualquer consulta na fonte de dados. Um usuário com acesso para leitura ao índice de solicitações de uma determinada fonte de dados pode ler todas as consultas nessa fonte. Um usuário com acesso para leitura ao índice de resultados pode ler os resultados de todas as consultas nessa fonte de dados.
-
No menu principal do OpenSearch Dashboards, escolha Segurança, Perfis e Criar perfis.
-
Chame o perfil de glue_access.
-
Para Permissões de cluster, selecione
indices:data/write/bulk*,indices:data/read/scroll,indices:data/read/scroll/clear. -
Em Índice, insira os seguintes índices aos quais você deseja conceder acesso ao usuário com o perfil:
-
.query_execution_request_<name of data source> -
query_execution_result_<name of data source> -
.async-query-scheduler -
flint_*
-
-
Para Permissões de índice, selecione
indices_all. -
Escolha Criar.
-
Escolha Usuários mapeados e Gerenciar mapeamento.
-
Em Perfis de backend, adicione o ARN do perfil do AWS Glue que precisa de permissão para chamar seu domínio.
arn:aws:iam::account-id:role/role-name -
Selecione Mapa e confirme se o perfil aparece em Usuários mapeados.
Para obter mais informações sobre o mapeamento de perfis, consulte Mapear funções em usuários.
Recursos adicionais
Permissões necessárias para perfis do IAM criados manualmente
Ao criar uma fonte de dados para o domínio, você escolhe um perfil do IAM para gerenciar o acesso aos dados. Você tem duas opções:
-
Criar um novo perfil do IAM automaticamente
-
Use um perfil do IAM existente que você criou manualmente
Se usar um perfil criado manualmente, você precisará anexar as permissões corretas a ele. As permissões devem autorizar o acesso à fonte de dados específica e permitir que o OpenSearch Service assuma o perfil. Isso é necessário para que o OpenSearch Service possa acessar e interagir com os dados em segurança.
O exemplo de política a seguir demonstra as permissões de privilégio mínimo necessárias para criar e gerenciar uma fonte de dados. Se você tiver permissões mais amplas, como s3:* ou a política AdminstratorAccess, essas permissões abrangem as permissões de privilégio mínimo na política de amostra.
No exemplo de política a seguir, substitua o texto do espaço reservado por suas próprias informações.
Para oferecer suporte a buckets do Amazon S3 em contas diferentes, você precisará incluir uma condição na política do Amazon S3 e adicionar a conta apropriada.
No exemplo de condição a seguir, substitua o texto do espaço reservado por suas próprias informações.
"Condition": { "StringEquals": { "aws:ResourceAccount": "{{accountId}}" }
O perfil também deve ter a seguinte política de confiança, que especifica o ID de destino.
Para obter instruções sobre como criar o perfil, consulte Criar um perfil usando políticas de confiança personalizadas.
Se você tiver um controle de acesso refinado habilitado no OpenSearch Service, uma nova função de controle de acesso refinado do OpenSearch será criada automaticamente para sua fonte de dados. O nome da nova função de controle de acesso refinada será AWSOpenSearchDirectQuery .<name of data
source>
Por padrão, a função tem acesso somente aos índices da fonte de dados de consulta direta. Embora você possa configurar a função para limitar ou conceder acesso à sua fonte de dados, é recomendável não ajustar o acesso dessa função. Se você excluir a fonte de dados, essa função será excluída. Isso removerá o acesso de outros usuários se eles estiverem mapeados para a função.