Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memberikan akses saluran pipa Amazon OpenSearch Ingestion ke domain
Pipeline Amazon OpenSearch Ingestion memerlukan izin untuk menulis ke domain OpenSearch Layanan yang dikonfigurasi sebagai wastafelnya. Untuk menyediakan akses, Anda mengonfigurasi peran AWS Identity and Access Management (IAM) dengan kebijakan izin terbatas yang membatasi akses ke domain tempat pipeline mengirim data. Misalnya, Anda mungkin ingin membatasi pipeline konsumsi hanya pada domain dan indeks yang diperlukan untuk mendukung kasus penggunaannya.
Sebelum menentukan peran dalam konfigurasi pipeline, Anda harus mengonfigurasinya dengan hubungan kepercayaan yang sesuai, lalu memberinya akses ke domain dalam kebijakan akses domain.
Topik
Langkah 1: Buat peran pipeline
Peran yang Anda tentukan dalam parameter sts_role_arn dari konfigurasi pipeline harus memiliki kebijakan izin terlampir yang memungkinkannya mengirim data ke sink domain. Itu juga harus memiliki hubungan kepercayaan yang memungkinkan OpenSearch Ingestion untuk mengambil peran. Untuk petunjuk tentang cara melampirkan kebijakan ke peran, lihat Menambahkan izin IAM identitas di Panduan IAM Pengguna.
Kebijakan contoh berikut menunjukkan hak istimewa paling sedikit yang dapat Anda berikan dalam peran sts_role_arn konfigurasi pipeline agar dapat ditulis ke satu domain:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:*:
your-account-id
:domain/*" }, { "Effect": "Allow", "Action": "es:ESHttp*", "Resource": "arn:aws:es:*:your-account-id
:domain/domain-name
/*" } ] }
Jika Anda berencana untuk menggunakan kembali peran untuk menulis ke beberapa domain, Anda dapat membuat kebijakan lebih luas dengan mengganti nama domain dengan karakter wildcard (). *
Peran tersebut harus memiliki hubungan kepercayaan berikut, yang memungkinkan OpenSearch Ingestion untuk mengambil peran pipeline:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"osis-pipelines.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
Selain itu, kami menyarankan Anda menambahkan kunci aws:SourceAccount
dan aws:SourceArn
kondisi ke kebijakan untuk melindungi diri Anda dari masalah wakil yang membingungkan. Akun sumber adalah pemilik pipa.
Misalnya, Anda dapat menambahkan blok kondisi berikut ke kebijakan:
"Condition": { "StringEquals": { "aws:SourceAccount": "
your-account-id
" }, "ArnLike": { "aws:SourceArn": "arn:aws:osis:region
:your-account-id
:pipeline/*" } }
Langkah 2: Sertakan peran pipeline dalam kebijakan akses domain
Agar pipeline dapat menulis data ke domain, domain harus memiliki kebijakan akses tingkat domain yang memungkinkan peran pipeline sts_role_arn untuk mengaksesnya.
Contoh kebijakan akses domain berikut memungkinkan peran pipeline bernamapipeline-role
, yang Anda buat pada langkah sebelumnya, untuk menulis data ke domain bernamaingestion-domain
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
your-account-id
:role/pipeline-role
" }, "Action": ["es:DescribeDomain", "es:ESHttp*"], "Resource": "arn:aws:es:region
:your-account-id
:domain/domain-name
/*" } ] }
Langkah 3: Petakan peran pipeline (hanya untuk domain yang menggunakan kontrol akses berbutir halus)
Jika domain Anda menggunakan kontrol akses berbutir halus untuk autentikasi, ada langkah-langkah tambahan yang perlu Anda ambil untuk menyediakan akses pipeline Anda ke domain. Langkah-langkahnya berbeda tergantung pada konfigurasi domain Anda:
Skenario 1: Peran master dan peran pipeline yang berbeda — Jika Anda menggunakan IAM Amazon Resource Name (ARN) sebagai pengguna master dan itu berbeda dengan peran pipeline (sts_role_arn
), Anda perlu memetakan peran pipeline ke peran OpenSearch all_access
backend. Ini pada dasarnya menambahkan peran pipeline sebagai pengguna master tambahan. Untuk informasi selengkapnya, lihat Pengguna master tambahan.
Skenario 2: Menguasai pengguna di database pengguna internal — Jika domain Anda menggunakan pengguna master di database pengguna internal dan otentikasi HTTP dasar untuk OpenSearch Dasbor, Anda tidak dapat meneruskan nama pengguna dan kata sandi utama langsung ke konfigurasi pipeline. Sebagai gantinya, Anda perlu memetakan peran pipeline (sts_role_arn
) ke peran OpenSearch all_access
backend. Ini pada dasarnya menambahkan peran pipeline sebagai pengguna master tambahan. Untuk informasi selengkapnya, lihat Pengguna master tambahan.
Skenario 3: Peran master dan peran pipeline yang sama (tidak umum) - Jika Anda menggunakan pengguna IAM ARN sebagai master, dan ARN itu sama dengan yang Anda gunakan sebagai peran pipeline (sts_role_arn
), Anda tidak perlu mengambil tindakan lebih lanjut. Pipeline memiliki izin yang diperlukan untuk menulis ke domain. Skenario ini jarang terjadi karena sebagian besar lingkungan menggunakan peran admin atau peran lain sebagai peran utama.
Gambar berikut menunjukkan cara memetakan peran pipeline ke peran backend:
Langkah 4: Tentukan peran dalam konfigurasi pipeline
Agar berhasil membuat pipeline, Anda harus menentukan peran pipeline yang Anda buat di langkah 1 sebagai parameter sts_role_arn dalam konfigurasi pipeline Anda. Pipeline mengasumsikan peran ini untuk menandatangani permintaan ke sink domain OpenSearch Layanan.
Di sts_role_arn
lapangan, tentukan ARN peran IAM pipa:
version: "2" log-pipeline: source: http: path: "/${pipelineName}/logs" processor: - grok: match: log: [ "%{COMMONAPACHELOG}" ] sink: - opensearch: hosts: [ "https://search-
domain-name
.us-east-1.es.amazonaws.com" ] index: "my-index
" aws: region: "region
" sts_role_arn: "arn:aws:iam::your-account-id
:role/pipeline-role
"
Untuk referensi lengkap parameter yang diperlukan dan tidak didukung, lihatPlugin dan opsi yang didukung untuk saluran Amazon OpenSearch Ingestion.