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 connettere un bucket Amazon S3 come fonte di dati per la tua knowledge base gestita per assimilare gli oggetti che vi memorizzi.

Funzionalità supportate

  • Documenta i campi di metadati tramite file di metadati separati

  • Filtri di contenuto per l'inclusione e l'esclusione utilizzando modelli di file e prefissi chiave S3

  • Sincronizzazione incrementale dei contenuti per i 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 dell' AWS account del proprietario del bucket. Il bucket deve essere un bucket per uso 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 dalla knowledge base o se è crittografato con una chiave KMS gestita dal cliente, configura la policy del bucket e (se applicabile) la policy della chiave KMS per consentire l'accesso dal tuo ruolo di servizio nella knowledge base. Per informazioni, consulta Policy Bucket per account e accessi multipli KMS-encrypted.

Nel tuo AWS account, assicurati di:

  • Includi le autorizzazioni necessarie per connetterti alla tua fonte di dati nella tua 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

Policy Bucket per account e accessi multipli KMS-encrypted

Se il 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 del servizio della knowledge base. Gli esempi seguenti mostrano le dichiarazioni minime richieste.

Cross-account politica bucket

Nell'account proprietario del bucket Amazon S3, aggiungi la seguente dichiarazione alla policy del bucket. Sostituiscila kb-account-id con l'ID dell'account in cui è stata creata la tua knowledge base, kb-service-role con il nome del tuo ruolo di servizio nella 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 una guida più generale, consulta Configurare l'accesso ai bucket Amazon S3.

Politica chiave KMS per i bucket crittografati

Se il bucket Amazon S3 è crittografato con una chiave KMS gestita dal cliente, aggiungi la seguente dichiarazione alla policy chiave. Utilizza gli stessi segnaposto della policy del bucket tra account. Attendi qualche minuto affinché le modifiche chiave alla policy si propaghino.

{ "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 è associata la policy.

Come configurare un'origine dati Amazon S3

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

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

  2. Connetti la fonte di dati. Crea l'origine dati di Amazon S3 nella knowledge base utilizzando Console di gestione AWS o l'API. Per informazioni, consulta Crea l'origine 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 l'origine dati

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

  2. Seleziona Amazon S3 dal menu a discesa dell'origine dati.

  3. In Data source location, 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 sono archiviati i file di metadati dei documenti () per questa fonte di dati. .metadata.json

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

  7. (Facoltativo) Espandi i modelli di filtro dei 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 CreateDataSource richiesta con un endpoint build-time di Agents for Amazon Bedrock. L' AWS Command Line Interface esempio seguente crea un'origine dati per un bucket nello stesso account, con filtri di prefissi e pattern. Per una descrizione di ogni campo, vedi 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, imposta aclEnabled true e aggiungi un conaclConfiguration. globalAccessControlListS3Uri Per informazioni, consulta Document-level controlli di accesso.

Per le knowledge base gestite, CreateDataSource è asincrono: lo stato dell'origine dati passa da CREATING a quando 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 come tipo di connettore. connectorParameters Per i campi sovrapposti connectorParameters (ad esempio deletionProtectionConfiguration emediaExtractionConfiguration), consultaConnettere 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 tra 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 inseriti 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 inseriti.
maxFileSizeInMegaBytes No Dimensione massima, in megabyte, di ogni singolo file inserito dal connettore. Fornire come stringa numerica (ad esempio,). "500" L’impostazione predefinita è "500".
Top-level parametri del connettore (opzionale)
Campo Richiesto Description
metadataFilesPrefix No Il prefisso Amazon S3 in cui sono archiviati i file di metadati dei documenti ().metadata.json.
aclEnabled No Impostato su 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 delle chiavi alle voci di controllo degli accessi. Obbligatorio quando aclEnabled ètrue; ignorato quando è. 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 esempio, insiemereport.pdf, carica report.pdf.metadata.json con 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 puoi applicare al momento della query, vedi Metadati e filtri.