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 terperinci untuk CloudWatch pipeline, termasuk izin untuk pemanggil API, kebijakan khusus sumber, hubungan kepercayaan, dan kebijakan sumber daya.
Izin pemanggil API
Setiap peran yang ditentukan dalam konfigurasi pipeline yang memanggil CreateTelemetryPipeline API (seperti peran sumber S3, peran akses Secrets Manager, atau peran sumber CloudWatch Log) harus memiliki izin khusus untuk meneruskan peran.
PassRole izin
Diperlukan untuk setiap peran yang ditentukan dalam konfigurasi pipeline (peran sumber S3, peran akses Secrets Manager, atau peran sumber CloudWatch Log).
contoh Kebijakan IAM untuk sumber S3
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForS3Source", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::your-account-id:role/your-s3-source-role" } ] }
contoh Kebijakan IAM untuk sumber Secrets Manager
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForSecretsManagerSource", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::your-account-id:role/your-secrets-manager-role" } ] }
contoh Kebijakan IAM untuk Sumber CloudWatch Log
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForCloudWatchLogsSource", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::your-account-id:role/your-cloudwatch-logs-role"" } ] }
Izin aturan pipa
Saat menggunakan cloudwatch_logs sumber untuk Create/Update operasi (logs:PutPipelineRule) dan Hapus operasi (logs:DeletePipelineRule) peran juga harus memiliki izin untuk melakukan operasi tersebut.
contoh Kebijakan IAM untuk aturan pipa CloudWatch Log
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PipelineRuleForCloudWatchLogs", "Effect": "Allow", "Action": [ "logs:PutPipelineRule", "logs:DeletePipelineRule" ], "Resource": "*" } ] }
Mengurangi ruang lingkup dengan tombol kondisi
Untuk mencakupkan kebijakan izin ke pipeline telemetri, Anda dapat menentukan Kunci Kondisi seperti yang ditunjukkan pada contoh berikut:
contoh Kebijakan IAM untuk sumber S3 (dasar)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForS3Source", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::your-account-id:role/your-s3-source-role" } ] }
contoh Kebijakan IAM untuk sumber S3 (dicakup dengan kunci kondisi)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForS3Source", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::your-account-id:role/your-s3-source-role", "Condition": { "StringEquals": { "iam:PassedToService": [ "telemetry-pipelines.observabilityadmin.amazonaws.com" ], "iam:AssociatedResourceARN": [ "arn:aws:observabilityadmin:your-region:your-account-id:telemetry-pipeline/*" ] } } } ] }
contoh Kebijakan IAM untuk sumber Secrets Manager (dasar)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForSecretsManagerSource", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::your-account-id:role/your-secrets-manager-role" } ] }
contoh Kebijakan IAM untuk sumber Secrets Manager (dicakup dengan tombol kondisi)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForSecretsManagerSource", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::your-account-id:role/your-secrets-manager-role", "Condition": { "StringEquals": { "iam:PassedToService": [ "telemetry-pipelines.observabilityadmin.amazonaws.com" ], "iam:AssociatedResourceARN": [ "arn:aws:observabilityadmin:your-region:your-account-id:telemetry-pipeline/*" ] } } } ] }
contoh Kebijakan IAM untuk sumber CloudWatch Log (dicakup dengan kunci kondisi)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForCloudWatchLogsSource", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::your-account-id:role/your-cloudwatch-logs-role", "Condition": { "StringEquals": { "iam:PassedToService": [ "logs.amazonaws.com" ], "iam:AssociatedResourceARN": [ "arn:aws:observabilityadmin:your-region:your-account-id:telemetry-pipeline/*" ] } } } ] }
Kebijakan IAM khusus sumber
Jenis sumber yang berbeda memerlukan izin IAM khusus untuk mengakses sumber data masing-masing.
CloudWatch Sumber log
Untuk sumber CloudWatch Log, peran IAM apa pun yang ditentukan dalam konfigurasi pipeline harus memiliki hubungan kepercayaan denganlogs.amazonaws.com.
contoh Kebijakan kepercayaan peran IAM untuk sumber CloudWatch Log (dasar)
{ "Version": "2012-10-17", "Statement": [ { ""Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Sumber S3
Untuk sumber S3, pelanggan harus memberikan peran IAM dengan izin untuk mengakses objek S3 dan antrian 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", "Condition": { "Comment": "Only required if S3 buckets and/or SQS queue uses KMS encryption" } } ] }
Sumber menggunakan AWS Secrets Manager
Untuk sumber yang mereferensikan AWS Secrets Manager (Microsoft Office 365, Microsoft Entra ID, Palo Alto NGFW), pelanggan harus memberikan peran IAM dengan akses Secrets Manager.
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", "Condition": { "Comment": "Only required if Secrets Manager uses KMS encryption" } } ] }
Hubungan kepercayaan
Setiap peran IAM yang ditentukan dalam konfigurasi pipeline harus memiliki hubungan kepercayaan dengan prinsipal layanan CloudWatch pipeline.
Kebijakan kepercayaan peran saluran pipa
Semua peran pipeline harus mempercayai prinsipal telemetry-pipelines.observabilityadmin.amazonaws.com layanan.
contoh Kebijakan kepercayaan untuk peran pipeline
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Kebijakan sumber daya
CloudWatch Kebijakan sumber daya log diperlukan untuk saluran pipa yang menulis ke grup log, kecuali untuk saluran pipa yang menggunakan sumber. cloudwatch_logs
CloudWatch Kebijakan sumber daya log
Setelah memanggil CreateTelemetryPipeline API, Anda akan menerima ARN pipeline. Untuk saluran pipa di mana sumbernya tidakcloudwatch_logs, pelanggan harus menelepon logs:PutResourcePolicy untuk mengizinkan prinsipal layanan CloudWatch pipeline menulis ke grup log yang dikonfigurasi.
Kendala waktu
Anda memiliki jendela waktu terbatas (kurang dari 5 menit) untuk membuat kebijakan sumber daya setelah menerima ARN pipeline. Jika pipeline menjadi aktif sebelum kebijakan diberlakukan, data akan dijatuhkan.
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
Panduan ini menyediakan langkah-langkah untuk membuat atau memperbarui kebijakan sumber daya CloudWatch Log untuk pipeline telemetri menggunakan CLI. AWS
Periksa kebijakan yang ada:
aws logs describe-resource-policies --resource-arn arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*
Ini mengembalikan semua kebijakan sumber daya yang ada yang dilampirkan ke grup log. Cari kebijakan apa pun yang mungkin sudah dikaitkan dengan grup log Anda.
Jika tidak ada kebijakan sumber daya, buat yang 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 '{ "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" } } } ] }'
Ganti placeholder berikut:
-
your-region- AWS Wilayah Anda (mis., 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
Jika kebijakan sumber daya sudah ada, gabungkan pernyataan baru dengannya:
-
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:* -
Buka
existing-policy.jsondan tambahkan pernyataan baru keStatementarray 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" } } } ] } -
Perbarui kebijakan:
aws logs put-resource-policy \ --regionyour-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:*