View a markdown version of this page

Simple Storage Service (Amazon S3) - 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à.

Simple Storage Service (Amazon S3)

Amazon S3 è un servizio che consente di archiviare dati come oggetti nei bucket. Puoi collegare un bucket Amazon S3 come fonte di dati per la tua knowledge base gestita per importare gli oggetti che memorizzi lì.

Funzionalità supportate

  • Documenta i campi di metadati tramite file di metadati separati

  • Filtri di contenuto di inclusione ed esclusione che utilizzano modelli di file e prefissi chiave S3

  • Sincronizzazione incrementale dei contenuti per contenuti aggiunti, aggiornati ed eliminati

  • Cross-account Accesso al bucket Amazon S3

  • Document-level controllo degli accessi (ACL), con file ACL forniti dal cliente

Prerequisiti

In Amazon S3, verifica quanto segue:

  • Annota il nome del bucket Amazon S3 e l'ID AWS account del proprietario del bucket. Il bucket deve essere un bucket generico nella stessa AWS regione della tua knowledge base e devi disporre dell'autorizzazione per accedervi.

  • Se il bucket si trova in un AWS account diverso da quello della knowledge base o se è crittografato con una chiave KMS gestita dal cliente, configura la policy del bucket e (se applicabile) la politica delle chiavi KMS per consentire l'accesso dal tuo ruolo di servizio della knowledge base. Per informazioni, consulta Politiche Bucket per più account e accessi KMS-encrypted.

Nel tuo AWS account, assicurati di:

  • Includi le autorizzazioni necessarie per connetterti alla tua fonte di dati nella role/permissions policy AWS Identity and Access Management (IAM) per la tua knowledge base. Per informazioni sulle autorizzazioni richieste, consulta. Autorizzazioni per accedere alle origini dati

Politiche Bucket per più account e accessi KMS-encrypted

Se il tuo bucket Amazon S3 si trova in un AWS account diverso dalla tua knowledge base o se è crittografato con una chiave KMS gestita dal cliente, aggiungi una policy basata sulle risorse per concedere l'accesso al ruolo di servizio della tua knowledge base. Gli esempi seguenti mostrano le dichiarazioni minime richieste.

Cross-account politica del bucket

Nell'account proprietario del bucket Amazon S3, aggiungi la seguente dichiarazione alla policy del bucket. kb-account-idSostituiscila con l'ID dell'account in cui è stata creata la Knowledge Base, kb-service-role con il nome del ruolo del servizio della Knowledge Base e bucket-name con il nome del bucket.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBedrockKnowledgeBaseAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::kb-account-id:role/kb-service-role" }, "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }

Per indicazioni più generali, consulta Configurare l'accesso ai bucket Amazon S3.

Politica chiave KMS per i bucket crittografati

Se il tuo bucket Amazon S3 è crittografato con una chiave KMS gestita dal cliente, aggiungi la seguente dichiarazione alla politica della chiave. Utilizza gli stessi segnaposto della policy cross-account bucket. Attendi qualche minuto per la propagazione delle principali modifiche alle politiche.

{ "Sid": "AllowBedrockKnowledgeBaseKmsAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::kb-account-id:role/kb-service-role" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" }

"Resource": "*"Qui si riferisce alla chiave a cui è allegata la politica.

Come configurare un'origine dati Amazon S3

La configurazione di un'origine dati Amazon S3 prevede i seguenti passaggi:

  1. Prepara il secchio. Conferma il nome del bucket, l'ID dell'account e (per l'accesso su più account) la policy del bucket. Se prevedi di utilizzare i metadati dei documenti, scegli il prefisso Amazon S3 dove .metadata.json risiedono i tuoi file.

  2. Connect la fonte di dati. Crea l'origine dati Amazon S3 nella knowledge base utilizzando Console di gestione AWS o l'API. Per informazioni, consulta Crea la fonte di dati.

  3. (Facoltativo) Abilita il controllo degli accessi a livello di documento. Filtra i risultati delle query in base alle autorizzazioni utente definite nei file ACL forniti dal cliente. Per informazioni, consulta Document-level controlli di accesso.

Crea la fonte di dati

Console
Per connettere un bucket Amazon S3 alla tua knowledge base gestita
  1. In Origine dati, fornisci un nome per la tua fonte di dati.

  2. Seleziona Amazon S3 dal menu a discesa delle origini dati.

  3. In Posizione dell'origine dei dati, scegli se il bucket Amazon S3 si trova in questo account AWS o in Altro account AWS.

  4. Inserisci l'URI Amazon S3 del tuo bucket. Puoi scegliere Browse S3 per selezionare un bucket.

  5. (Facoltativo) Inserisci un prefisso per i file di metadati, il prefisso Amazon S3 in cui vengono archiviati i file di metadati dei documenti .metadata.json () per questa origine dati.

  6. (Facoltativo) Espandi i modelli di filtro dei prefissi S3 per includere o escludere percorsi specifici.

  7. (Facoltativo) Espandi i modelli di filtro File per aggiungere modelli regex per includere o escludere file specifici.

  8. (Facoltativo) Per abilitare il controllo degli accessi a livello di documento, seleziona Controlla l'accesso ai documenti con ACL e fornisci l'URI Amazon S3 del tuo file ACL globale. Questa opzione non può essere modificata dopo la creazione. Per informazioni dettagliate, vedi Document-level controlli di accesso.

API

Per creare un'origine dati Amazon S3, invia una CreateDataSourcerichiesta a un endpoint in fase di costruzione Agents for Amazon Bedrock. L' AWS Command Line Interface esempio seguente crea una fonte di dati per un bucket nello stesso account, con filtri per prefissi e pattern. Per una descrizione di ogni campo, consultate il riferimento ai parametri del connettore che segue.

aws bedrock-agent create-data-source \ --name "S3-connector" \ --knowledge-base-id "your-knowledge-base-id" \ --data-source-configuration file://s3-managed-connector.json

Il s3-managed-connector.json file contiene quanto segue:

{ "type": "MANAGED_KNOWLEDGE_BASE_CONNECTOR", "managedKnowledgeBaseConnectorConfiguration": { "connectorParameters": { "type": "S3", "version": "1", "connectionConfiguration": { "bucketName": "my-knowledge-base-bucket", "bucketOwnerAccountId": "123456789012" }, "filterConfiguration": { "inclusionPrefixes": ["documents/"], "inclusionPatterns": [".*\\.pdf", ".*\\.txt"], "exclusionPatterns": [".*\\.tmp"] }, "metadataFilesPrefix": "metadata/" } } }

Per abilitare il controllo degli accessi a livello di documento, impostate true e aclEnabled aggiungete un conaclConfiguration. globalAccessControlListS3Uri Per informazioni, consulta Document-level controlli di accesso.

Per le knowledge base gestite, CreateDataSource è asincrono: lo stato dell'origine dati passa dal CREATING momento in cui l'operazione viene completata. AVAILABLE

Parametri dei connettori

La configurazione dell'origine dati utilizza i seguenti parametri del connettore. Per connetterti ad Amazon S3, specifica S3 il tipo di connettore. connectorParameters Per i campi che racchiudono connectorParameters (come deletionProtectionConfiguration emediaExtractionConfiguration), vediConnettere un’origine dati.

connectionConfiguration
Campo Richiesto Descrizione
bucketName Nome del bucket Amazon S3.
bucketOwnerAccountId Condizionale L'ID AWS dell'account del proprietario del bucket. Necessario per l'accesso su più account.
Configurazione del filtro (opzionale)
Campo Richiesto Description
inclusionPrefixes No Elenco dei prefissi chiave di Amazon S3 da includere (ad esempio,). documents/
exclusionPrefixes No Elenco dei prefissi chiave di Amazon S3 da escludere (ad esempio,). archive/
inclusionPatterns No Elenco di espressioni regolari. Vengono ingeriti solo gli oggetti le cui chiavi corrispondono ad almeno uno schema.
exclusionPatterns No Elenco di espressioni regolari. Gli oggetti le cui chiavi corrispondono a qualsiasi modello non vengono ingeriti.
maxFileSizeInMegaBytes No Dimensione massima, in megabyte, di ogni singolo file importato dal connettore. Fornisci come stringa numerica (ad esempio,). "500" L’impostazione predefinita è "500".
Top-level parametri del connettore (facoltativi)
Campo Richiesto Description
metadataFilesPrefix No Il prefisso Amazon S3 in cui sono archiviati i file di metadati dei documenti ().metadata.json.
aclEnabled No Impostato per abilitare il controllo degli true accessi a livello di documento. Non è possibile modificare questa impostazione dopo aver creato l'origine dati. Per informazioni dettagliate, vedi Document-level controlli di accesso.
aclConfiguration Condizionale ContieneglobalAccessControlListS3Uri: l'URI Amazon S3 di un file JSON che mappa i prefissi chiave alle voci di controllo degli accessi. Richiesto quando aclEnabled ètrue; ignorato quando lo è. aclEnabled false Per informazioni, consulta Document-level controlli di accesso.

File di metadati del documento

Puoi allegare metadati a ciascun documento caricando un file collaterale accanto ad esso. Per ogni documento, crea un file denominato filename.extension.metadata.json nello stesso percorso Amazon S3. Il file di metadati non deve superare i 10 KB. Ad esempioreport.pdf, oltre a caricare report.pdf.metadata.json i seguenti contenuti:

{ "metadataAttributes": { "company": { "value": { "type": "STRING", "stringValue": "BioPharm Innovations" } }, "created_date": { "value": { "type": "NUMBER", "numberValue": 20221205 } }, "author": { "value": { "type": "STRING", "stringValue": "Lisa Thompson" } } } }

Per informazioni sui tipi di dati degli attributi supportati e sugli operatori di filtro che è possibile applicare al momento della query, consulta Metadati e filtri.