Come posso assegnare l'autorizzazione di sola lettura agli utenti che accedono ai pool di utenti Amazon Cognito con OpenSearch?
Non desidero che gli utenti Amazon Cognito abbiano pieno accesso ai pool di utenti quando utilizzano OpenSearch Dashboards.
Risoluzione
Dominio con controllo degli accessi granulare disattivato
Se non hai attivato il controllo degli accessi granulare per il dominio OpenSearch, utilizza la policy di accesso al dominio del cluster OpenSearch per limitare l'accesso. La policy consente l'accesso in sola lettura agli utenti Cognito. Imposta l'autorizzazione ESHttpGet sul ruolo associato all'accesso a Cognito.
Esempio di policy di accesso al dominio con autorizzazione ESHttpGet:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:role/Cognito_identity-pool-name Auth_Role" }, "Action": "es:ESHttpGet", "Resource": "arn:aws:es:region:account-id:domain/opensearch-domain-name/" } ] }
Nota: sostituisci account-id con l'ID del tuo account AWS e identity-pool-name con il nome del tuo pool di identità Cognito. Inoltre, sostituisci region con la tua regione AWS e opensearch-domain-name con il nome del tuo dominio OpenSearch.
Per ulteriori informazioni, consulta Configurazione dell'autenticazione Amazon Cognito per OpenSearch Dashboards.
Dopo aver applicato la policy, verificala e invia una richiesta firmata al dominio per confermare che puoi eseguirvi solo l'operazione GET.
Cluster OpenSearch con controllo degli accessi granulare attivato
Completa i seguenti passaggi:
-
Apri la console Cognito.
-
Seleziona il pool di utenti, quindi scegli Crea utente.
-
Crea un utente con un nome come limited-user.
-
Crea un ruolo AWS Identity and Access Management (AWS IAM) per limited-user, ad esempio LimitedUserRole. Come utente principale, utilizza il ruolo IAM per assegnare un accesso limitato a utenti specifici.
-
Collega la seguente policy di attendibilità a LimitedUserRole:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "cognito-identity.amazonaws.com :aud": "identity-pool-id" }, "ForAnyValue:StringLike": { "cognito-identity.amazonaws.com :amr": "authenticated" } } } ] }Nota: sostituisci identity-pool-id con l'ID del tuo pool di identità Cognito.
-
Collega la seguente policy in linea personalizzata che concede autorizzazioni di sola lettura al dominio OpenSearch:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowOpenSearchReadAccess", "Effect": "Allow", "Action": [ "es:ESHttpGet" ], "Resource": "arn:aws:es:region:account-id:domain/" } ] }Nota: sostituisci region con la tua Regione e account-id con l'ID del tuo account.
-
Crea un gruppo con un nome come limited-user-group, quindi assegna il ruolo IAM LimitedUserRole al gruppo.
-
Scegli limited-user-group, quindi aggiungi limited-user e altri utenti al gruppo.
Associa un utente limitato a un ruolo in OpenSearch Dashboards
- Accedi a OpenSearch Dashboards come utente principale.
- Scegli Sicurezza.
- Scegli Ruoli e seleziona il ruolo. Oppure creane uno nuovo. Per ulteriori informazioni, consulta Create roles (Creazione di ruoli) sul sito web OpenSearch.
Nota: puoi anche utilizzare il ruolo predefinito readall_and_monitor o readall. Per ulteriori informazioni, consulta Predefined roles (Ruoli predefiniti) sul sito web OpenSearch. - Associa il ruolo a limited-user.
- Accedi come limited-user.
Nota: non puoi eseguire operazioni di scrittura in OpenSearch Dashboards.
- Argomenti
- Analytics
- Lingua
- Italiano
