Crea un ruolo di servizio per Amazon Bedrock Knowledge Bases - Amazon Bedrock

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à.

Crea un ruolo di servizio per Amazon Bedrock Knowledge Bases

Per utilizzare un ruolo personalizzato per una knowledge base anziché quello creato automaticamente da Amazon Bedrock, crea un IAM ruolo e assegna le seguenti autorizzazioni seguendo la procedura descritta in Creazione di un ruolo per delegare le autorizzazioni a un AWS servizio. Includi solo le autorizzazioni necessarie per la tua sicurezza.

  • Relazione di attendibilità

  • Accesso ai modelli base di Amazon Bedrock

  • Accesso alla fonte di dati in cui sono archiviati i dati

  • (Se crei un database vettoriale in Amazon OpenSearch Service) Accedi alla tua raccolta di OpenSearch servizi

  • (Se crei un database vettoriale in Amazon Aurora) Accesso al tuo cluster Aurora

  • (Se crei un database vettoriale in Pinecone oppure Redis Enterprise Cloud) Autorizzazioni per AWS Secrets Manager per autenticare il tuo Pinecone oppure Redis Enterprise Cloud account

  • (Facoltativo) Se crittografate una delle seguenti risorse con una KMS chiave, autorizzazioni per decrittografare la chiave (vedete). Crittografia delle risorse della knowledge base

    • La tua knowledge base

    • Origini dati per la tua knowledge base

    • Il tuo database vettoriale in Amazon Service OpenSearch

    • Il segreto per il tuo database vettoriale di terze parti in AWS Secrets Manager

    • Un processo di importazione dei dati

Relazione di attendibilità

La seguente policy consente ad Amazon Bedrock di assumere questo ruolo e creare e gestire knowledge base. Di seguito viene riportato un esempio di policy che puoi utilizzare. Puoi limitare l'ambito dell'autorizzazione utilizzando una o più chiavi di contesto delle condizioni globali. Per ulteriori informazioni, consulta AWS chiavi di contesto della condizione globale. Imposta il valore aws:SourceAccount sull'ID del tuo account. Utilizza la condizione ArnEquals o ArnLike per limitare l'ambito a knowledge base specifiche.

Nota

Come best practice per motivi di sicurezza, sostituire il * con una base di conoscenza specifica IDs dopo averli creati.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:region:account-id:knowledge-base/*" } } }] }

Autorizzazioni per accedere ai modelli Amazon Bedrock

Allega la seguente policy per fornire al ruolo le autorizzazioni per utilizzare i modelli di Amazon Bedrock per incorporare i dati di origine.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:ListFoundationModels", "bedrock:ListCustomModels" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:region::foundation-model/amazon.titan-embed-text-v1", "arn:aws:bedrock:region::foundation-model/cohere.embed-english-v3", "arn:aws:bedrock:region::foundation-model/cohere.embed-multilingual-v3" ] } ] }

Autorizzazioni per accedere alle fonti di dati

Seleziona una delle seguenti fonti di dati per allegare le autorizzazioni necessarie per il ruolo.

Autorizzazioni per accedere alla tua fonte di dati Amazon S3

Allega la seguente policy per fornire le autorizzazioni per il ruolo per accedere ad Amazon S3.

Se hai crittografato l'origine dati con un AWS KMS chiave, allega le autorizzazioni per decrittografare la chiave del ruolo seguendo i passaggi riportati in. Autorizzazioni per decrittografare la AWS KMS chiave per le fonti di dati in Amazon S3

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket/path/to/folder", "arn:aws:s3:::bucket/path/to/folder/*" ], "Condition": { "StringEquals": { "aws:PrincipalAccount": "account-id" } } }] }

Autorizzazioni per accedere alla fonte di dati Confluence

Nota

Il connettore di origine dati Confluence è in versione di anteprima ed è soggetto a modifiche.

Allega la seguente policy per fornire le autorizzazioni necessarie al ruolo per accedere a Confluence.

Nota

secretsmanager:PutSecretValueè necessario solo se utilizzi l'autenticazione OAuth 2.0 con un token di aggiornamento.

Il token di accesso Confluence OAuth2 2.0 ha una scadenza predefinita di 60 minuti. Se questo token scade durante la sincronizzazione dell'origine dati (processo di sincronizzazione), Amazon Bedrock utilizzerà il token di aggiornamento fornito per rigenerare questo token. Questa rigenerazione aggiorna sia i token di accesso che quelli di aggiornamento. Per mantenere i token aggiornati dal processo di sincronizzazione corrente al processo di sincronizzazione successivo, Amazon Bedrock richiede autorizzazioni di scrittura/immissione per le tue credenziali segrete.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue" ], "Resource": [ "arn:aws:secretsmanager:your-region:your-account-id:secret:secret-id" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:your-region:your-account-id:key/key-id" ], "Condition": { "StringLike": { "kms:ViaService": [ "secretsmanager.your-region.amazonaws.com" ] } } }, }

Autorizzazioni per accedere all'origine SharePoint dati Microsoft

Nota

SharePoint Data Source Connector è in versione di anteprima ed è soggetto a modifiche.

Allega la seguente politica per fornire le autorizzazioni di accesso SharePoint al ruolo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:your-region:your-account-id:secret:secret-id" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:your-region:your-account-id:key/key-id" ], "Condition": { "StringLike": { "kms:ViaService": [ "secretsmanager.your-region.amazonaws.com" ] } } }, }

Autorizzazioni per accedere alla fonte di dati Salesforce

Nota

Il connettore di origine dati Salesforce è in versione di anteprima ed è soggetto a modifiche.

Allega la seguente politica per fornire le autorizzazioni necessarie al ruolo per accedere a Salesforce.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:your-region:your-account-id:secret:secret-id" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:your-region:your-account-id:key/key-id" ], "Condition": { "StringLike": { "kms:ViaService": [ "secretsmanager.your-region.amazonaws.com" ] } } }, }

Autorizzazioni per chattare con il documento

Allega la seguente politica per fornire le autorizzazioni per il ruolo a utilizzare i modelli Amazon Bedrock per chattare con il tuo documento:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate" ], "Resource": "*" } ] }

Se desideri concedere a un utente solo l'accesso alla chat con il tuo documento (e non a RetrieveAndGenerate tutte le Knowledge Base), utilizza la seguente politica:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "bedrock:Retrieve" ], "Resource": "*" } ] }

Se desideri sia chattare con il tuo documento sia utilizzarlo RetrieveAndGenerate su una Knowledge Base specifica, fornisci insert KB ARNe utilizza la seguente politica:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "bedrock:Retrieve" ], "Resource": insert KB ARN } ] }

(Facoltativo) Autorizzazioni per accedere al tuo database vettoriale in Amazon Service OpenSearch

Se hai creato un database vettoriale in Amazon OpenSearch Service per la tua knowledge base, allega la seguente policy al tuo ruolo di servizio Amazon Bedrock Knowledge Bases per consentire l'accesso alla raccolta. Replace (Sostituisci) region e account-id con la regione e l'ID dell'account a cui appartiene il database. Inserisci l'ID della tua collezione Amazon OpenSearch Service in collection-id. Puoi consentire l'accesso a più raccolte aggiungendole all'Resourceelenco.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "aoss:APIAccessAll" ], "Resource": [ "arn:aws:aoss:region:account-id:collection/collection-id" ] }] }

(Facoltativo) Autorizzazioni per accedere al cluster di database Amazon Aurora

Se hai creato un cluster di database (DB) in Amazon Aurora per la tua knowledge base, allega la seguente policy al tuo ruolo di servizio Amazon Bedrock Knowledge Bases per consentire l'accesso al cluster DB e fornire autorizzazioni di lettura e scrittura su di esso. Replace (Sostituisci) region e account-id con la regione e l'ID dell'account a cui appartiene il cluster DB. Inserisci l'ID del tuo cluster di database Amazon Aurora in db-cluster-id. È possibile consentire l'accesso a più cluster DB aggiungendoli all'Resourceelenco.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RdsDescribeStatementID", "Effect": "Allow", "Action": [ "rds:DescribeDBClusters" ], "Resource": [ "arn:aws:rds:region:account-id:cluster:db-cluster-id" ] }, { "Sid": "DataAPIStatementID", "Effect": "Allow", "Action": [ "rds-data:BatchExecuteStatement", "rds-data:ExecuteStatement" ], "Resource": [ "arn:aws:rds:region:account-id:cluster:db-cluster-id" ] }] }

(Facoltativo) Autorizzazioni per accedere a un database vettoriale configurato con un AWS Secrets Manager Secret

Se il database vettoriale è configurato con un AWS Secrets Manager segreto, allega la seguente policy al tuo ruolo di servizio Amazon Bedrock Knowledge Bases per consentire AWS Secrets Manager per autenticare il tuo account per accedere al database. Replace (Sostituisci) region e account-id con la regione e l'ID dell'account a cui appartiene il database. Replace (Sostituisci) secret-id con l'ID del tuo segreto.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:region:account-id:secret:secret-id" ] }] }

Se hai crittografato il tuo segreto con un AWS KMS chiave, allega le autorizzazioni per decrittografare la chiave del ruolo seguendo i passaggi riportati in. Autorizzazioni per decrittografare un AWS Secrets Manager segreto per l'archivio vettoriale contenente la tua knowledge base

(Facoltativo) Autorizzazioni per AWS per gestire un AWS KMS chiave per l'archiviazione transitoria dei dati durante l'ingestione dei dati

Per consentire la creazione di un AWS KMS chiave per lo storage temporaneo dei dati durante il processo di acquisizione dell'origine dati, allega la seguente policy al tuo ruolo di servizio Amazon Bedrock Knowledge Bases. Sostituisci il region, account-ide key-id con i valori appropriati.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ] } ] }

(Facoltativo) Autorizzazioni per AWS per gestire una fonte di dati proveniente da un altro utente AWS conto.

Per consentire l'accesso a quello di un altro utente AWS account, devi creare un ruolo che consenta l'accesso tra account diversi a un bucket Amazon S3 nell'account di un altro utente. Sostituisci il bucketName, bucketOwnerAccountIde bucketNameAndPrefix con i valori appropriati.

Autorizzazioni richieste per il ruolo della Knowledge Base

Il ruolo della knowledge base fornito durante la creazione della knowledge base createKnowledgeBase richiede le seguenti autorizzazioni Amazon S3.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "S3ListBucketStatement", "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucketName" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "bucketOwnerAccountId" } } },{ "Sid": "S3GetObjectStatement", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::bucketNameAndPrefix/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "bucketOwnerAccountId" } }] }

Se il bucket Amazon S3 è crittografato utilizzando un AWS KMS chiave, è necessario aggiungere anche quanto segue al ruolo della knowledge base. Sostituisci il bucketOwnerAccountId e region con i valori appropriati.

{ "Sid": "KmsDecryptStatement", "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:region:bucketOwnerAccountId:key/keyId" ], "Condition": { "StringEquals": { "kms:ViaService": [ "s3.region.amazonaws.com" ] } } }

Autorizzazioni richieste per una policy sui bucket Amazon S3 per più account

Il bucket dell'altro account richiede la seguente policy sui bucket di Amazon S3. Sostituisci il kbRoleArn, bucketNamee bucketNameAndPrefix con i valori appropriati.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Example ListBucket permissions", "Effect": "Allow", "Principal": { "AWS": "kbRoleArn" }, "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucketName" ] }, { "Sid": "Example GetObject permissions", "Effect": "Allow", "Principal": { "AWS": "kbRoleArn" }, "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::bucketNameAndPrefix/*" ] } ] }

Autorizzazioni richieste su più account AWS KMS politica chiave

Se il bucket Amazon S3 per più account è crittografato utilizzando un AWS KMS inserisci in quell'account, la politica del AWS KMS la chiave richiede la seguente politica. Sostituisci il kbRoleArn e kmsKeyArn con i valori appropriati.

{ "Sid": "Example policy", "Effect": "Allow", "Principal": { "AWS": [ "kbRoleArn" ] }, "Action": [ "kms:Decrypt" ], "Resource": "kmsKeyArn" }