Memberikan akses saluran pipa Amazon OpenSearch Ingestion ke koleksi - OpenSearch Layanan Amazon

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 koleksi

Pipeline Amazon OpenSearch Ingestion memerlukan izin untuk menulis ke koleksi OpenSearch Tanpa Server yang dikonfigurasi sebagai wastafel. Untuk menyediakan akses, Anda mengonfigurasi peran AWS Identity and Access Management (IAM) dengan kebijakan izin terbatas yang membatasi akses ke koleksi tempat pipeline mengirim data. OpenSearch Konsumsi dapat menelan data ke koleksi publik dan koleksi VPC.

Sebelum menentukan peran dalam konfigurasi pipeline, Anda harus mengonfigurasinya dengan hubungan kepercayaan yang sesuai, lalu memberinya izin akses data ke indeks koleksi.

Batasan

Batasan berikut berlaku untuk pipeline yang menulis ke koleksi Tanpa OpenSearch Server:

  • Prosesor grup jejak OTel saat ini tidak berfungsi dengan sink OpenSearch koleksi Tanpa Server.

  • Saat ini, OpenSearch Ingestion hanya mendukung _template operasi lama, sementara OpenSearch Serverless mendukung operasi composable. _index_template Oleh karena itu, jika konfigurasi pipeline Anda menyertakan index_type opsi, itu harus diatur kemanagement_disabled.

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 koleksi. Itu juga harus memiliki hubungan kepercayaan yang memungkinkan OpenSearch Ingestion untuk mengambil peran. Untuk petunjuk tentang cara melampirkan kebijakan ke peran, lihat Menambahkan izin identitas IAM di Panduan Pengguna IAM.

Kebijakan contoh berikut menunjukkan hak istimewa paling sedikit yang dapat Anda berikan dalam peran sts_role_arn konfigurasi pipeline agar dapat ditulis ke koleksi:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "aoss:BatchGetCollection" ], "Effect": "Allow", "Resource": "arn:aws:aoss:{region}:{your-account-id}:collection/{collection-id}" }, { "Action": [ "aoss:CreateSecurityPolicy", "aoss:GetSecurityPolicy", "aoss:UpdateSecurityPolicy", "aoss:APIAccessAll" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aoss:collection": "{collection-name}" } } } ] }

Peran tersebut harus memiliki hubungan kepercayaan berikut, yang memungkinkan OpenSearch Ingestion untuk menganggapnya:

{ "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: Buat koleksi

Buat koleksi OpenSearch Tanpa Server dengan pengaturan berikut:

  • Kebijakan akses data berikut, yang memberikan izin yang diperlukan untuk peran pipeline:

    [ { "Rules": [ { "Resource": [ "index/{collection-name}/*" ], "Permission": [ "aoss:CreateIndex", "aoss:UpdateIndex", "aoss:DescribeIndex", "aoss:WriteDocument", ], "ResourceType": "index" } ], "Principal": [ "arn:aws:iam::{account-id}:role/{pipeline-role}" ], "Description": "Pipeline role access" } ]
    catatan

    Dalam Principal elemen, tentukan Nama Sumber Daya Amazon (ARN) dari peran pipeline yang Anda buat di langkah sebelumnya.

  • Kebijakan akses jaringan. Anda dapat menyerap data ke dalam koleksi publik atau koleksi VPC. Jika Anda menggunakan koleksi VPC, kebijakan jaringan harus mengizinkan satu atau beberapa titik akhir VPC untuk mengakses koleksi. Misalnya, Anda dapat menambahkan kebijakan jaringan berikut, yang memungkinkan satu titik akhir VPC mengakses koleksi:

    [ { "Description":"VPC access", "Rules":[ { "ResourceType":"collection", "Resource":[ "collection/{collection-name}" ] } ], "AllowFromPublic": false, "SourceVPCEs":[ "vpce-050f79086ee71ac05" ] } ]
    catatan

    Selain itu, Anda harus menentukan nama kebijakan jaringan dalam network_policy_name opsi dalam konfigurasi pipeline. Lihat langkah 3 untuk contoh konfigurasi pipeline.

Untuk instruksi untuk membuat koleksi, lihatMembuat koleksi.

Langkah 3: Buat pipeline

Terakhir, buat pipeline tempat Anda menentukan peran pipeline dan detail koleksi. Pipeline mengasumsikan peran ini untuk menandatangani permintaan ke sink koleksi OpenSearch Tanpa Server.

Pastikan untuk melakukan hal berikut:

  • Untuk hosts opsi, tentukan titik akhir koleksi yang Anda buat di langkah 2.

  • Untuk sts_role_arn opsi, tentukan Nama Sumber Daya Amazon (ARN) dari peran pipeline yang Anda buat di langkah 1.

  • Atur serverless opsi ketrue.

  • Tetapkan network_policy_name opsi ke nama kebijakan jaringan yang dilampirkan pada koleksi.

version: "2" log-pipeline: source: http: path: "/log/ingest" processor: - date: from_time_received: true destination: "@timestamp" sink: - opensearch: hosts: [ "https://{collection-id}.{region}.aoss.amazonaws.com" ] index: "my-index" aws: serverless: true serverless_options: network_policy_name: "{network-policy-name}" # If the policy doesn't exist, a new policy is created. region: "us-east-1" sts_role_arn: "arn:aws:iam::{account-id}:role/{pipeline-role}"

Untuk referensi lengkap parameter yang diperlukan dan tidak didukung, lihatPlugin dan opsi yang didukung untuk saluran Amazon OpenSearch Ingestion.