Utilizzo di OpenSearch Dashboards con Amazon OpenSearch Service - Amazon OpenSearch Service

Utilizzo di OpenSearch Dashboards con Amazon OpenSearch Service

OpenSearch Dashboards è uno strumento di visualizzazione open source progettato per funzionare con OpenSearch. Amazon OpenSearch Service fornisce un'installazione di OpenSearch Dashboards con ogni dominio del servizio OpenSearch. Un link a Dashboards è disponibile nel pannello di controllo del dominio nella console OpenSearch Service. L'URL è domain-endpoint/_dashboards/. Le query che utilizzano questa installazione di default di OpenSearch Dashboards hanno un timeout di 300 secondi.

Nelle sezioni seguenti sono riportati alcuni casi d'uso comuni di Dashboards:

Controllo dell'accesso a OpenSearch Dashboards

Dashboards non supporta in modo nativo utenti e ruoli IAM, ma OpenSearch Service offre diverse soluzioni per controllare l'accesso a Dashboards:

Utilizzo di un proxy per accedere a OpenSearch Service da Dashboards

Nota

Questo processo è valido solo se il dominio usa l'accesso pubblico e non vuoi usare l'autenticazione Cognito. Per informazioni, consultare Controllo dell'accesso a OpenSearch Dashboards.

Poiché Dashboards è un'applicazione JavaScript, le richieste provengono dall'indirizzo IP dell'utente. Il controllo degli accessi basato su IP può essere poco pratico a causa del numero elevato di indirizzi IP che sarebbe necessario includere nella whitelist perché ogni utente possa accedere a Dashboards. Una soluzione alternativa consiste nel posizionare un server proxy tra OpenSearch Dashboards e OpenSearch Service. È quindi possibile aggiungere una policy d'accesso basata su IP che accetta le richieste provenienti da un solo indirizzo IP, quello del proxy. Il seguente diagramma mostra questa configurazione.

  1. Questo è il dominio OpenSearch Service. IAM offre accesso autorizzato al dominio. Un'ulteriore policy d'accesso basata su IP permette l'accesso al server proxy.

  2. Questo è il server proxy, in esecuzione su un'istanza Amazon EC2.

  3. Altre applicazioni possono usare il processo di firma Signature Version 4 per inviare richieste autenticate a OpenSearch Service.

  4. I client OpenSearch Dashboards si connettono al dominio OpenSearch Service tramite il proxy.

Per abilitare questo tipo di configurazione, è necessaria una policy basata su risorse che specifica i ruoli e gli indirizzi IP. Ecco una policy di esempio:

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

Ti consigliamo di configurare l'istanza EC2 che esegue il server proxy con un indirizzo IP elastico (EIP). In questo modo, puoi sostituire l'istanza quando necessario e collegarvi comunque lo stesso indirizzo IP pubblico. Per ulteriori informazioni, consultare Indirizzi IP elastici nella Guida per l'utente di Amazon EC2 per le istanze Linux.

Se si utilizza un server proxy e l'autenticazione Cognito, potrebbe essere necessario dover aggiungere impostazioni per Dashboards e Amazon Cognito in modo da evitare errori redirect_mismatch. Fai riferimento al file nginx.conf di esempio seguente:

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; } }

Configurazione di OpenSearch Dashboards per l'uso di un server di mappe WMS

L'installazione di default di OpenSearch Dashboards per OpenSearch Service include un servizio di mappe tranne per i domini nelle regioni India e Cina. Il servizio di mappe supporta fino a 10 livelli di zoom.

Indipendentemente dalla regione, è possibile configurare Dashboards per l'utilizzo di un server WMS (Web Map Service) diverso per le visualizzazioni delle mappe delle coordinate. Le visualizzazioni delle mappe regionali supportano solo il servizio mappe predefinito.

Per configurare Dashboards per l'uso di un server di mappe WMS:

  1. Aprire Dashboards.

  2. Scegliere Gestione stack.

  3. Scegliere Advanced Settings (Impostazioni avanzate).

  4. Individua visualization:tileMap:WMSdefaults.

  5. Modifica enabled in true e url nell'URL di un server di mappe WMS valido:

    { "enabled": true, "url": "wms-server-url", "options": { "format": "image/png", "transparent": true } }
  6. Scegliere Save changes (Salva modifiche).

Per applicare il nuovo valore di default alle visualizzazioni, potrebbe essere necessario ricaricare Dashboards. Se sono state salvate le visualizzazioni, scegli Opzioni dopo aver aperto la visualizzazione. Verifica che il server di mappe WMS sia abilitato e l'URL WMS contenga il server di mappe preferito, quindi scegli Applica modifiche.

Nota

I servizi mappe spesso prevedono costi di licenza o limitazioni. Sei responsabile di tutti questi aspetti per qualsiasi server di mappe che specifichi. Potresti trovare utile provare i servizi mappe di U.S. Geological Survey.

Connessione di un server Dashboards locale a OpenSearch Service

Se è stato dedicato molto tempo alla configurazione dell'istanza OpenSearch Dashboards, è possibile usarla al posto o insieme all'istanza Dashboards di default fornita da OpenSearch Service. La procedura seguente funziona per i domini che utilizzano il controllo granulare degli accessi con una policy di accesso aperto.

Come connettere un server OpenSearch Dashboards locale a OpenSearch Service

  1. Nel dominio OpenSearch Service, creare un utente con le autorizzazioni appropriate:

    1. In Dashboards, passare a Sicurezza, Utenti interni, quindi scegliere Crea un utente interno.

    2. Fornire nome utente e password e scegliere Crea.

    3. Passare a Ruoli e selezionare un ruolo.

    4. Selezionare Utenti mappati e scegliere Gestisci mappatura.

    5. In Utenti, aggiungere il nome utente e scegliere Mappa.

  2. Scaricare e installare la versione appropriata del plug-in di sicurezza di OpenSearch nell'installazione di Dashboards OSS autogestita.

  3. Sul server Dashboards locale, aprire il file config/opensearch_dashboards.yml e aggiungere l'endpoint di OpenSearch Service con il nome utente e la password creati in precedenza:

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

    È possibile utilizzare il seguente file opensearch_dashboards.yml di esempio:

    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, ]

Per visualizzare gli indici di OpenSearch Service, avviare il server Dashboards locale, passare a Strumenti per lo sviluppo ed eseguire il comando riportato di seguito:

GET _cat/indices

Gestione degli indici in OpenSearch Dashboards

L'installazione di OpenSearch Dashboards nel dominio OpenSearch Service fornisce un'interfaccia utente utile per gestire gli indici in diversi livelli di archiviazione nel dominio. Scegli Index Management (Gestione degli indici) dal menu principale di Dashboards (Pannelli di controllo) per visualizzare tutti gli indici nell'archiviazione hot, UltraWarm e cold (a freddo), nonché gli indici gestiti dalle policy Index State Management (ISM). Utilizza la gestione degli indici per spostarli tra l'archiviazione a caldo e a freddo e per monitorare le migrazioni tra i tre livelli.

Nota che non verranno visualizzate le opzioni di indice hot, a caldo e a freddo, a meno che non sia sta abilitata l'archivazione UltraWarm e/o a freddo.

Funzionalità aggiuntive

L'installazione di default di OpenSearch Dashboards in ogni dominio OpenSearch Service presenta alcune funzionalità aggiuntive:

  • Interfacce utente per i vari plug-in OpenSearch

  • Tenant

  • Report

    Utilizzare il menu Creazione di report per generare report CSV on demand dalla pagina Individua e report PDF o PNG di pannelli di controllo o visualizzazioni. I report CSV hanno un limite di 10.000 righe.

  • Grafici Gantt

  • Notebook