

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Amazon S3
<a name="kb-managed-ds-s3"></a>

Amazon S3 ist ein Objektspeicherdienst, der Daten als Objekte in Buckets speichert. Sie können einen Amazon S3-Bucket als Datenquelle für Ihre verwaltete Wissensdatenbank verbinden, um die dort gespeicherten Objekte aufzunehmen.

## Unterstützte Features
<a name="kb-managed-supported-features-s3"></a>
+ Dokumentieren Sie Metadatenfelder mithilfe separater Metadatendateien
+ Inhaltsfilter für Aufnahme und Ausschluss mithilfe von Dateimustern und S3-Schlüsselpräfixen
+ Inkrementelle Inhaltssynchronisierungen für hinzugefügte, aktualisierte und gelöschte Inhalte
+ Cross-account Zugriff auf Amazon S3-Buckets
+ Document-level Zugriffskontrolle (ACLs) mit vom Kunden bereitgestellten ACL-Dateien

## Voraussetzungen
<a name="kb-managed-prereqs-s3"></a>

**Stellen Sie in Amazon S3 Folgendes sicher**:
+ Notieren Sie sich den Amazon S3-Bucket-Namen und die AWS Konto-ID des Bucket-Besitzers. Bei dem Bucket muss es sich um einen Allzweck-Bucket in derselben AWS Region wie Ihre Wissensdatenbank handeln, und Sie müssen berechtigt sein, darauf zuzugreifen.
+ Wenn sich der Bucket in einem anderen AWS Konto als in der Wissensdatenbank befindet oder wenn er mit einem vom Kunden verwalteten KMS-Schlüssel verschlüsselt ist, konfigurieren Sie die Bucket-Richtlinie und (falls zutreffend) die KMS-Schlüsselrichtlinie so, dass der Zugriff von Ihrer Knowledge Base-Servicerolle aus möglich ist. Siehe [Bucket-Richtlinien für den kontoübergreifenden Zugriff KMS-encrypted](#kb-managed-s3-bucket-policies).

**Stellen Sie in Ihrem AWS Konto sicher, dass Sie**:
+ Nehmen Sie die erforderlichen Berechtigungen zum Herstellen einer Verbindung zu Ihrer Datenquelle in Ihre AWS Identity and Access Management (IAM-) role/permissions Richtlinie für Ihre Wissensdatenbank auf. Informationen zu den erforderlichen Berechtigungen finden Sie unter[Berechtigungen für den Zugriff auf Ihre Datenquellen](kb-permissions.md#kb-permissions-access-ds).

## Bucket-Richtlinien für den kontoübergreifenden Zugriff KMS-encrypted
<a name="kb-managed-s3-bucket-policies"></a>

Wenn sich Ihr Amazon S3-Bucket in einem anderen AWS Konto als Ihrer Wissensdatenbank befindet oder wenn er mit einem vom Kunden verwalteten KMS-Schlüssel verschlüsselt ist, fügen Sie eine ressourcenbasierte Richtlinie hinzu, um Ihrer Wissensdatenbank-Servicerolle Zugriff zu gewähren. Die folgenden Beispiele zeigen die erforderlichen Mindestanweisungen.

### Cross-account Bucket-Richtlinie
<a name="kb-managed-s3-cross-account-policy"></a>

Fügen Sie in dem Konto, dem der Amazon S3-Bucket gehört, die folgende Anweisung zur Bucket-Richtlinie hinzu. {{kb-account-id}}Ersetzen Sie durch die Konto-ID, unter der Ihre Wissensdatenbank erstellt wurde, {{kb-service-role}} durch den Namen Ihrer Wissensdatenbank-Servicerolle und {{bucket-name}} durch Ihren Bucket-Namen.

```
{
    "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}}/*"
            ]
        }
    ]
}
```

Eine allgemeinere Anleitung finden [ Sie unter Konfigurieren des Zugriffs auf Amazon S3-Buckets](bedrock/latest/userguide/s3-bucket-access.html).

### KMS-Schlüsselrichtlinie für verschlüsselte Buckets
<a name="kb-managed-s3-kms-policy"></a>

Wenn Ihr Amazon S3-Bucket mit einem vom Kunden verwalteten KMS-Schlüssel verschlüsselt ist, fügen Sie der Schlüsselrichtlinie die folgende Anweisung hinzu. Verwenden Sie dieselben Platzhalter wie in der kontoübergreifenden Bucket-Richtlinie. Warten Sie ein paar Minuten, bis wichtige Richtlinienänderungen wirksam werden.

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

Die `"Resource": "*"` hier aufgeführten Gültigkeitsbereiche beziehen sich auf den Schlüssel, dem die Richtlinie zugeordnet ist.

## Wie richte ich eine Amazon S3-Datenquelle ein
<a name="kb-managed-s3-workflow"></a>

Das Einrichten einer Amazon S3-Datenquelle umfasst die folgenden Schritte:

1. **Bereite deinen Eimer vor. ** Bestätigen Sie den Bucket-Namen, die Konto-ID und (für den kontoübergreifenden Zugriff) die Bucket-Richtlinie. Wenn Sie Dokument-Metadaten verwenden möchten, entscheiden Sie sich für das Amazon S3-Präfix, in dem sich Ihre `.metadata.json` Dateien befinden.

1. **Verbinden Sie die Datenquelle. ** Erstellen Sie die Amazon S3-Datenquelle in der Wissensdatenbank mithilfe der AWS-Managementkonsole oder der API. Siehe [Erstellen Sie die Datenquelle](#kb-managed-ds-s3-create).

1. **(Optional) Aktivieren Sie die Zugriffskontrolle auf Dokumentebene. ** Filtern Sie Abfrageergebnisse nach Benutzerberechtigungen, die in vom Kunden bereitgestellten ACL-Dateien definiert sind. Siehe [Document-level Zugriffskontrollen](kb-managed-ds-s3-acl.md).

## Erstellen Sie die Datenquelle
<a name="kb-managed-ds-s3-create"></a>

------
#### [ Console ]

**Um einen Amazon S3-Bucket mit Ihrer verwalteten Wissensdatenbank zu verbinden**

1. Geben Sie ** unter ** Datenquelle einen Namen für Ihre Datenquelle ein.

1. Wählen Sie ** Amazon S3 ** aus dem Drop-down-Menü für die Datenquelle aus.

1. Wählen Sie unter Speicherort der ** Datenquelle aus**, ob sich der Amazon S3-Bucket unter „**Dieses AWS-Konto“ ** oder „**Anderes AWS-Konto**“ befindet.

1. Geben Sie die Amazon S3-URI Ihres Buckets ein. Sie können ** Browse S3 wählen**, um einen Bucket auszuwählen.

1. (Optional) Geben Sie ein Präfix für ** Metadatendateien ein ** — das Amazon S3-Präfix, in dem Dokument-Metadatendateien (`.metadata.json`) für diese Datenquelle gespeichert werden.

1. (Optional) Erweitern Sie die Filtermuster für ** ** S3-Präfixe, um bestimmte Pfade einzubeziehen oder auszuschließen.

1. (Optional) Erweitern Sie ** Dateifiltermuster**, um Regex-Muster hinzuzufügen, die bestimmte Dateien ein- oder ausschließen.

1. (Optional) Um die Zugriffskontrolle auf Dokumentebene zu aktivieren, wählen Sie Dokumentenzugriff mit ACLs ** kontrollieren aus ** und geben Sie die Amazon S3-URI Ihrer globalen ACL-Datei an. Diese Option kann nach der Erstellung nicht geändert werden. Details hierzu finden Sie unter [Document-level Zugriffskontrollen](kb-managed-ds-s3-acl.md).

------
#### [ API ]

Um eine Amazon S3-Datenquelle zu erstellen, senden Sie eine [ CreateDataSource ](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) Anfrage an einen Build-Time-Endpunkt für Agents for Amazon Bedrock. Das folgende AWS Command Line Interface Beispiel erstellt eine Datenquelle für einen Bucket im selben Konto mit Präfix- und Musterfiltern. Eine Beschreibung der einzelnen Felder finden Sie in der folgenden Referenz zu den Connector-Parametern.

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

Die `s3-managed-connector.json` Datei enthält Folgendes:

```
{
    "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/}}"
        }
    }
}
```

Um die Zugriffskontrolle auf Dokumentebene zu aktivieren, setzen Sie `aclEnabled` auf `true` und fügen Sie ein `aclConfiguration` mit hinzu. `globalAccessControlListS3Uri` Siehe [Document-level Zugriffskontrollen](kb-managed-ds-s3-acl.md).

Bei verwalteten Wissensdatenbanken `CreateDataSource` ist dies asynchron: Der Status der Datenquelle wechselt von `CREATING` zu, `AVAILABLE` wenn der Vorgang abgeschlossen ist.

------

## Connector-Parameter
<a name="kb-managed-config-s3"></a>

Die Datenquellenkonfiguration verwendet die folgenden Connector-Parameter. Um eine Verbindung zu Amazon S3 herzustellen, geben Sie `S3` als Connector Folgendes ein`connectorParameters`. Informationen zu Feldern, die `connectorParameters` umbrechen (wie `deletionProtectionConfiguration` und`mediaExtractionConfiguration`), finden Sie unter[Verbinden einer Datenquelle](kb-managed-connect-ds.md).


**connectionConfiguration**  

| Feld | Erforderlich | Beschreibung | 
| --- | --- | --- | 
| bucketName | Ja | Der Name des Amazon S3-Buckets. | 
| bucketOwnerAccountId | Bedingt | Die AWS Konto-ID des Bucket-Besitzers. Erforderlich für den kontoübergreifenden Zugriff. | 


**Filterkonfiguration (optional)**  

| Feld | Erforderlich | Description | 
| --- | --- | --- | 
| inclusionPrefixes | Nein | Liste der einzuschließenden Amazon S3-Schlüsselpräfixe (z. B.documents/). | 
| exclusionPrefixes | Nein | Liste der Amazon S3-Schlüsselpräfixe, die ausgeschlossen werden sollen (z. B.archive/). | 
| inclusionPatterns | Nein | Liste regulärer Ausdrücke. Nur Objekte, deren Schlüssel mindestens einem Muster entsprechen, werden aufgenommen. | 
| exclusionPatterns | Nein | Liste regulärer Ausdrücke. Objekte, deren Schlüssel einem Muster entsprechen, werden nicht aufgenommen. | 
| maxFileSizeInMegaBytes | Nein | Maximale Größe in Megabyte jeder einzelnen Datei, die der Connector aufnimmt. Geben Sie eine numerische Zeichenfolge an (z. B.). "500" Standardeinstellung: "500". | 


**Top-level Connector-Parameter (optional)**  

| Feld | Erforderlich | Description | 
| --- | --- | --- | 
| metadataFilesPrefix | Nein | Das Amazon S3-Präfix, in dem die Metadatendateien des Dokuments (.metadata.json) gespeichert werden. | 
| aclEnabled | Nein | Stellen Sie diese Option auf true ein, um die Zugriffskontrolle auf Dokumentebene zu aktivieren. Sie können diese Einstellung nicht ändern, nachdem Sie die Datenquelle erstellt haben. Details hierzu finden Sie unter [Document-level Zugriffskontrollen](kb-managed-ds-s3-acl.md). | 
| aclConfiguration | Bedingt | Enthält globalAccessControlListS3Uri — die Amazon S3-URI einer JSON-Datei, die Schlüsselpräfixe Zugriffskontrolleinträgen zuordnet. Erforderlich, wenn aclEnabled es isttrue; wird ignoriert, wenn aclEnabled es istfalse. Siehe [Document-level Zugriffskontrollen](kb-managed-ds-s3-acl.md). | 

### Metadatendateien des Dokuments
<a name="kb-managed-s3-metadata-files"></a>

Sie können Metadaten an jedes Dokument anhängen, indem Sie neben dem Dokument eine Sidecar-Datei hochladen. Erstellen Sie für jedes Dokument eine Datei, die `{{filename.extension}}.metadata.json` im gleichen Amazon S3-Pfad benannt ist. Die Metadatendatei darf 10 KB nicht überschreiten. Laden Sie `report.pdf` beispielsweise gleichzeitig `report.pdf.metadata.json` den folgenden Inhalt hoch:

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

Informationen zu den unterstützten Attributdatentypen und den Filteroperatoren, die Sie bei der Abfrage anwenden können, finden Sie unter [ Metadaten und Filterung](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).