Come posso risolvere gli errori 403 o 401 che ricevo quando mi connetto al mio cluster o alle mie dashboard OpenSearch serverless?
Quando eseguo i comandi API OpenSearch sul mio cluster Amazon OpenSearch serverless o provo ad accedere alle dashboard, ricevo errori 403 o 401.
Risoluzione
Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Errori 403 Forbidden
Un messaggio di errore 403 Forbidden di solito si verifica quando l'identità AWS Identity and Access Management (AWS IAM) non ha le autorizzazioni corrette o ha una richiesta firmata in modo errato.
Quando attivi l'accesso dettagliato al client o scegli la scheda Rete sulla console IAM, potresti ricevere il messaggio di errore "x-aoss-response-hint': 'X01:gw-helper-deny".
Per l'accesso delle API del piano dati di OpenSearch Dashboards e di OpenSearch serverless, includi le azioni aoss:DashboardsAccessAll e aoss:APIAccessAll nella policy di autorizzazione dell'identità IAM. Per visualizzare un esempio di policy, consulta Utilizzo delle operazioni API OpenSearch.
Per l'accesso delle API del piano dati OpenSearch serverless, anche una richiesta firmata in modo errato può causare un errore 403 Forbidden. Dopo aver verificato che le autorizzazioni IAM siano corrette, controlla come il client interagisce con le API OpenSearch.
Per scrivere una versione semplice del codice, consulta Inserimento di dati in raccolte Amazon OpenSearch serverless.
Utilizza un comando curl per testare l'endpoint da un'istanza Amazon Elastic Compute Cloud (Amazon EC2).
Esempio di comando curl che inserisce un record in un indice:
curl -XPOST \ —user "$AWS_ACCESS_KEY_ID":"$AWS_SECRET_ACCESS_KEY" \ —aws-sigv4 "aws:amz:us-east-1:aoss" \ —header "x-amz-content-sha256: $REQUEST_PAYLOAD_SHA_HASH" \ —header "x-amz-security-token: $AWS_SESSION_TOKEN" \ "https://my-collection-endpoint.us-east-1.aoss.amazonaws.com/movies-index/_doc" \ -H "Content-Type: application/json" -d '{"title": "Shawshank Redemption"}'
Nota: sostituisci gli esempi di ID della chiave di accesso, chiave segreta e token di sessione con i tuoi valori. Per ottenere questi valori, esegui il comando AWS CLI get-session-token.
Se invii un payload, esegui questo comando per generare un algoritmo Secure Hash a 256 bit (SHA-256) del payload come parte delle intestazioni:
echo -n '{"title": "Shawshank Redemption"}' | shasum -a 256
Puoi anche utilizzare awscurl sul sito web di GitHub. awscurl utilizza le tue credenziali predefinite, come il profilo dell'istanza EC2, in modo da non dover eseguire l'hashing del payload come intestazione.
Esempio di richieste awscurl:
awscurl --service aoss --region us-east-1 -XPOST \ "https://my-collection-endpoint.us-east-1.aoss.amazonaws.com/movies-index/_doc" \ -H "Content-Type: application/json" -d '{"title": "Shawshank Redemption"}'
awscurl --service aoss --region us-east-1 -XGET \ "https://my-collection-endpoint.us-east-1.aoss.amazonaws.com/_cat/indices"
Nota: sostituisci us-east-1 con la tua Regione AWS e l'endpoint di esempio con il tuo endpoint.
Utilizza la registrazione dettagliata per verificare che le intestazioni precedenti facciano parte della richiesta inviata al servizio. Le firme errate sono causate da valori di intestazione errati. Puoi anche utilizzare la registrazione dettagliata per verificare che l'endpoint di raccolta, la Regione e il servizio siano corretti.
Altri errori 403
A seconda dell'azione eseguita, potresti ricevere un messaggio di errore 403 diverso.
Per operazioni di inserimento specifiche dell'indice, potresti ricevere un messaggio di errore del tipo "Authorization failure for the following indices: [index/collectionname/indexname]".
Per le richieste di ricerca, potresti ricevere un messaggio di errore come "all shards failed" o "Bad Authorization".
Per operazioni non specifiche dell'indice, potresti ricevere un messaggio di errore del tipo "User does not have permissions for the requested resource".
Per risolvere questi errori, assicurati che la policy di accesso ai dati della raccolta contenga le autorizzazioni corrette per le risorse di raccolta e indicizzazione. Inoltre, assicurati che la policy contenga l'identità IAM corretta nella sezione Principale.
Per ulteriori informazioni sulla sintassi delle policy di accesso ai dati, consulta Sintassi delle policy.
Errori 401 Unauthorized
Un messaggio di errore 401 di solito si verifica quando la policy di rete nega l'accesso alle API o alla dashboard di OpenSearch serverless.
Quando attivi l'accesso dettagliato al client o visualizzi la scheda Rete della console per sviluppatori del browser, potresti ricevere il messaggio di errore "x-aoss-response-hint': 'X01:network-policy-deny".
Per accedere alle API e alla dashboard di OpenSearch serverless dalla rete Internet pubblica, attiva l'accesso pubblico nella policy di rete.
Esempio di policy di rete in formato JSON:
[ { "Rules": [ { "Resource": [ "collection/collectionname" ], "ResourceType": "dashboard" }, { "Resource": [ "collection/collectionname" ], "ResourceType": "collection" } ], "AllowFromPublic": true } ]
Nota: sostituisci collectionname con il nome della tua raccolta.
Per l'accesso privato alle API e alla dashboard, crea un endpoint VPC nel client VPC per OpenSearch serverless.
Esempio di policy di rete in formato JSON:
[ { "Rules": [ { "Resource": [ "collection/collectionname" ], "ResourceType": "dashboard" }, { "Resource": [ "collection/collectionname" ], "ResourceType": "collection" } ], "AllowFromPublic": false, "SourceVPCEs": [ "vpce-0c9xxxxxxxxxxa680" ] } ]
Nota: sostituisci collectionname con il nome della tua raccolta.
Per altri esempi di policy di rete, consulta Accesso alla rete per Amazon OpenSearch serverless.
Per accedere a qualsiasi dominio OpenSearch serverless da un altro VPC, crea un endpoint VPC per OpenSearch serverless nel VPC. Per ulteriori informazioni, consulta Accedi ad Amazon OpenSearch serverless utilizzando un endpoint di interfaccia (AWS PrivateLink).
Nota: puoi scegliere di fare in modo che i client chiamino gli endpoint API di OpenSearch serverless da un VPC. Puoi accedere alle dashboard da browser che utilizzano la rete Internet pubblica.
Per accedere privatamente alle dashboard dalla rete aziendale, utilizza un endpoint in ingresso del resolver DNS. La query DNS restituisce l'indirizzo IP privato corretto. Per ulteriori informazioni, consulta Access Amazon OpenSearch Serverless collections using a VPC endpoint (Accesso alle raccolte di Amazon OpenSearch serverless utilizzando un endpoint VPC).
Informazioni correlate
How do I troubleshoot access to OpenSearch Serverless Dashboards to view my collection? (Come posso risolvere i problemi di accesso a OpenSearch serverless Dashboards per visualizzare la mia raccolta?)
- Lingua
- Italiano
