View a markdown version of this page

CloudWatch kebijakan dan izin IAM pipeline - Amazon CloudWatch

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

CloudWatch kebijakan dan izin IAM pipeline

Bagian ini menyediakan persyaratan IAM untuk CloudWatch jaringan pipa. Izin bervariasi berdasarkan sumber data dan metode integrasi Anda.

Tabel berikut membantu Anda mengidentifikasi bagian IAM mana yang berlaku untuk kasus penggunaan Anda.

Kasus penggunaan Metode integrasi Jenis sumber dalam konfigurasi pipa Bagian IAM yang Anda butuhkan
Third-party integrasi (API Pull) Pipeline menarik dari API vendor menggunakan kredensional yang disimpan microsoft_office365,okta_sso,palo_alto_ngfw, dan sebagainya. Izin pemanggil API + Third-party sumber (API Pull) + Kebijakan sumber daya
Third-party integrasi (pengiriman S3) Vendor mengirimkan file ke bucket S3 Anda s3 Izin pemanggil API + Third-party sumber (pengiriman S3) + Kebijakan sumber daya
Data kustom dari S3 Aplikasi Anda menulis ke S3, pipeline dibaca dari bucket s3 Izin pemanggil API + Data kustom dari S3 + Kebijakan sumber daya
Data kustom dari CloudWatch Log Aplikasi Anda masuk ke grup CloudWatch log Log cloudwatch_logs Izin pemanggil API + Data kustom dari CloudWatch Log
Log AWS layanan yang dijual AWS layanan mengirimkan log ke CloudWatch Log (VPC Flow Logs, Route 53) cloudwatch_logs Izin pemanggil API + Dijual AWS log layanan
CloudWatch Metrik (oTel) AWS layanan memancarkan metrik melalui OTLP cloudwatch_metrics Izin aturan pipa untuk sumber CloudWatch Metrik
catatan

S3-based sources (s3) memerlukan kebijakan sumber daya setelah pembuatan pipeline. CloudWatch Sumber log (cloudwatch_logs) tidak.

Izin pemanggil API

Prinsip IAM yang memanggil CreateTelemetryPipeline memerlukan iam:PassRole izin untuk setiap peran yang dirujuk dalam konfigurasi pipeline.

contoh PassRole templat kebijakan
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForPipelineSource", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::your-account-id:role/your-source-role", "Condition": { "StringEquals": { "iam:PassedToService": [ "service-principal" ], "iam:AssociatedResourceARN": [ "arn:aws:observabilityadmin:your-region:your-account-id:telemetry-pipeline/*" ] } } } ] }

Ganti service-principal dengan nilai dari tabel berikut berdasarkan kasus penggunaan Anda.

Kasus penggunaan Nilai pokok layanan
Third-party (Tarik API) telemetry-pipelines.observabilityadmin.amazonaws.com
Third-party (Pengiriman S3) telemetry-pipelines.observabilityadmin.amazonaws.com
Data kustom dari S3 telemetry-pipelines.observabilityadmin.amazonaws.com
Data kustom dari CloudWatch Log logs.amazonaws.com
Log AWS layanan yang dijual logs.amazonaws.com
catatan

ConditionBlok ini direkomendasikan tetapi opsional. Tanpa itu, peran dapat diteruskan ke layanan apa pun.

Izin aturan pipa (CloudWatch Hanya sumber log)

Saat digunakan cloudwatch_logs sebagai sumber, pemanggil API juga memerlukan izin untuk operasi aturan pipeline. Iz logs:PutPipelineRule in diperlukan untuk CreateTelemetryPipeline dan UpdateTelemetryPipeline operasi. Iz logs:DeletePipelineRule in diperlukan untuk DeleteTelemetryPipeline operasi.

contoh Kebijakan IAM untuk aturan pipeline CloudWatch Log
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PipelineRuleForCloudWatchLogs", "Effect": "Allow", "Action": [ "logs:PutPipelineRule", "logs:DeletePipelineRule" ], "Resource": "*" } ] }

Izin aturan pipa untuk sumber CloudWatch Metrik

Saat Anda menggunakan cloudwatch_metrics sebagai sumber, Anda memerlukan izin untuk operasi aturan pipeline. Untuk membuat atau memperbarui pipeline, berikan cloudwatch:PutPipelineRule izin. Untuk menghapus pipeline, berikan cloudwatch:DeletePipelineRule izin. Pipeline metrik tidak memerlukan iam:PassRole atau CloudWatch mencatat kebijakan sumber daya. Anda dapat menjangkau tindakan ini hingga ke dataset/default sumber daya.

contoh Kebijakan IAM untuk aturan pipeline CloudWatch metrik
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PipelineRuleForCloudWatchMetrics", "Effect": "Allow", "Action": [ "cloudwatch:PutPipelineRule", "cloudwatch:DeletePipelineRule" ], "Resource": "arn:aws:cloudwatch:your-region:your-account-id:dataset/default" } ] }

Mengurangi ruang lingkup dengan kunci kondisi

Kebijakan peran sumber

Setiap pipeline memerlukan peran IAM khusus yang diasumsikan oleh layanan untuk membaca data Anda. Subbagian berikut memberikan kebijakan lengkap (izin dan kepercayaan) untuk setiap kasus penggunaan.

Third-party sumber (API Pull)

Bagian ini berlaku untuk Microsoft Office 365, Microsoft Entra ID, Okta SSO, Palo Alto NGFW, dan integrasi API vendor lainnya yang menyimpan kredenSIAL di Secrets Manager. AWS

Kebijakan izin

Kebijakan berikut memungkinkan peran untuk mengambil kredenSIAL API yang tersimpan.

contoh Kebijakan IAM untuk sumber Manajer Rahasia
{ "Version": "2012-10-17", "Statement": [ { "Sid": "secrets-manager-access", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:your-region:your-account-id:secret:your-secret-name*" }, { "Sid": "kms-access", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:your-region:your-account-id:key/your-key-id" } ] }
catatan

Per kms:Decrypt nyataan ini hanya diperlukan jika rahasia Anda di Secrets Manager dienkripsi dengan kunci KMS yang dikelola pelanggan.

Kebijakan kepercayaan

contoh Kebijakan kepercayaan untuk sumber API Pull
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Penyiapan IAM lengkap untuk saluran API Pull

Contoh berikut menunjukkan semua kebijakan IAM yang diperlukan untuk membuat pipeline API Pull pihak ketiga dari ujung ke ujung.

Kebijakan identitas penelepon — lampirkan ke panggilan utama: CreateTelemetryPipeline

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateApiPullPipeline", "Effect": "Allow", "Action": [ "observabilityadmin:CreateTelemetryPipeline", "iam:PassRole" ], "Resource": "*" } ] }

Kebijakan izin peran sumber — lampirkan ke peran yang diasumsikan oleh pipeline:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerAccess", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:your-region:your-account-id:secret:your-secret-name*" } ] }

Kebijakan kepercayaan peran sumber:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
catatan

Setelah membuat pipeline, Anda juga harus membuat kebijakan sumber daya dalam waktu 5 menit. Lihat Kebijakan sumber daya.

catatan

Untuk penggunaan produksi, turunkan cakupan iam:PassRole dengan menggunakan tombol kondisi yang ditunjukkan padaIzin pemanggil API. Jika rahasia Anda menggunakan kunci KMS yang dikelola pelanggan, tambahkan kms:Decrypt ke kebijakan izin peran sumber.

Third-party sumber (pengiriman S3)

Bagian ini berlaku untuk vendor pihak ketiga mana pun yang mengirimkan file log ke bucket S3 Anda (misalnya, CrowdStrike Falcon, Wiz, atau Cisco Umbrella).

Kebijakan izin

Kebijakan berikut memungkinkan peran untuk membaca objek dari S3 dan menggunakan notifikasi SQS.

contoh Kebijakan IAM untuk sumber S3
{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3-access", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::your-bucket-name/*" }, { "Sid": "sqs-access", "Effect": "Allow", "Action": [ "sqs:ReceiveMessage", "sqs:DeleteMessage", "sqs:ChangeMessageVisibility" ], "Resource": "arn:aws:sqs:your-region:your-account-id:your-queue-name" }, { "Sid": "kms-access", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:your-region:your-account-id:key/your-key-id" } ] }
catatan

Per kms:Decrypt nyataan ini hanya diperlukan jika bucket S3 atau antrian SQS menggunakan kunci KMS yang dikelola pelanggan untuk enkripsi.

Kebijakan kepercayaan

contoh Kebijakan kepercayaan untuk sumber pengiriman S3
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Penyiapan IAM lengkap untuk saluran pengiriman S3

Contoh berikut menunjukkan semua kebijakan IAM yang diperlukan untuk membuat pipeline pengiriman S3 ujung ke ujung.

Kebijakan identitas penelepon — lampirkan ke panggilan utama: CreateTelemetryPipeline

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateS3Pipeline", "Effect": "Allow", "Action": [ "observabilityadmin:CreateTelemetryPipeline", "iam:PassRole" ], "Resource": "*" } ] }

Kebijakan izin peran sumber — lampirkan ke peran yang diasumsikan oleh pipeline:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3Access", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::your-bucket-name/*" }, { "Sid": "SqsAccess", "Effect": "Allow", "Action": [ "sqs:ReceiveMessage", "sqs:DeleteMessage", "sqs:ChangeMessageVisibility" ], "Resource": "arn:aws:sqs:your-region:your-account-id:your-queue-name" } ] }

Kebijakan kepercayaan peran sumber:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
catatan

Setelah membuat pipeline, Anda juga harus membuat kebijakan sumber daya dalam waktu 5 menit. Lihat Kebijakan sumber daya.

catatan

Untuk penggunaan produksi, turunkan cakupan iam:PassRole dengan menggunakan tombol kondisi yang ditunjukkan padaIzin pemanggil API. Jika bucket S3 atau antrian SQS menggunakan kunci KMS yang dikelola pelanggan, tambahkan kms:Decrypt ke kebijakan izin peran sumber.

Data kustom dari S3

Bagian ini berlaku untuk aplikasi atau infrastruktur Anda sendiri yang menulis file log ke bucket S3.

Pengaturan IAM identik Third-party sumber (pengiriman S3) dengan. Gunakan kebijakan izin dan kebijakan kepercayaan yang sama. Pipeline membaca dari bucket Anda melalui notifikasi peristiwa SQS terlepas dari siapa yang menulis data.

Data kustom dari CloudWatch Log

Bagian ini berlaku untuk aplikasi Anda sendiri yang masuk ke grup CloudWatch log Log (misalnya, fungsi Lambda, wadah ECS, atau aplikasi EC2 khusus).

Kebijakan izin

Kebijakan berikut memungkinkan peran untuk memproses log dari grup log yang Anda tentukan.

contoh Kebijakan IAM untuk sumber CloudWatch Log
{ "Version": "2012-10-17", "Statement": [ { "Sid": "logs-processing-access", "Effect": "Allow", "Action": [ "logs:processWithPipeline" ], "Resource": [ "arn:aws:logs:your-region:your-account-id:log-group:your-log-group-01", "arn:aws:logs:your-region:your-account-id:log-group:your-log-group-02" ] } ] }

Anda dapat mengurangi izin ini dengan menggunakan kunci logs:data_source_type kondisi logs:data_source_name dan untuk membatasi sumber pipeline mana yang dapat memanggil transformasi. logs:data_source_nameNilai sesuai dengan konfigurasi pipeline Anda, dan logs:data_source_type sesuai dengan konfigurasi pipeline Anda. data_source_name data_source_type

contoh Kebijakan izin untuk sumber CloudWatch Log (dicakup dengan kunci kondisi)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowProcessWithPipelineScopedDown", "Effect": "Allow", "Action": "logs:ProcessWithPipeline", "Resource": "arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name", "Condition": { "StringEquals": { "aws:ResourceAccount": "your-account-id", "logs:data_source_name": "your-source-name", "logs:data_source_type": "your-source-type" } } } ] }
catatan

Peran IAM untuk sumber CloudWatch Log memerlukan kebijakan kepercayaan (untuk memungkinkan logs.amazonaws.com untuk mengambil peran) dan kebijakan izin (untuk memberikanlogs:ProcessWithPipeline). Tanpa kedua kebijakan tersebut, CloudWatch pipeline tidak dapat mengubah peristiwa log selama penyerapan.

Kebijakan kepercayaan

contoh Kebijakan kepercayaan untuk sumber CloudWatch Log
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
catatan

Tidak ada kebijakan sumber daya yang diperlukan untuk CloudWatch pipeline sumber Log.

Penyiapan IAM lengkap untuk pipeline CloudWatch Logs

Contoh berikut menunjukkan semua kebijakan IAM yang diperlukan untuk membuat pipeline CloudWatch Logs ujung ke ujung.

Kebijakan identitas penelepon — lampirkan ke panggilan utama: CreateTelemetryPipeline

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateLogsPipeline", "Effect": "Allow", "Action": [ "observabilityadmin:CreateTelemetryPipeline", "logs:PutPipelineRule", "logs:DeletePipelineRule", "iam:PassRole" ], "Resource": "*" } ] }

Kebijakan izin peran sumber — lampirkan ke peran yang diasumsikan oleh pipeline:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "LogsProcessing", "Effect": "Allow", "Action": [ "logs:processWithPipeline" ], "Resource": [ "arn:aws:logs:your-region:your-account-id:log-group:your-log-group" ] } ] }

Kebijakan kepercayaan peran sumber:

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

Untuk penggunaan produksi, turunkan cakupan iam:PassRole dengan menggunakan tombol kondisi yang ditunjukkan padaIzin pemanggil API.

Dijual AWS log layanan

Bagian ini berlaku untuk log AWS layanan yang dikirimkan ke CloudWatch Log, seperti Log Aliran VPC, log kueri Route 53, dan jenis log yang AWS dijual lainnya.

Pengaturan IAM identik Data kustom dari CloudWatch Log dengan. Gunakan kebijakan izin yang sama (logs:processWithPipelinedicakup ke grup log) dan kebijakan kepercayaan yang sama (logs.amazonaws.com).

Karena ini menggunakan tipe cloudwatch_logs sumber, penelepon juga membutuhkan logs:PutPipelineRule dan logs:DeletePipelineRule izin. Lihat Izin aturan pipa (CloudWatch Hanya sumber log).

Kebijakan sumber daya

CloudWatch Kebijakan sumber daya log diperlukan untuk S3-based sumber dan Manager-based sumber Rahasia (integrasi pihak ketiga). Kebijakan sumber daya tidak diperlukan untuk sumber CloudWatch Log (data khusus atau log yang dijual).

Setelah menelep CreateTelemetryPipeline on, Anda menerima ARN pipa. Anda kemudian harus memanggil logs:PutResourcePolicy untuk mengiz CloudWatch inkan prinsipal layanan pipeline menulis ke grup log yang dikonfigurasi.

Kendala waktu

Anda memiliki waktu kurang dari 5 menit setelah menerima ARN pipeline untuk membuat kebijakan sumber daya ini. Jika alur menjadi aktif sebelum kebijakan diberlakukan, data akan dihapus.

contoh log: PutResourcePolicy permintaan
{ "policyName": "resourceArn=arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*", "policyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com" }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:observabilityadmin:your-region:your-account-id:telemetry-pipeline/your-pipeline-id" } } } ] } }

Mengelola kebijakan sumber daya

Gunakan AWS CLI untuk membuat atau memperbarui kebijakan sumber daya CloudWatch Log untuk CloudWatch pipeline.

Untuk memeriksa kebijakan yang ada

aws logs describe-resource-policies \ --resource-arn arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*

Untuk membuat kebijakan baru

aws logs put-resource-policy \ --region your-region \ --policy-name "resourceArn=arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*" \ --policy-document file://policy.json

Untuk menggabungkan dengan kebijakan yang ada

Jika kebijakan sumber daya sudah ada, tambahkan pernyataan baru ke Statement array yang ada di dokumen kebijakan, lalu panggil put-resource-policy lagi dengan file gabungan.

  1. Ambil kebijakan yang ada:

    aws logs describe-resource-policies \ --resource-arn arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*
  2. Tambahkan pernyataan baru ke Statement array yang ada:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "existing-service.amazonaws.com" }, "Action": [ "logs:SomeAction" ] }, { "Effect": "Allow", "Principal": { "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com" }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:observabilityadmin:your-region:your-account-id:telemetry-pipeline/your-pipeline-id" } } } ] }
  3. Perbarui kebijakan:

    aws logs put-resource-policy \ --region your-region \ --policy-name "resourceArn=arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*" \ --policy-document file://existing-policy.json

Konfirmasikan kebijakan telah berhasil dibuat atau diperbarui:

aws logs describe-resource-policies \ --resource-arn arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*

Ganti placeholder berikut:

  • your-region— Wil AWS ayah Anda (misalnya, us-east-1)

  • your-account-id— ID AWS akun 12 digit Anda

  • your-log-group-name— Nama grup CloudWatch log log Anda

  • your-pipeline-id— ID pipa telemetri Anda (dikembalikan olehCreateTelemetryPipeline)

Kunci kondisi pipa

CloudWatch pipeline mendukung kunci kondisi IAM yang memungkinkan Anda membatasi siapa yang dapat membuat pipeline berdasarkan nama dan jenis sumber. Gunakan kunci kondisi ini untuk menerapkan kebijakan tata kelola di seluruh organisasi Anda.

Kunci kondisi yang tersedia
observabilityadmin:SourceName

Membatasi pembuatan pipeline ke nama sumber tertentu. Berlaku untuk saluran pipa log saja.

observabilityadmin:SourceType

Membatasi pembuatan pipeline ke jenis sumber tertentu.

Gunakan kunci kondisi ini dalam kebijakan identitas untuk mengontrol pipeline mana yang dapat dibuat oleh kepala sekolah.

observabilityadmin:SourceType

Membatasi pembuatan pipeline ke jenis sumber tertentu. Nilai yang didukung termasukcloudwatch_logs,s3,microsoft_office365,okta_sso, danpalo_alto_ngfw.

contoh Batasi pembuatan pipeline berdasarkan jenis sumber
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPipelineCreationForSpecificSourceType", "Effect": "Allow", "Action": "observabilityadmin:CreateTelemetryPipeline", "Resource": "*", "Condition": { "StringEquals": { "observabilityadmin:SourceType": "cloudwatch_logs" } } } ] }

Kondisi kebijakan kepercayaan peran sumber

Gunakan kunci kondisi ini dalam kebijakan kepercayaan peran sumber Anda untuk membatasi akun mana yang dapat mengambil peran tersebut. Ini mencegah serangan wakil yang membingungkan di mana layanan mungkin bertindak atas nama akun yang berbeda.

aws:SourceAccount

Membatasi asumsi peran untuk permintaan yang berasal dari AWS akun tertentu.

aws:SourceArn

Membatasi asumsi peran untuk permintaan yang berasal dari sumber daya tertentu ARN (misalnya, grup log).

contoh Kebijakan kepercayaan dengan SourceAccount kondisi (Sumber CloudWatch log)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "your-account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:logs:your-region:your-account-id:log-group:*" } } } ] }

AI-assisted izin konfigurasi prosesor

Untuk menggunakan konfigurasi AI-assisted prosesor di konsol CloudWatch pipeline, prinsipal IAM harus memiliki logs:GeneratePipeline izin. Izin ini mengizinkan pembuatan konfigurasi prosesor dari deskripsi bahasa alami.

contoh Kebijakan IAM untuk konfigurasi AI-assisted prosesor
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGeneratePipeline", "Effect": "Allow", "Action": "logs:GeneratePipeline", "Resource": "*" } ] }