

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Membuat integrasi sumber data Amazon S3 di Layanan OpenSearch
<a name="direct-query-s3-creating"></a>

Anda dapat membuat sumber data kueri langsung Amazon S3 baru untuk OpenSearch Layanan melalui atau API. Konsol Manajemen AWS Setiap sumber data baru menggunakan tabel AWS Glue Data Catalog untuk mengelola yang mewakili bucket Amazon S3. 

**Topics**
+ [

## Prasyarat
](#direct-query-s3-prereq)
+ [

## Prosedur
](#direct-query-s3-create)
+ [

## Langkah selanjutnya
](#direct-query-s3-next-steps)
+ [

## Petakan AWS Glue Data Catalog perannya
](#direct-query-s3-permissions)
+ [

## Sumber daya tambahan
](#direct-query-s3-additional-resources)

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

Sebelum Anda memulai, pastikan bahwa Anda telah meninjau dokumentasi berikut:
+ [Batasan](direct-query-s3-overview.md#direct-query-s3-limitations)
+ [Rekomendasi](direct-query-s3-overview.md#direct-query-s3-recommendations)
+ [Kuota](direct-query-s3-overview.md#direct-query-s3-quotas)

Sebelum Anda dapat membuat sumber data, Anda harus memiliki sumber daya berikut di Akun AWS:
+ ** OpenSearch Domain dengan versi 2.13 atau yang lebih baru.** Ini adalah dasar untuk menyiapkan integrasi kueri langsung. Untuk petunjuk tentang pengaturan ini, lihat[Membuat domain OpenSearch Layanan](createupdatedomains.md#createdomains).
+ **Satu atau lebih ember S3.** Anda harus menentukan bucket yang berisi data yang ingin Anda kueri, dan bucket untuk menyimpan pos pemeriksaan kueri Anda. Untuk petunjuk cara membuat bucket S3, lihat [Membuat bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) di panduan pengguna Amazon S3.
+ **(Opsional) Satu atau lebih AWS Glue tabel.**Kueri data di Amazon S3 mengharuskan Anda memiliki pengaturan AWS Glue Data Catalog tabel untuk menunjuk ke data S3. Anda harus membuat tabel menggunakan OpenSearch Query Workbench. Tabel Hive yang ada tidak kompatibel. 

  Jika ini adalah pertama kalinya Anda menyiapkan sumber data Amazon S3, Anda harus membuat sumber data admin untuk mengonfigurasi semua tabel Anda AWS Glue Data Catalog . Anda dapat melakukan ini dengan menginstal OpenSearch out-of-the-box integrasi atau dengan menggunakan OpenSearch Query Workbench untuk membuat tabel SQL kustom untuk kasus penggunaan lanjutan. Untuk contoh tentang membuat tabel untuk VPC, CloudTrail, dan log AWS WAF, lihat dokumentasi untuk GitHub [VPC](https://github.com/opensearch-project/opensearch-catalog/blob/main/integrations/observability/amazon_vpc_flow/assets/create_table_vpc_schema-1.0.0.sql),, dan. [CloudTrail[AWS WAF](https://github.com/opensearch-project/opensearch-catalog/blob/main/integrations/observability/aws_waf/assets/create_table-1.0.0.sql)](https://github.com/opensearch-project/opensearch-catalog/blob/main/integrations/observability/aws_cloudtrail/assets/create_table_cloud-trail-records-1.0.0.sql) Setelah membuat tabel, Anda dapat membuat sumber data Amazon S3 baru dan membatasi akses ke tabel terbatas.
+ **(Opsional) Peran IAM yang dibuat secara manual.**Anda dapat menggunakan peran ini untuk mengelola akses ke sumber data Anda. Atau, Anda dapat meminta OpenSearch Layanan membuat peran untuk Anda secara otomatis dengan izin yang diperlukan. Jika Anda memilih untuk menggunakan peran IAM yang dibuat secara manual, ikuti panduan di[Izin yang diperlukan untuk peran IAM yang dibuat secara manual](#direct-query-s3-additional-resources-required-permissions).

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

Anda dapat mengatur sumber data kueri langsung pada domain dengan Konsol Manajemen AWS atau API OpenSearch Layanan.

### Untuk mengatur sumber data menggunakan Konsol Manajemen AWS
<a name="creating-direct-query-s3-console-create"></a>

1. Arahkan ke konsol OpenSearch Layanan Amazon di[https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. Di panel navigasi kiri, pilih **Domain**. 

1. Pilih domain yang ingin Anda siapkan sumber data baru. Ini membuka halaman detail domain. 

1. Pilih tab **Koneksi** di bawah detail domain umum dan temukan bagian **Kueri langsung**.

1. Pilih **Konfigurasikan sumber data**.

1. Masukkan nama dan deskripsi opsional untuk sumber data baru Anda. 

1. Pilih **Amazon S3** dengan. AWS Glue Data Catalog

1. Di bawah **pengaturan akses izin IAM**, pilih cara mengelola akses.

   1. Jika Anda ingin secara otomatis membuat peran untuk sumber data ini, ikuti langkah-langkah berikut:

      1. Pilih **Buat peran baru**.

      1. Masukkan Nama IAM role.

      1. Pilih satu atau beberapa bucket S3 yang berisi data yang ingin Anda kueri.

      1. Pilih bucket checkpoint S3 untuk menyimpan pos pemeriksaan kueri.

      1. Pilih satu atau beberapa AWS Glue database atau tabel untuk menentukan data mana yang dapat ditanyakan. Jika tabel belum dibuat, berikan akses ke database default.

   1. Jika Anda ingin menggunakan peran yang sudah ada yang Anda kelola sendiri, ikuti langkah-langkah berikut:

      1. Pilih **Gunakan peran yang ada.**

      1. Pilih peran yang ada dari menu tarik-turun.
**catatan**  
Saat menggunakan peran Anda sendiri, Anda harus memastikannya memiliki semua izin yang diperlukan dengan melampirkan kebijakan yang diperlukan dari konsol IAM. Untuk informasi lebih lanjut, lihat kebijakan sampel di[Izin yang diperlukan untuk peran IAM yang dibuat secara manual](#direct-query-s3-additional-resources-required-permissions).

1. Pilih **Konfigurasikan** Ini membuka layar detail sumber data dengan URL OpenSearch Dasbor. Anda dapat menavigasi ke URL ini untuk menyelesaikan langkah selanjutnya.

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

Gunakan operasi [AddDataSource](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_AddDataSource.html)API untuk membuat sumber data baru di domain Anda.

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

## Langkah selanjutnya
<a name="direct-query-s3-next-steps"></a>

### Kunjungi OpenSearch Dasbor
<a name="direct-query-s3-next-steps-dashboard"></a>

Setelah Anda membuat sumber data, OpenSearch Layanan memberi Anda tautan OpenSearch Dasbor. Anda dapat menggunakan ini untuk mengonfigurasi kontrol akses, menentukan tabel, menginstal out-of-the-box integrasi, dan kueri data Anda.

Untuk informasi selengkapnya, lihat [Mengkonfigurasi dan menanyakan sumber data S3 di Dasbor OpenSearch](direct-query-s3-configure.md).

## Petakan AWS Glue Data Catalog perannya
<a name="direct-query-s3-permissions"></a>

Jika Anda telah mengaktifkan [kontrol akses berbutir halus](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html) setelah membuat sumber data, Anda harus memetakan pengguna non-admin ke peran IAM dengan AWS Glue Data Catalog akses untuk menjalankan kueri langsung. Untuk membuat `glue_access` peran back-end secara manual yang dapat Anda petakan ke peran IAM, lakukan langkah-langkah berikut:

**catatan**  
Indeks digunakan untuk kueri apa pun terhadap sumber data. Pengguna dengan akses baca ke indeks permintaan untuk sumber data tertentu dapat membaca *semua* kueri terhadap sumber data tersebut. Pengguna dengan akses baca ke indeks hasil dapat membaca hasil untuk *semua* kueri terhadap sumber data tersebut.

1. Dari menu utama di OpenSearch Dasbor, pilih **Keamanan**, **Peran**, dan **Buat peran**.

1. Beri nama peran **glue\$1access**.

1. Untuk **izin Cluster**, pilih`indices:data/write/bulk*`,`indices:data/read/scroll`,`indices:data/read/scroll/clear`.

1. Untuk **Indeks**, masukkan indeks berikut yang ingin Anda berikan kepada pengguna akses peran:
   + `.query_execution_request_<name of data source>`
   + `query_execution_result_<name of data source>`
   + `.async-query-scheduler`
   + `flint_*`

1. Untuk **izin Indeks**, pilih`indices_all`. 

1. Pilih **Buat**.

1. Pilih **Pengguna yang dipetakan**, **Kelola pemetaan**. 

1. Di bawah **peran Backend**, tambahkan ARN AWS Glue peran yang memerlukan izin untuk memanggil domain Anda.

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

1. Pilih **Peta** dan konfirmasikan, peran akan muncul pada **Pengguna yang Dipetakan**.

Untuk informasi selengkapnya tentang peran pemetaan, lihat[Memetakan peran untuk pengguna](fgac.md#fgac-mapping).

## Sumber daya tambahan
<a name="direct-query-s3-additional-resources"></a>

### Izin yang diperlukan untuk peran IAM yang dibuat secara manual
<a name="direct-query-s3-additional-resources-required-permissions"></a>

 Saat membuat sumber data untuk domain Anda, Anda memilih peran IAM untuk mengelola akses ke data Anda. Anda memiliki dua pilihan:

1. Buat peran IAM baru secara otomatis

1. Gunakan peran IAM yang sudah ada yang Anda buat secara manual

Jika Anda menggunakan peran yang dibuat secara manual, Anda harus melampirkan izin yang benar ke peran tersebut. Izin harus mengizinkan akses ke sumber data tertentu, dan memungkinkan OpenSearch Layanan untuk mengambil peran. Hal ini diperlukan agar OpenSearch Layanan dapat mengakses dan berinteraksi dengan data Anda dengan aman. 

Kebijakan contoh berikut menunjukkan izin hak istimewa terkecil yang diperlukan untuk membuat dan mengelola sumber data. Jika Anda memiliki izin yang lebih luas, seperti `s3:*` atau `AdminstratorAccess` kebijakan, izin ini mencakup izin hak istimewa terkecil dalam kebijakan sampel.

Dalam contoh kebijakan berikut, ganti *placeholder text * dengan informasi Anda sendiri.

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

------

Untuk mendukung bucket Amazon S3 di akun yang berbeda, Anda harus menyertakan ketentuan ke kebijakan Amazon S3 dan menambahkan akun yang sesuai. 

Dalam kondisi sampel berikut, ganti *placeholder text * dengan informasi Anda sendiri.

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

Peran juga harus memiliki kebijakan kepercayaan berikut, yang menentukan ID target.

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

****  

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

------

Untuk petunjuk cara membuat peran, lihat [Membuat peran menggunakan kebijakan kepercayaan kustom](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html).

Jika Anda mengaktifkan kontrol akses berbutir halus di OpenSearch Layanan, peran kontrol akses OpenSearch berbutir halus baru akan dibuat secara otomatis untuk sumber data Anda. Nama peran kontrol akses berbutir halus baru adalah. `AWS OpenSearchDirectQuery <name of data source>`

Secara default, peran memiliki akses ke indeks sumber data kueri langsung saja. Meskipun Anda dapat mengonfigurasi peran untuk membatasi atau memberikan akses ke sumber data Anda, sebaiknya Anda tidak menyesuaikan akses peran ini. **Jika Anda menghapus sumber data, peran ini akan dihapus**. Ini akan menghapus akses untuk pengguna lain jika mereka dipetakan ke peran tersebut.