Menggunakan Kebijakan Berbasis Identitas (IAM Policy) untuk CloudWatch Logs - CloudWatch Log Amazon

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

Menggunakan Kebijakan Berbasis Identitas (IAM Policy) untuk CloudWatch Logs

Topik ini memberikan contoh kebijakan berbasis identitas tempat administrator akun dapat melampirkan kebijakan izin ke identitas IAM (yaitu, pengguna, grup, dan peran).

penting

Kami menyarankan Anda untuk terlebih dahulu meninjau topik pendahuluan yang menjelaskan konsep dasar dan pilihan yang tersedia untuk mengelola akses ke sumber daya CloudWatch Logs Anda. Untuk informasi selengkapnya, lihat Gambaran Umum pengelolaan izin akses untuk sumber dayaCloudWatch Logs Anda.

Topik ini mencakup hal-hal berikut:

Berikut ini adalah contoh kebijakan izin:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }

Kebijakan ini memiliki satu pernyataan yang memberikan izin untuk membuat grup log dan pengaliran log, untuk mengunggah log acara ke pengaliran log, dan daftar detail tentang pengaliran log.

Karakter wildcard (*) di akhir nilai Resource berarti bahwa pernyataan memungkinkan izin untuk tindakan logs:CreateLogGroup, logs:CreateLogStream, logs:PutLogEvents, dan logs:DescribeLogStreams di setiap grup log. Untuk membatasi izin ini ke grup log tertentu, ganti karakter wildcard (*) di ARN sumber daya dengan ARN grup log tertentu. Untuk informasi selengkapnya tentang bagian-bagian dalam pernyataan kebijakan IAM, lihat Referensi Elemen Kebijakan IAM dalam Panduan Pengguna IAM. Untuk daftar yang menampilkan semua tindakan CloudWatch Logs, lihatCloudWatch Referensi izin Logs.

Izin yang Diperlukan untuk Menggunakan CloudWatch Konsol

Agar pengguna dapat bekerja dengan CloudWatch Logs di CloudWatch konsol, pengguna harus memiliki seperangkat izin minimum yang memungkinkan pengguna untuk menjelaskanAWS sumber daya lainnya diAWS akun mereka. Untuk menggunakan CloudWatch Logs di CloudWatch konsol, Anda harus memiliki izin dari layanan berikut:

  • CloudWatch

  • CloudWatch Log

  • OpenSearch Layanan

  • IAM

  • Kinesis

  • Lambda

  • Amazon S3

Jika Anda membuat kebijakan IAM yang lebih ketat dari izin minimum yang diperlukan, konsol tidak akan berfungsi sebagaimana dimaksudkan untuk pengguna dengan kebijakan IAM tersebut. Untuk memastikan bahwa pengguna tersebut masih dapat menggunakan CloudWatch konsol, lampirkan juga kebijakanCloudWatchReadOnlyAccess terkelola ke pengguna, sebagaimana dijelaskan dalamAWSKebijakan yang dikelola (ditentukan sebelumnya) untuk CloudWatch Logs.

Anda tidak perlu mengizinkan konsol minimum untuk pengguna yang melakukan panggilan hanya keAWS CLI atau API CloudWatch Logs.

Seperangkat izin lengkap yang diperlukan untuk bekerja dengan CloudWatch konsol bagi pengguna yang tidak menggunakan konsol untuk mengelola langganan log adalah:

  • jam awan:getMetricData

  • cloudwatch:listMetrics

  • log:cancelExportTask

  • log:createExportTask

  • log:createLogGroup

  • log:createLogStream

  • log:deleteLogGroup

  • log:deleteLogStream

  • log:deleteMetricFilter

  • log:deleteQueryDefinition

  • log:deleteRetentionPolicy

  • log:deleteSubscriptionFilter

  • log:describeExportTasks

  • log:describeLogGroups

  • log:describeLogStreams

  • log:describeMetricFilters

  • log:describeQueryDefinitions

  • log:describeSubscriptionFilters

  • log:filterLogEvents

  • log:getLogEvents

  • log:putMetricFilter

  • log:putQueryDefinition

  • log:putRetentionPolicy

  • log:putSubscriptionFilter

  • log:testMetricFilter

Untuk pengguna yang juga akan menggunakan konsol untuk mengelola langganan log, izin berikut juga diperlukan:

  • es:describeElasticsearchDomain

  • es:listDomainNames

  • iam:attachRolePolicy

  • iam:createRole

  • iam:getPolicy

  • iam:getPolicyVersion

  • iam:getRole

  • iam:listAttachedRole Kebijakan

  • iam:listRoles

  • kinesis:describeStreams

  • kinesis:listStreams

  • lambda:addPermission

  • lambda:createFunction

  • lambda:getFunctionConfiguration

  • lambda:listAliases

  • lambda:listFunctions

  • lambda:listVersionsBy Fungsi

  • lambda:removePermission

  • s3:listBuckets

AWSKebijakan yang dikelola (ditentukan sebelumnya) untuk CloudWatch Logs

AWS menangani banyak kasus penggunaan umum dengan menyediakan kebijakan IAM mandiri yang dibuat dan dikelola oleh AWS. Kebijakan terkelola memberikan izin yang diperlukan untuk kasus penggunaan umum sehingga Anda tidak perlu menyelidiki izin apa yang diperlukan. Untuk informasi selengkapnya, lihat Kebijakan Terkelola AWS dalam Panduan Pengguna IAM.

KebijakanAWS terkelola berikut ini, yang dapat Anda lampirkan ke pengguna dan peran di akun Anda, khusus untuk CloudWatch Log:

  • CloudWatchLogsFullAccess- Memberikan akses penuh ke CloudWatch Log.

  • CloudWatchLogsReadOnlyAccess— Memberikan akses hanya-baca keCloudWatch Logs.

CloudWatchLogsFullAccess

CloudWatchLogsFullAccessKebijakan tersebut memberikan akses penuh keCloudWatch Logs. Isinya adalah sebagai berikut:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:*" ], "Effect": "Allow", "Resource": "*" } ] }

CloudWatchLogsReadOnlyAccess

CloudWatchLogsReadOnlyAccessKebijakan tersebut memberikan akses hanya-baca keCloudWatch Logs. Isinya adalah sebagai berikut:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:Describe*", "logs:Get*", "logs:List*", "logs:StartQuery", "logs:StopQuery", "logs:TestMetricFilter", "logs:FilterLogEvents" ], "Resource": "*" } ] }

Contoh kebijakan yang dikelola pelanggan

Anda dapat membuat kebijakan IAM khusus Anda sendiri untuk memberikan izin bagi tindakan dan sumber daya CloudWatch Logs. Anda dapat melampirkan kebijakan kustom ini ke pengguna IAM atau grup yang memerlukan izin tersebut.

Dalam bagian ini, Anda dapat menemukan contoh kebijakan pengguna yang memberikan izin untuk berbagai tindakanCloudWatch Logs. Kebijakan ini berlaku saat Anda menggunakan API CloudWatch Logs,AWS SDK, atauAWS CLI.

Contoh 1: Mengizinkan akses penuh ke CloudWatch Logs

Kebijakan berikut mengizinkan pengguna mengakses semua tindakan CloudWatch Logs.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:*" ], "Effect": "Allow", "Resource": "*" } ] }

Contoh 2: Mengizinkan akses hanya-baca ke CloudWatch Logs

AWSmenyediakan CloudWatchLogsReadOnlyAccesskebijakan yang mengaktifkan akses hanya-baca ke data CloudWatch Logs. Kebijakan ini mencakup izin berikut.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:Describe*", "logs:Get*", "logs:List*", "logs:StartQuery", "logs:StopQuery", "logs:TestMetricFilter", "logs:FilterLogEvents" ], "Effect": "Allow", "Resource": "*" } ] }

Contoh 3: Izinkan akses ke satu grup log

Kebijakan berikut mengizinkan pengguna untuk membaca dan menulis log acara dalam satu grup log tertentu.

penting

:*Pada akhir nama grup log diResource baris diperlukan untuk menunjukkan bahwa kebijakan tersebut berlaku untuk semua aliran log dalam grup log ini. Jika Anda menghilangkan:*, kebijakan tidak akan diberlakukan.

{ "Version":"2012-10-17", "Statement":[ { "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents", "logs:GetLogEvents" ], "Effect": "Allow", "Resource": "arn:aws:logs:us-west-2:123456789012:log-group:SampleLogGroupName:*" } ] }

Menggunakan penandaan dan kebijakan IAM untuk mengendalikan di tingkat grup log

Anda dapat memberi pengguna akses ke grup log tertentu serta mencegah mereka mengakses grup log lainnya. Untuk melakukannya, beri tanda grup log Anda dan gunakan kebijakan IAM yang merujuk ke tanda tersebut. Untuk menerapkan tag ke grup log, Anda harus memilikilogs:TagLogGroup izinlogs:TagResource atau. Ini berlaku baik jika Anda menetapkan tag ke grup log saat Anda menciptakannya. atau menugaskannya nanti.

Untuk informasi selengkapnya tentang penandaan grup log, lihat Grup log tag di Amazon CloudWatch Logs.

Ketika Anda menandai grup log, Anda kemudian dapat memberikan kebijakan IAM kepada pengguna untuk mengizinkan akses hanya ke grup log dengan tanda tertentu. Sebagai contoh, pernyataan kebijakan berikut ini memberikan akses ke hanya grup log dengan nilai Green untuk kunci tanda Team.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:*" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringLike": { "aws:ResourceTag/Team": "Green" } } } ] }

Untuk informasi selengkapnya tentang menggunakan pernyataan kebijakan IAM, lihat Mengendalikan Akses Menggunakan Kebijakan dalam Panduan Pengguna IAM.