Tutorial: Configurare un dominio con il database utente interno e l'autenticazione di base HTTP - OpenSearch Servizio Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tutorial: Configurare un dominio con il database utente interno e l'autenticazione di base HTTP

Questo tutorial tratta un altro popolare caso d'uso dettagliato del controllo degli accessi: un utente principale nel database utenti interno e l'autenticazione di base HTTP per Dashboards. OpenSearch L'utente master può quindi accedere alle OpenSearch dashboard, creare un utente interno, mappare l'utente a un ruolo e utilizzare un controllo granulare degli accessi per limitare le autorizzazioni dell'utente.

In questo tutorial completerai le seguenti fasi:

Fase 1: Creazione di un dominio

Accedi alla console di Amazon OpenSearch Service all'indirizzo https://console.aws.amazon.com/aos/home/ e crea un dominio con le seguenti impostazioni:

  • OpenSearch 1.0 o versione successiva oppure Elasticsearch 7.9 o versione successiva

  • Accesso pubblico

  • Controllo granulare degli accessi con un utente principale nel database utente interno (TheMasterUser per il resto di questo tutorial)

  • Autenticazione Amazon Cognito per Dashboards disabilitata

  • La seguente policy di accesso:

    { "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 richiesto per tutto il traffico verso il dominio

  • Nessuna crittografia ode-to-node

  • Crittografia dei dati a riposo

Fase 2: Creare un utente interno nelle OpenSearch dashboard

Ora che hai un dominio, puoi accedere alle OpenSearch dashboard e creare un utente interno.

  1. Torna alla console di OpenSearch servizio e vai all'URL delle OpenSearch dashboard per il dominio che hai creato. L'URL segue il seguente formato: domain-endpoint/_dashboards/.

  2. Accedi con. TheMasterUser

  3. Scegliere Add sample data (Aggiungi dati di esempio) e aggiungere alcuni dati di volo di esempio.

  4. Nel riquadro di navigazione a sinistra, scegli Sicurezza, Utenti interni, Crea utente interno.

  5. Denominare l'utente new-user e specificare una password. Quindi, scegli Create (Crea).

Passaggio 3: mappare i ruoli nelle OpenSearch dashboard

Ora che l'utente è configurato, puoi mappare l'utente a un ruolo.

  1. Resta nella sezione Sicurezza delle OpenSearch dashboard e scegli Ruoli, Crea ruolo.

  2. Denomina il ruolo new-role.

  3. Per Index, specifica opensearch_dashboards_sample_data_fli* (kibana_sample_data_fli*sui domini Elasticsearch) il modello di indice.

  4. Per il gruppo di operazioni, scegliere read.

  5. Per Sicurezza a livello di documento, specificare la seguente query:

    { "match": { "FlightDelay": true } }
  6. Per la sicurezza a livello di campo, scegliere Escludi e specificare FlightNum.

  7. Per Anonimizzazione, specificare Dest.

  8. Scegliere Create (Crea) .

  9. Scegliere Utenti mappati, Gestisci mappatura. Quindi aggiungere new-user a Utenti e scegliere Mappa.

  10. Torna all'elenco di ruoli e scegli opensearch_dashboards_user. Scegliere Utenti mappati, Gestisci mappatura. Quindi aggiungere new-user a Utenti e scegliere Mappa.

Passaggio 4: Verifica le autorizzazioni

Quando i ruoli sono mappati correttamente, puoi accedere come utente limitato e testare le autorizzazioni.

  1. In una nuova finestra privata del browser, vai all'URL della OpenSearch dashboard per il dominio, accedi utilizzando le new-user credenziali e scegli Esplora da solo.

  2. Scegliere Strumenti di sviluppo ed eseguire la ricerca predefinita:

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

    Notare l'errore di autorizzazioni. new-user non dispone delle autorizzazioni per eseguire ricerche a livello di cluster.

  3. Esegui un'altra ricerca:

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

    Si noti che tutti i documenti corrispondenti hanno un campo FlightDelay di true, un campo Dest anonimizzato e nessun campo FlightNum.

  4. Nella finestra del browser originale, accedere come TheMasterUser, scegliere Strumenti di sviluppo ed eseguire le stesse ricerche. Nota la differenza tra autorizzazioni, numero di hit, documenti corrispondenti e campi inclusi.