

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.

# Erstellen einer Amazon S3 S3-Datenquellenintegration in OpenSearch Service
<a name="direct-query-s3-creating"></a>

Sie können eine neue Amazon S3 S3-Direktabfrage-Datenquelle für OpenSearch Service über die AWS-Managementkonsole oder die API erstellen. Jede neue Datenquelle verwendet die, um Tabellen AWS Glue Data Catalog zu verwalten, die Amazon S3 S3-Buckets darstellen. 

**Topics**
+ [Voraussetzungen](#direct-query-s3-prereq)
+ [Verfahren](#direct-query-s3-create)
+ [Nächste Schritte](#direct-query-s3-next-steps)
+ [Ordnen Sie die Rolle zu AWS Glue Data Catalog](#direct-query-s3-permissions)
+ [Weitere Ressourcen](#direct-query-s3-additional-resources)

## Voraussetzungen
<a name="direct-query-s3-prereq"></a>

Bevor Sie beginnen, stellen Sie sicher, dass Sie die folgende Dokumentation gelesen haben:
+ [Einschränkungen](direct-query-s3-overview.md#direct-query-s3-limitations)
+ [Empfehlungen](direct-query-s3-overview.md#direct-query-s3-recommendations)
+ [Kontingente](direct-query-s3-overview.md#direct-query-s3-quotas)

Bevor Sie eine Datenquelle erstellen können, müssen Sie über die folgenden Ressourcen verfügen AWS-Konto:
+ **Eine OpenSearch Domäne mit Version 2.13 oder höher.** Dies ist die Grundlage für die Einrichtung der Direct Query Integration. Anweisungen zur Einrichtung finden Sie unter[OpenSearch Dienstdomänen erstellen](createupdatedomains.md#createdomains).
+ **Ein oder mehrere S3-Buckets.** Sie müssen die Buckets angeben, die Daten enthalten, die Sie abfragen möchten, und einen Bucket, in dem Ihre Abfrage-Checkpoints gespeichert werden sollen. Anweisungen zum Erstellen eines S3-Buckets finden Sie unter [Erstellen eines Buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) im Amazon S3 S3-Benutzerhandbuch.
+ **(Optional) Eine oder mehrere AWS Glue Tabellen.**Um Daten auf Amazon S3 abzufragen, müssen Sie Tabellen eingerichtet haben, die AWS Glue Data Catalog auf die S3-Daten verweisen. Sie müssen die Tabellen mit OpenSearch Query Workbench erstellen. Bestehende Hive-Tabellen sind nicht kompatibel. 

  Wenn Sie zum ersten Mal eine Amazon S3 S3-Datenquelle einrichten, müssen Sie eine Admin-Datenquelle erstellen, um all Ihre AWS Glue Data Catalog Tabellen zu konfigurieren. Sie können dies tun, indem Sie OpenSearch out-of-the-box Integrationen installieren oder OpenSearch Query Workbench verwenden, um benutzerdefinierte SQL-Tabellen für erweiterte Anwendungsfälle zu erstellen. Beispiele zum Erstellen von Tabellen für VPC CloudTrail - und AWS WAF-Protokolle finden Sie in der Dokumentation GitHub für [VPC](https://github.com/opensearch-project/opensearch-catalog/blob/main/integrations/observability/amazon_vpc_flow/assets/create_table_vpc_schema-1.0.0.sql), [CloudTrail](https://github.com/opensearch-project/opensearch-catalog/blob/main/integrations/observability/aws_cloudtrail/assets/create_table_cloud-trail-records-1.0.0.sql)und. [AWS WAF](https://github.com/opensearch-project/opensearch-catalog/blob/main/integrations/observability/aws_waf/assets/create_table-1.0.0.sql) Nachdem Sie Ihre Tabellen erstellt haben, können Sie neue Amazon S3 S3-Datenquellen erstellen und den Zugriff auf eingeschränkte Tabellen einschränken.
+ **(Optional) Eine manuell erstellte IAM-Rolle.**Sie können diese Rolle verwenden, um den Zugriff auf Ihre Datenquelle zu verwalten. Alternativ können Sie OpenSearch Service automatisch eine Rolle mit den erforderlichen Berechtigungen für Sie erstellen lassen. Wenn Sie eine manuell erstellte IAM-Rolle verwenden möchten, folgen Sie den Anweisungen unter[Erforderliche Berechtigungen für manuell erstellte IAM-Rollen](#direct-query-s3-additional-resources-required-permissions).

## Verfahren
<a name="direct-query-s3-create"></a>

Sie können eine Datenquelle für direkte Abfragen in einer Domain mit der AWS-Managementkonsole oder der OpenSearch Service-API einrichten.

### Um eine Datenquelle mit dem einzurichten AWS-Managementkonsole
<a name="creating-direct-query-s3-console-create"></a>

1. Navigieren Sie zur Amazon OpenSearch Service-Konsole unter[https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. Wählen Sie im linken Navigationsbereich die Option **Domains** aus. 

1. Wählen Sie die Domain aus, für die Sie eine neue Datenquelle einrichten möchten. Dadurch wird die Detailseite der Domain geöffnet. 

1. Wählen Sie die Registerkarte **Verbindungen** unter den allgemeinen Domänendetails und suchen Sie den Abschnitt **Direkte Abfrage**.

1. Wählen **Sie Datenquelle konfigurieren aus**.

1. Geben Sie einen Namen und eine optionale Beschreibung für Ihre neue Datenquelle ein. 

1. Wählen Sie **Amazon S3 mit AWS Glue Data Catalog**. 

1. Wählen Sie unter **Einstellungen für den Zugriff auf IAM-Berechtigungen** aus, wie der Zugriff verwaltet werden soll.

   1. Gehen Sie folgendermaßen vor, wenn Sie automatisch eine Rolle für diese Datenquelle erstellen möchten:

      1. Wählen Sie **Neue Rolle erstellen** aus.

      1. Geben Sie einen Namen für die IAM-Rolle ein.

      1. Wählen Sie einen oder mehrere S3-Buckets aus, die Daten enthalten, die Sie abfragen möchten.

      1. Wählen Sie einen Checkpoint-S3-Bucket aus, in dem Abfrage-Checkpoints gespeichert werden sollen.

      1. Wählen Sie eine oder mehrere AWS Glue Datenbanken oder Tabellen aus, um zu definieren, welche Daten abgefragt werden können. Wenn noch keine Tabellen erstellt wurden, gewähren Sie Zugriff auf die Standarddatenbank.

   1. Wenn Sie eine bestehende Rolle verwenden möchten, die Sie selbst verwalten, gehen Sie wie folgt vor:

      1. Wählen Sie **Eine vorhandene Rolle verwenden** aus.

      1. Wählen Sie eine bestehende Rolle aus dem Drop-down-Menü aus.
**Anmerkung**  
Wenn Sie Ihre eigene Rolle verwenden, müssen Sie sicherstellen, dass sie über alle erforderlichen Berechtigungen verfügt, indem Sie die erforderlichen Richtlinien von der IAM-Konsole aus anhängen. Weitere Informationen finden Sie in der Beispielrichtlinie unter. [Erforderliche Berechtigungen für manuell erstellte IAM-Rollen](#direct-query-s3-additional-resources-required-permissions)

1. Wählen Sie **Konfigurieren** aus. Dadurch wird der Bildschirm mit den Datenquellendetails mit einer OpenSearch Dashboard-URL geöffnet. Sie können zu dieser URL navigieren, um die nächsten Schritte abzuschließen.

### OpenSearch Service-API
<a name="creating-direct-query-s3-api-create"></a>

Verwenden Sie den [AddDataSource](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_AddDataSource.html)API-Vorgang, um eine neue Datenquelle in Ihrer Domain zu erstellen.

```
POST https://es.{{region}}.amazonaws.com/2021-01-01/opensearch/domain/{{domain-name}}/dataSource

{
   "DataSourceType": {
        "S3GlueDataCatalog": {
            "RoleArn": "arn:aws:iam::{{account-id}}:role/{{role-name}}"
        }
    }
   "Description": "{{data-source-description}}",
   "Name": "{{my-data-source}}"
}
```

## Nächste Schritte
<a name="direct-query-s3-next-steps"></a>

### Besuchen Sie OpenSearch Dashboards
<a name="direct-query-s3-next-steps-dashboard"></a>

Nachdem Sie eine Datenquelle erstellt haben, stellt Ihnen OpenSearch Service einen Link zu OpenSearch Dashboards zur Verfügung. Sie können damit die Zugriffskontrolle konfigurieren, Tabellen definieren, out-of-the-box Integrationen installieren und Ihre Daten abfragen.

Weitere Informationen finden Sie unter [Konfiguration und Abfrage einer S3-Datenquelle in Dashboards OpenSearch](direct-query-s3-configure.md).

## Ordnen Sie die Rolle zu AWS Glue Data Catalog
<a name="direct-query-s3-permissions"></a>

Wenn Sie nach dem Erstellen einer Datenquelle eine [differenzierte Zugriffskontrolle](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html) aktiviert haben, müssen Sie Benutzer ohne Administratorrechte einer IAM-Rolle mit AWS Glue Data Catalog Zugriff zuordnen, um direkte Abfragen ausführen zu können. Gehen Sie wie folgt vor, um manuell eine `glue_access` Back-End-Rolle zu erstellen, die Sie der IAM-Rolle zuordnen können:

**Anmerkung**  
Indizes werden für alle Abfragen der Datenquelle verwendet. Ein Benutzer mit Lesezugriff auf den Anforderungsindex für eine bestimmte Datenquelle kann *alle* Abfragen für diese Datenquelle lesen. Ein Benutzer mit Lesezugriff auf den Ergebnisindex kann Ergebnisse für *alle* Abfragen dieser Datenquelle lesen.

1. Wählen Sie im Hauptmenü der OpenSearch Dashboards **Sicherheit**, **Rollen** und **Rollen erstellen** aus.

1. Nennen Sie die Rolle **glue\_access**.

1. Wählen Sie für **Clusterberechtigungen**,`indices:data/write/bulk*`, `indices:data/read/scroll` aus. `indices:data/read/scroll/clear`

1. Geben Sie für **Index** die folgenden Indizes ein, auf die Sie dem Benutzer mit der Rolle Zugriff gewähren möchten:
   + `.query_execution_request_{{<name of data source>}}`
   + `query_execution_result_{{<name of data source>}}`
   + `.async-query-scheduler`
   + `flint_*`

1. Wählen Sie für **Indexberechtigungen** die Option aus`indices_all`. 

1. Wählen Sie **Erstellen** aus.

1. Wählen Sie **Zugeordnete Benutzer**, **Mapping verwalten**. 

1. Fügen Sie unter **Backend-Rollen** den ARN der AWS Glue Rolle hinzu, für die eine Berechtigung zum Aufrufen Ihrer Domain erforderlich ist.

   ```
   arn:aws:iam::{{account-id}}:role/{{role-name}}
   ```

1. Wählen Sie **Map** aus und vergewissern Sie sich, dass die Rolle unter **Zugeordnete** Benutzer angezeigt wird.

Weitere Informationen zum Zuordnen von Rollen finden Sie unter[Rollen an Benutzer zuweisen](fgac.md#fgac-mapping).

## Weitere Ressourcen
<a name="direct-query-s3-additional-resources"></a>

### Erforderliche Berechtigungen für manuell erstellte IAM-Rollen
<a name="direct-query-s3-additional-resources-required-permissions"></a>

 Wenn Sie eine Datenquelle für Ihre Domain erstellen, wählen Sie eine IAM-Rolle aus, um den Zugriff auf Ihre Daten zu verwalten. Sie haben zwei Optionen:

1. Erstellen Sie automatisch eine neue IAM-Rolle

1. Verwenden Sie eine vorhandene IAM-Rolle, die Sie manuell erstellt haben

Wenn Sie eine manuell erstellte Rolle verwenden, müssen Sie der Rolle die richtigen Berechtigungen zuordnen. Die Berechtigungen müssen den Zugriff auf die spezifische Datenquelle ermöglichen und es dem OpenSearch Service ermöglichen, die Rolle zu übernehmen. Dies ist erforderlich, damit der OpenSearch Dienst sicher auf Ihre Daten zugreifen und mit ihnen interagieren kann. 

Die folgende Beispielrichtlinie zeigt die Berechtigungen mit den geringsten Rechten, die zum Erstellen und Verwalten einer Datenquelle erforderlich sind. Wenn Sie über umfassendere Berechtigungen verfügen, wie z. `s3:*` B. die `AdminstratorAccess` Richtlinie, umfassen diese Berechtigungen die Berechtigungen mit den geringsten Rechten in der Beispielrichtlinie.

Ersetzen Sie in der folgenden Beispielrichtlinie die durch Ihre eigenen {{placeholder text }} Informationen.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"HttpActionsForOpenSearchDomain",
         "Effect":"Allow",
         "Action":"es:ESHttp*",
"Resource":"arn:aws:es:{{us-east-1}}:{{111122223333}}:domain/{{example.com}}/*"
      },
      {
         "Sid":"AmazonOpenSearchS3GlueDirectQueryReadAllS3Buckets",
         "Effect":"Allow",
         "Action":[
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:ListBucket"
         ],
         "Condition":{
            "StringEquals":{
               "aws:ResourceAccount":"{{111122223333}}"
            }
         },
         "Resource":"*"
      },
      {
         "Sid":"AmazonOpenSearchDirectQueryGlueCreateAccess",
         "Effect":"Allow",
         "Action":[
            "glue:CreateDatabase",
            "glue:CreatePartition",
            "glue:CreateTable",
            "glue:BatchCreatePartition"
         ],
         "Resource":"*"
      },
      {
         "Sid":"AmazonOpenSearchS3GlueDirectQueryModifyAllGlueResources",
         "Effect":"Allow",
         "Action":[
            "glue:DeleteDatabase",
            "glue:DeletePartition",
            "glue:DeleteTable",
            "glue:GetDatabase",
            "glue:GetDatabases",
            "glue:GetPartition",
            "glue:GetPartitions",
            "glue:GetTable",
            "glue:GetTableVersions",
            "glue:GetTables",
            "glue:UpdateDatabase",
            "glue:UpdatePartition",
            "glue:UpdateTable",
            "glue:BatchGetPartition",
            "glue:BatchDeletePartition",
            "glue:BatchDeleteTable"
         ],
         "Resource":[
            "arn:aws:glue:us-east-1:{{111122223333}}:table/*",
            "arn:aws:glue:us-east-1:{{111122223333}}:database/*",
            "arn:aws:glue:us-east-1:{{111122223333}}:catalog",
            "arn:aws:es:{{us-east-1}}:{{111122223333}}:domain/{{domain_name}}"
         ],
         "Condition":{
            "StringEquals":{
               "aws:ResourceAccount":"{{111122223333}}"
            }
         }
      },
      {
         "Sid":"ReadAndWriteActionsForS3CheckpointBucket",
         "Effect":"Allow",
         "Action":[
            "s3:ListMultipartUploadParts",
            "s3:DeleteObject",
            "s3:GetObject",
            "s3:PutObject",
            "s3:GetBucketLocation",
            "s3:ListBucket"
         ],
         "Condition":{
            "StringEquals":{
               "aws:ResourceAccount":"{{111122223333}}"
            }
         },
         "Resource":[
            "arn:aws:s3:::{{amzn-s3-demo-bucket}}",
            "arn:aws:s3:::{{amzn-s3-demo-bucket/*}}"
         ]
      }
   ]
}
```

------

Um Amazon S3 S3-Buckets in verschiedenen Konten zu unterstützen, müssen Sie eine Bedingung in die Amazon S3 S3-Richtlinie aufnehmen und das entsprechende Konto hinzufügen. 

Ersetzen Sie im folgenden Beispielzustand die {{placeholder text }} durch Ihre eigenen Informationen.

```
"Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "{{{{accountId}}}}"
                }
```

Die Rolle muss außerdem über die folgende Vertrauensrichtlinie verfügen, in der die Ziel-ID angegeben ist.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
       {
          "Effect":"Allow",
          "Principal":{
             "Service": "directquery.opensearchservice.amazonaws.com"
          },
          "Action":"sts:AssumeRole"
       }
     ]
}
```

------

Anleitungen zum Erstellen der Rolle finden Sie unter [Erstellen einer Rolle mit benutzerdefinierten Vertrauensrichtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html).

Wenn Sie in OpenSearch Service eine differenzierte Zugriffskontrolle aktiviert haben, wird automatisch eine neue OpenSearch differenzierte Zugriffssteuerungsrolle für Ihre Datenquelle erstellt. Der Name der neuen detaillierten Zugriffskontrollrolle lautet. `AWS OpenSearchDirectQuery {{<name of data source>}}`

Standardmäßig hat die Rolle nur Zugriff auf Datenquellenindizes für direkte Abfragen. Sie können die Rolle zwar so konfigurieren, dass der Zugriff auf Ihre Datenquelle eingeschränkt oder gewährt wird, es wird jedoch empfohlen, den Zugriff dieser Rolle nicht anzupassen. **Wenn Sie die Datenquelle löschen, wird diese Rolle gelöscht**. Dadurch wird allen anderen Benutzern der Zugriff entzogen, sofern sie der Rolle zugeordnet sind.