Tutorial: Configuração de um domínio com o banco de dados interno do usuário e a autenticação básica HTTP - 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á.

Tutorial: Configuração de um domínio com o banco de dados interno do usuário e a autenticação básica HTTP

Este tutorial aborda outro caso de uso popular de controle de acesso refinado: um usuário primário no banco de dados interno de usuários e autenticação básica HTTP para o OpenSearch Dashboards. O usuário principal pode então entrar nos OpenSearch Dashboards, criar um usuário interno, mapear o usuário para uma função e usar um controle de acesso detalhado para limitar as permissões do usuário.

Você concluirá as seguintes etapas neste tutorial:

Etapa 1: Criar um domínio

Navegue até o console do Amazon OpenSearch Service em https://console.aws.amazon.com/aos/home/ e crie um domínio com as seguintes configurações:

  • OpenSearch 1.0 ou posterior ou Elasticsearch 7.9 ou posterior

  • Acesso público

  • Controle de acesso refinado com um usuário primário no banco de dados interno de usuários (TheMasterUser para o restante deste tutorial)

  • Autenticação do Amazon Cognito para Dashboards desabilitada

  • A seguinte política de acesso:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-id}:root" }, "Action": [ "es:ESHttp*" ], "Resource": "arn:aws:es:{region}:{account-id}:domain/{domain-name}/*" } ] }
  • HTTPS necessário para todo o tráfego para o domínio

  • Criptografia de nó a nó

  • Criptografia de dados em repouso

Etapa 2: criar um usuário interno no OpenSearch Dashboards

Agora que tem um domínio, é possível pode entrar no OpenSearch Dashboards. Depois, crie um usuário interno.

  1. Volte para o console do OpenSearch Service e navegue até o URL do OpenSearch Dashboards para o domínio que você criou. O URL segue este formato: domain-endpoint/_dashboards/.

  2. Faça login com o TheMasterUser.

  3. Escolha Adicionar dados de amostras e adicione os dados de voo de amostra.

  4. No painel de navegação à esquerda, escolha Segurança, Usuários internos, Criar usuário interno.

  5. Nomeie o usuário new-user e especifique uma senha. Em seguida, selecione Criar.

Etapa 3: Como mapear funções no OpenSearch Dashboards

Agora que seu usuário está configurado, você pode mapeá-lo para uma perfil.

  1. Fique na seção Segurança do OpenSearch Dashboards e escolha Funções, Criar perfil.

  2. Nomeie a função new-role.

  3. Em Índice, especifique opensearch_dashboards_sample_data_fli*(kibana_sample_data_fli* nos domínios do Elasticsearch) para o padrão de índice.

  4. Para o grupo de ações, escolha leitura.

  5. Em Segurança em nível de documento, especifique a seguinte consulta:

    { "match": { "FlightDelay": true } }
  6. Para segurança em nível de campo, escolha Excluir e especifique FlightNum.

  7. Em Anonimização, especifique Dest.

  8. Escolha Criar.

  9. Escolha Usuários mapeados e Gerenciar mapeamento. Em seguida, adicione new-user a Usuários e escolha Mapa.

  10. Retorne à lista de funções e escolha opensearch_dashboards_user. Escolha Usuários mapeados e Gerenciar mapeamento. Em seguida, adicione new-user a Usuários e escolha Mapa.

Etapa 4: Testar as permissões

Quando suas funções estiverem mapeadas corretamente, é possível fazer login como o usuário limitado e testá-las.

  1. Em uma nova janela privada do navegador, navegue até o URL do OpenSearch Dashboards do domínio, faça login usando as credenciais de new-user e escolha Explorar por conta própria.

  2. Escolha Ferramentas de desenvolvimento e execute a pesquisa padrão:

    GET _search { "query": { "match_all": {} } }

    Observe o erro de permissões. new-user não tem permissões para executar pesquisas em todo o cluster.

  3. Execute outra pesquisa:

    GET dashboards_sample_data_flights/_search { "query": { "match_all": {} } }

    Observe que todos os documentos correspondentes têm um campo FlightDelay de true, um campo anônimo Dest e nenhum campo FlightNum.

  4. Na janela original do navegador, conectado como TheMasterUser, escolha Ferramentas de desenvolvimento e execute as mesmas pesquisas. Observe a diferença nas permissões, número de ocorrências, documentos correspondentes e campos incluídos.