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
Anda dapat membuat sumber data kueri langsung Amazon S3 baru untuk OpenSearch Layanan melalui atau API. AWS Management Console Setiap sumber data baru menggunakan tabel AWS Glue Data Catalog untuk mengelola yang mewakili bucket Amazon S3.
Prasyarat
Sebelum memulai, pastikan Anda telah meninjau dokumentasi berikut:
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.
-
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 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
,, dan. CloudTrailAWS WAF 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 diIzin yang diperlukan untuk peran IAM yang dibuat secara manual.
Prosedur
Anda dapat mengatur sumber data kueri langsung pada domain dengan AWS Management Console atau API OpenSearch Layanan.
-
Arahkan ke konsol OpenSearch Layanan Amazon dihttps://console.aws.amazon.com/aos/
. -
Di panel navigasi kiri, pilih Domain.
-
Pilih domain yang ingin Anda siapkan sumber data baru. Ini membuka halaman detail domain.
-
Pilih tab Koneksi di bawah detail domain umum dan temukan bagian Kueri langsung.
-
Pilih Konfigurasikan sumber data.
-
Masukkan nama dan deskripsi opsional untuk sumber data baru Anda.
-
Pilih Amazon S3 dengan. AWS Glue Data Catalog
-
Di bawah pengaturan akses izin IAM, pilih cara mengelola akses.
-
Jika Anda ingin secara otomatis membuat peran untuk sumber data ini, ikuti langkah-langkah berikut:
-
Pilih Buat peran baru.
-
Masukkan Nama IAM role.
-
Pilih satu atau beberapa bucket S3 yang berisi data yang ingin Anda kueri.
-
Pilih bucket checkpoint S3 untuk menyimpan pos pemeriksaan kueri.
-
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.
-
-
Jika Anda ingin menggunakan peran yang sudah ada yang Anda kelola sendiri, ikuti langkah-langkah berikut:
-
Pilih Gunakan peran yang ada.
-
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 diIzin yang diperlukan untuk peran IAM yang dibuat secara manual.
-
-
Pilih Konfigurasikan Ini membuka layar detail sumber data dengan URL OpenSearch Dasbor. Anda dapat menavigasi ke URL ini untuk menyelesaikan langkah selanjutnya.
Gunakan operasi AddDataSourceAPI 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
Kunjungi OpenSearch Dasbor
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 .
Petakan AWS Glue Data Catalog perannya
Jika Anda telah mengaktifkan kontrol akses halus 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.
-
Dari menu utama di OpenSearch Dasbor, pilih Keamanan, Peran, dan Buat peran.
-
Beri nama peran glue_access.
-
Untuk izin Cluster, pilih
indices:data/write/bulk*
,indices:data/read/scroll
,indices:data/read/scroll/clear
. -
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_*
-
-
Untuk izin Indeks, pilih
indices_all
. -
Pilih Buat.
-
Pilih Pengguna yang dipetakan, Kelola pemetaan.
-
Di bawah peran Backend, tambahkan ARN AWS Glue peran yang memerlukan izin untuk memanggil domain Anda.
arn:aws:iam::
account-id
:role/role-name
-
Pilih Peta dan konfirmasikan, peran akan muncul pada Pengguna yang Dipetakan.
Untuk informasi selengkapnya tentang peran pemetaan, lihatMemetakan peran untuk pengguna.
Sumber daya tambahan
Izin yang diperlukan untuk peran IAM yang dibuat secara manual
Saat membuat sumber data untuk domain Anda, Anda memilih peran IAM untuk mengelola akses ke data Anda. Anda memiliki dua opsi:
-
Buat peran IAM baru secara otomatis
-
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.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"HttpActionsForOpenSearchDomain", "Effect":"Allow", "Action":"es:ESHttp*", "Resource":"arn:aws:es:
region
:account
:domain/<domain_name>/*" }, { "Sid":"AmazonOpenSearchS3GlueDirectQueryReadAllS3Buckets", "Effect":"Allow", "Action":[ "s3:GetObject", "s3:GetObjectVersion", "s3:ListBucket" ], "Condition":{ "StringEquals":{ "aws:ResourceAccount":"account
" } }, "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:account
:table/*", "arn:aws:glue:us-east-1:account
:database/*", "arn:aws:glue:us-east-1:account
:catalog", "arn:aws:es:region
:account
:domain/domain_name
" ], "Condition":{ "StringEquals":{ "aws:ResourceAccount":"account
" } } }, { "Sid":"ReadAndWriteActionsForS3CheckpointBucket", "Effect":"Allow", "Action":[ "s3:ListMultipartUploadParts", "s3:DeleteObject", "s3:GetObject", "s3:PutObject", "s3:GetBucketLocation", "s3:ListBucket" ], "Condition":{ "StringEquals":{ "aws:ResourceAccount":"account
" } }, "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.
{ "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.
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.