Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Come posso risolvere gli errori di autorizzazione che ricevo quando creo una knowledge base in Amazon Bedrock?
Ricevo errori relativi alle autorizzazioni quando cerco di creare una knowledge base in Amazon Bedrock. Desidero risolvere questi errori di autorizzazione per configurare correttamente la knowledge base.
Breve descrizione
Per creare una knowledge base in Amazon Bedrock, devi configurare un ruolo di servizio. Il ruolo di servizio fornisce ad Amazon Bedrock le autorizzazioni necessarie per accedere ai servizi AWS richiesti. Puoi utilizzare il ruolo di servizio che Amazon Bedrock ha già creato per te. In alternativa, puoi creare un ruolo di servizio personalizzato e assegnargli le autorizzazioni richieste.
Risoluzione
Ruolo di servizio IAM mancante
Se non hai una policy della relazione di attendibilità di Amazon Bedrock per il ruolo di servizio Identity and Access Management (AWS IAM) per creare la knowledge base Amazon Bedrock, ricevi il seguente errore:
"Bedrock Knowledge Base was unable to assume the given role. Provide the proper permissions and retry the request"
Per risolvere l'errore, collega la seguente policy della relazione di attendibilità per Amazon Bedrock alla policy IAM:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Autorizzazioni IAM mancanti
Se il ruolo IAM utilizzato per creare la knowledge base in Amazon Bedrock non ha l'autorizzazione iam:CreateRole, ricevi il seguente errore:
"User: arn:aws:sts::account id:assumed-role/IAM role/IAM user is not authorized to perform: iam:CreateRole on resource: arn:aws:iam:region:account id:role/service-role/bedrock-knowledge-base because no identity-based policy allows the iam:CreateRole action"
Per risolvere l'errore, aggiungi l'autorizzazione iam:CreateRole alla policy IAM:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:CreateRole", "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::*:role/service-role-name" } ] }
Nota: sostituisci service-role-name con il nome del tuo ruolo di servizio.
Se il ruolo IAM che hai utilizzato per creare la knowledge base in Amazon Bedrock non ha l'autorizzazione iam:PassRole, ricevi il seguente errore:
"User: arn:aws:sts::account id:assumed-role/IAM role/IAM user is not authorized to perform: iam:PassRole on resource: arn:aws:iam:region:account id:role/service-role/bedrock-knowledge-base because no identity-based policy allows the iam:PassRole action"
Per risolvere l'errore, aggiungi l'autorizzazione iam:PassRole alla policy IAM:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::*:role/service-role-name" } ] }
Nota: sostituisci service-role-name con il nome del tuo ruolo di servizio.
Autorizzazioni mancanti per una raccolta Amazon OpenSearch serverless
Se il ruolo di servizio IAM non ha le autorizzazioni necessarie per una raccolta Amazon OpenSearch serverless, ricevi il seguente errore:
"The knowledge base storage configuration provided is invalid... Request failed: [security_exception] 403 Forbidden"
Per risolvere l'errore, includi le autorizzazioni necessarie per la raccolta Amazon OpenSearch serverless nel ruolo di servizio IAM. Se per la knowledge base hai creato un database vettoriale in Amazon OpenSearch serverless, collega la seguente policy:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "OpenSearchServerlessAPIAccessAllStatement", "Effect": "Allow", "Action": [ "aoss:APIAccessAll" ], "Resource": [ "arn:aws:aoss:region:account-id:collection/collection-id" ] } ] }
La policy precedente fornisce il ruolo di servizio IAM utilizzato per accedere alla raccolta.
Verifica che la policy di accesso ai dati della console della raccolta Amazon OpenSearch serverless autorizzi il ruolo di servizio per Amazon Bedrock. Inoltre, assicurati che il ruolo di servizio per Amazon Bedrock sia presente nella sezione Principal della policy di controllo dell'accesso ai dati.
Il database vettoriale potrebbe essere configurato con un segreto di AWS Secrets Manager. Assicurati che il ruolo di servizio IAM consenta ad AWS Secrets Manager di autenticare l'account per consentirti di accedere al database.
Autorizzazione dell'endpoint mancante
Se non hai aggiunto il nome di dominio dell'endpoint di Amazon Bedrock alla policy di rete nella raccolta del Servizio OpenSearch di Amazon, ricevi il seguente errore:
"The knowledge base storage configuration provided is invalid... Request failed: [http_exception] server returned 401"
Per consentire ad Amazon Bedrock di accedere alla raccolta privata o all'endpoint del cloud privato virtuale (VPC), aggiungi il nome di dominio dell'endpoint alla policy di rete.
Per risolvere l'errore, aggiorna la raccolta con una policy di rete privata. Se non hai una raccolta con una policy di rete privata, devi crearne una. Per ulteriori informazioni, consulta la sezione Create a collection with a private network policy (Creazione di una raccolta con una policy di rete privata) in
How do I use the Amazon OpenSearch Serverless collection with a private network policy to create a knowledge base in Amazon Bedrock? (Come posso utilizzare la raccolta Amazon OpenSearch serverless con una policy di rete privata per creare una knowledge base in Amazon Bedrock?)
Nota: quando crei una nuova raccolta, per Access type (Tipo di accesso), scegli Private (Privato). Devi anche selezionare l'accesso privato ai servizi AWS e aggiungere bedrock.amazonaws.com all'elenco dei servizi consentiti.
Autorizzazioni CORS mancanti per il bucket S3
Se la knowledge base dispone di un'origine dati Amazon Simple Storage Service (Amazon S3) e il bucket non ha le autorizzazioni Cross-Origin Resource Sharing (CORS) necessarie, ricevi il seguente errore:
"The knowledge base storage configuration provided is invalid... Dependency error document status code: 404, error message: no such index [bedrock-knowledge-base-default-index]"
Senza la corretta configurazione CORS nel bucket S3, la knowledge base di Amazon Bedrock non può accedere ai dati archiviati nel bucket S3.
Per risolvere l'errore, imposta CORS nel bucket S3 con la seguente configurazione CORS:
[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "GET", "PUT", "POST", "DELETE" ], "AllowedOrigins": [ "*" ], "ExposeHeaders": [ "Access-Control-Allow-Origin" ] } ]
Potresti ricevere questo errore anche perché Amazon OpenSearch serverless richiede tempo per propagare le modifiche su tutti i nodi o le repliche di un indice.
Per risolvere il problema del ritardo causato da Amazon OpenSearch serverless, intraprendi le seguenti azioni:
- Assicurati che il ruolo di servizio che desideri utilizzare abbia le autorizzazioni per accedere e interagire con le raccolte OpenSearch serverless e il database vettoriale selezionato.
- Verifica se disponi di un indice esistente o se riesci a crearne uno nuovo manualmente in Amazon OpenSearch serverless. Se riesci creare manualmente un indice dalla dashboard di Amazon OpenSearch, l'errore potrebbe essere causato dalla consistenza finale all'interno del sistema. Per risolvere l'errore, attendi circa 5 minuti per consentire al sistema di propagare completamente le modifiche e raggiungere uno stato coerente. Se non riesci a creare un indice manualmente, verifica se hai le autorizzazioni necessarie per farlo. Per ulteriori informazioni, consulta Set di dati di esempio in OpenSearch Dashboards.
- Lingua
- Italiano
Video correlati

