Uso do OpenSearch Dashboards com o Amazon OpenSearch Service - Amazon OpenSearch Service

Uso do OpenSearch Dashboards com o Amazon OpenSearch Service

O OpenSearch Dashboards é uma ferramenta de código aberto popular para visualização, projetada para funcionar com o OpenSearch. O Amazon OpenSearch Service permite a instalação do OpenSearch Dashboards com todos os domínios do OpenSearch Service. Você pode encontrar um link para o Dashboards em seu painel de domínio no console do OpenSearch Service. O URL é domain-endpoint/_dashboards/. As consultas que usam essa instalação padrão do Open Dashboads têm tempo limite de 300 segundos.

As seções a seguir abordam alguns casos de uso comuns do Dashboards:

Controle do acesso ao OpenSearch Dashboards

O Dashboards não oferece suporte nativo a usuários e funções do IAM, mas o OpenSearch Service oferece diversas soluções para controlar o acesso ao Dashboards:

Uso de proxy para acessar o OpenSearch Service via Dashboards

nota

Esse processo só será aplicável se o domínio usar acesso público e você não quiser usar a autenticação do Cognito. Consulte Controle do acesso ao OpenSearch Dashboards.

Como o Dashboards é uma aplicação JavaScript, as solicitações são originadas no endereço IP do usuário. O controle de acesso baseado em IP pode ser impraticável devido ao grande número de endereços IP que você precisaria inserir em uma lista de permissões para que cada usuário tivesse acesso ao Dashboards. Uma solução alternativa é colocar um servidor de proxy entre o OpenSearch Dashboards e o OpenSearch Service. Em seguida, você pode adicionar uma política de acesso com base em IP que permite solicitações de apenas um endereço IP, o do proxy. O diagrama a seguir mostra essa configuração.

  1. Este é seu domínio do OpenSearch Service. O IAM fornece acesso autorizado para este domínio. Uma política de acesso adicional com base em IP fornece acesso ao servidor de proxy.

  2. Este é o servidor de proxy, em execução em uma instância do Amazon EC2.

  3. Outras aplicações podem usar o processo de assinatura do Signature versão 4 para enviar solicitações autenticadas para o OpenSearch Service.

  4. Os clientes do OpenSearch Dashboards conectam-se ao domínio do OpenSearch Service por meio do proxy.

Para habilitar esse tipo de configuração, você precisa de uma política com base em recursos que especifica funções e endereços IP. Aqui está um exemplo de política:

{ "Version": "2012-10-17", "Statement": [{ "Resource": "arn:aws:es:us-west-2:111111111111:domain/my-domain/*", "Principal": { "AWS": "arn:aws:iam::111111111111:role/allowedrole1" }, "Action": [ "es:ESHttpGet" ], "Effect": "Allow" }, { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "es:*", "Condition": { "IpAddress": { "aws:SourceIp": [ "123.456.789.123" ] } }, "Resource": "arn:aws:es:us-west-2:111111111111:domain/my-domain/*" } ] }

Recomendamos configurar a instância do EC2 executando o servidor de proxy com um endereço IP elástico. Dessa forma, você pode substituir a instância quando necessário e ainda anexar o mesmo endereço IP público. Para saber mais, consulte Endereços IP elásticos no Manual do usuário do Amazon EC2 para instâncias do Linux.

Se você usar um servidor de proxy e a autenticação do Cognito, talvez seja necessário adicionar configurações do Dashboards e do Amazon Cognito para evitar erros de redirect_mismatch. Veja o exemplo nginx.conf a seguir:

server { listen 443; server_name $host; rewrite ^/$ https://$host/_plugin/_dashboards redirect; ssl_certificate /etc/nginx/cert.crt; ssl_certificate_key /etc/nginx/cert.key; ssl on; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; ssl_prefer_server_ciphers on; location /_plugin/_dashboards { # Forward requests to Dashboards proxy_pass https://$dashboards_host/_plugin/_dashboards; # Handle redirects to Cognito proxy_redirect https://$cognito_host https://$host; # Update cookie domain and path proxy_cookie_domain $dashboards_host $host; proxy_cookie_path / /_plugin/_dashboardsdashboards/; # Response buffer settings proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; } location ~ \/(log|sign|fav|forgot|change|saml|oauth2) { # Forward requests to Cognito proxy_pass https://$cognito_host; # Handle redirects to Dashboards proxy_redirect https://$dashboards_host https://$host; # Update cookie domain proxy_cookie_domain $cognito_host $host; } }

Configuração do OpenSearch Dashboards para usar um servidor de mapas WMS

A instalação padrão do OpenSearch Dashboards para o OpenSearch Service inclui um serviço de mapas, exceto para domínios nas regiões da Índia e da China. O serviço de mapa oferece suporte a até 10 níveis de zoom.

Independentemente da sua região, é possível configurar o Dashboards para usar um servidor diferente do Web Map Service (WMS) para coordenar visualizações de mapas. As visualizações de mapa de região oferecem suporte apenas ao serviço de mapa padrão.

Para configurar o Dashboards para usar um servidor de mapas WMS:

  1. Abra o Dashboards.

  2. Escolha Stack Management (Gerenciamento de pilhas).

  3. Escolha Advanced Settings.

  4. Localize visualization:tileMap:WMSdefaults.

  5. Altere enabled para true e url para o URL de um servidor de mapas WMS válido:

    { "enabled": true, "url": "wms-server-url", "options": { "format": "image/png", "transparent": true } }
  6. Selecione Save changes.

Para aplicar o novo valor padrão a visualizações, talvez seja necessário recarregar o Dashboards. Se você salvou as visualizações, selecione Opções depois de abrir a visualização. Verifique se o Servidor de mapas WMS está habilitado e se o URL do WMS contém o servidor de mapas de sua preferência e selecione Aplicar alterações.

nota

Os serviços de mapa costumam ter taxas ou restrições de licenciamento. Você será responsável por todos esses fatores em qualquer servidor de mapas que especificar. Você pode encontrar os serviços de mapa em U.S. Geological Survey, útil para testes.

Conexão de um servidor local do Dashboards ao OpenSearch Service

Se já investiu tempo significativo para configurar sua instância do OpenSearch Dashboards, poderá em vez (ou além) da instância padrão do Dashboards fornecida pelo OpenSearch Service. O procedimento a seguir destina-se a domínios que usam o controle de acesso refinado com uma política de acesso aberto.

Para conectar um servidor local do OpenSearch Dashboards ao OpenSearch Service

  1. No domínio do OpenSearch Service, crie um usuário com as permissões apropriadas:

    1. No Dashboards, vá para Security (Segurança), Internal users (Usuários internos) e escolhaCreate internal user (Criar usuário interno).

    2. Forneça um nome de usuário e uma senha e escolha Create (Criar).

    3. Vá para Roles (Funções) e selecione uma função.

    4. Selecione Mapped users (Usuários mapeados) e escolha Manage mapping (Gerenciar mapeamento).

    5. Em Users (Usuários), adicione seu nome de usuário e escolha Map (Mapa).

  2. Baixe e instale a versão apropriada do plugin de segurança do OpenSearch em sua instalação do Dashboards OSS autogerenciada.

  3. No servidor local do Dashboards, abra o arquivo config/opensearch_dashboards.yml e adicione o endpoint do OpenSearch Service com o nome de usuário e a senha que você criou anteriormente:

    opensearch.hosts: ['https://domain-endpoint'] opensearch.username: 'username' opensearch.password: 'password'

    Você pode usar seguinte arquivo opensearch_dashboards.yml de exemplo:

    server.host: '0.0.0.0' opensearch.hosts: ['https://domain-endpoint'] opensearch_dashboards.index: ".username" opensearch.ssl.verificationMode: none # if not using HTTPS opensearch_security.auth.type: basicauth opensearch_security.auth.anonymous_auth_enabled: false opensearch_security.cookie.secure: false # set to true when using HTTPS opensearch_security.cookie.ttl: 3600000 opensearch_security.session.ttl: 3600000 opensearch_security.session.keepalive: false opensearch_security.multitenancy.enabled: false opensearch_security.readonly_mode.roles: [opensearch_dashboards_read_only'] opensearch_security.auth.unauthenticated_routes: [] opensearch_security.basicauth.login.title: 'Please log in using your user name and password' opensearch.username: 'username' opensearch.password: 'password' opensearch.requestHeadersWhitelist: [ authorization, securitytenant, security_tenant, ]

Para ver os índices do OpenSearch Service, inicie o servidor local do Dashboards, vá para Dev Tools (Ferramentas de desenvolvimento) e execute o seguinte comando:

GET _cat/indices

Gerenciar índices no OpenSearch Dashboards

A instalação do OpenSearch Dashboards no domínio do OpenSearch Service fornece uma interface de usuário útil para gerenciar índices em diferentes níveis de armazenamento no domínio. Escolha Index management (Gerenciamento de índices) no menu principal do Dashboards para visualizar todos os índices no armazenamento quente, UltraWarm e frio, bem como índices gerenciados pelas políticas de gerenciamento de estados dos índices (ISM). Use o gerenciamento de índices para mover índices entre os armazenamentos mornos e frios, e para monitorar migrações entre os três níveis.

Observe que você não verá as opções de índice quente, morno e frio, a menos que tenha o armazenamento UltraWarm e/ou frio habilitado.

Recursos adicionais

A instalação padrão do OpenSearch Dashboards em cada domínio do OpenSearch Service tem alguns recursos adicionais: