View a markdown version of this page

CloudWatch jalur pipa kebijakan dan izin IAM - Amazon CloudWatch

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

CloudWatch jalur pipa kebijakan dan izin IAM

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 kredensyal yang disimpan microsoft_office365, okta_sso, palo_alto_ngfw, dll. 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, pembacaan pipeline 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 + Menjual AWS log layanan
catatan

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

Izin pemanggil API

Prinsipal IAM yang memanggil CreateTelemetryPipeline memerlukan iam:PassRole izin untuk peran apa pun yang direferensikan 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 utama 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 (Hanya sumber CloudWatch Log)

Saat menggunakan cloudwatch_logs sebagai sumber, pemanggil API juga memerlukan izin untuk operasi aturan pipeline. logs:PutPipelineRuleIzin diperlukan untuk CreateTelemetryPipeline dan UpdateTelemetryPipeline operasi. logs:DeletePipelineRuleIzin diperlukan untuk DeleteTelemetryPipeline operasi.

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

Kebijakan peran sumber

Setiap pipeline memerlukan peran IAM khusus yang diasumsikan 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 kredensional di Secrets Manager. AWS

Kebijakan izin

Kebijakan berikut memungkinkan peran untuk mengambil kredenal API tersimpan Anda.

contoh Kebijakan IAM untuk sumber Secrets Manager
{ "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

kms:DecryptPernyataan 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 pipeline 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 CreateTelemetryPipeline utama:

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

Kebijakan izin peran sumber — lampirkan ke peran yang diasumsikan 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 5 menit. Lihat Kebijakan sumber daya.

catatan

Untuk penggunaan produksi, lingkup ke bawah 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 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

kms:DecryptPernyataan ini hanya diperlukan jika bucket S3 atau antrean SQS Anda 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" } ] }

Pengaturan IAM lengkap untuk jaringan pipa pengiriman S3

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

Kebijakan identitas penelepon - lampirkan ke panggilan CreateTelemetryPipeline utama:

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

Kebijakan izin peran sumber — lampirkan ke peran yang diasumsikan 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 5 menit. Lihat Kebijakan sumber daya.

catatan

Untuk penggunaan produksi, lingkup ke bawah iam:PassRole dengan menggunakan tombol kondisi yang ditunjukkan padaIzin pemanggil API. Jika bucket S3 atau antrean SQS Anda 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 dengan. Third-party sumber (pengiriman S3) Gunakan kebijakan izin dan kebijakan kepercayaan yang sama. Pipeline membaca dari bucket Anda melalui notifikasi acara 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 kustom).

Kebijakan izin

Kebijakan berikut memungkinkan peran 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 mencatat 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 konsumsi.

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 diperlukan kebijakan sumber daya untuk saluran pipa sumber CloudWatch Log.

Penyiapan IAM lengkap untuk saluran pipa CloudWatch Log

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

Kebijakan identitas penelepon - lampirkan ke panggilan CreateTelemetryPipeline utama:

{ "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 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, lingkup ke bawah iam:PassRole dengan menggunakan tombol kondisi yang ditunjukkan padaIzin pemanggil API.

Menjual 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 AWS penjual lainnya.

Pengaturan IAM identik dengan. Data kustom dari CloudWatch Log 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, pemanggil juga membutuhkan logs:PutPipelineRule dan logs:DeletePipelineRule izin. Lihat Izin aturan pipa (Hanya sumber CloudWatch 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 penjual).

Setelah meneleponCreateTelemetryPipeline, Anda menerima ARN pipa. Anda kemudian harus menelepon logs:PutResourcePolicy untuk mengizinkan prinsipal layanan CloudWatch pipeline untuk 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 saluran pipa.

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 bergabung 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 bahwa kebijakan telah dibuat atau diperbarui dengan sukses:

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— AWS Wilayah Anda (misalnya, us-east-1)

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

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

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

Kunci kondisi pipa

CloudWatch pipelines mendukung kunci kondisi IAM yang memungkinkan Anda membatasi siapa yang dapat membuat pipeline dan akun mana yang dapat mengambil peran sumber. Gunakan kunci kondisi ini untuk menegakkan kebijakan tata kelola di seluruh organisasi Anda.

CreateTelemetryPipeline kondisi

Gunakan kunci kondisi ini dalam kebijakan identitas untuk mengontrol saluran pipa mana yang dapat dibuat oleh prinsipal.

observabilityadmin:SourceType

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

contoh Batasi pembuatan pipa 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 akun tertentu. AWS

aws:SourceArn

Membatasi asumsi peran untuk permintaan yang berasal dari ARN sumber daya tertentu (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 pipelines, prinsipal IAM harus memiliki izin. logs:GeneratePipeline 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": "*" } ] }