Contoh kebijakan RAM umum untuk memberikan akses terperinci ke resource Log Service.
Dalam kebijakan, istilah Logstore juga mengacu pada Metricstore. Semua kebijakan dalam topik ini berlaku untuk keduanya.
Ikuti prinsip hak istimewa minimal (PoLP): berikan hanya izin minimum yang dibutuhkan oleh Pengguna RAM. Pada minimum, sebagian besar pengguna memerlukan akses read-only ke daftar project — tanpa itu, daftar project tidak akan terlihat. Untuk informasi selengkapnya, lihat kebijakan sistem dan Buat kebijakan kustom.
Contoh kebijakan
Izin tampilan daftar Project
Memberikan izin kepada Pengguna RAM untuk melihat daftar project.
Aksi log:ListProject berlaku untuk semua project (project/*), sehingga Pengguna RAM dapat melihat setiap project dalam akun tersebut.
{
"Version": "1",
"Statement": [
{
"Action": [
"log:ListProject"
],
"Resource": [
"acs:log:*:*:project/*"
],
"Effect": "Allow"
}
]
}
Izin read-only Project
Memberikan izin kepada Pengguna RAM untuk melihat daftar project dan membaca semua resource dalam project tertentu.
Izin read-only Project tidak mencakup akses ke data log dalam project tersebut. Untuk membaca log, berikan juga izin read-only pada Logstore.
Pernyataan pertama mencakup daftar project. Pernyataan kedua mencakup semua resource dalam project tertentu menggunakan log:Get dan log:List. Kedua jalur sumber daya diperlukan: root project (project/<your-project-name>) dan semua sub-resource (project/<your-project-name>/*).
{
"Version": "1",
"Statement": [
{
"Action": ["log:ListProject"],
"Resource": ["acs:log:*:*:project/*"],
"Effect": "Allow"
},
{
"Action": [
"log:Get*",
"log:List*"
],
"Resource": [
"acs:log:*:*:project/<your-project-name>/*",
"acs:log:*:*:project/<your-project-name>"
],
"Effect": "Allow"
}
]
}
Izin read-only Logstore dan manajemen saved search
Memberikan izin kepada Pengguna RAM untuk melihat daftar project, membaca Logstore tertentu, serta membuat dan mengelola saved search.
Kebijakan ini berisi lima pernyataan, masing-masing menargetkan jenis resource berbeda: daftar project, semua Logstore dalam project (untuk enumerasi), Logstore tertentu (untuk akses data), dashboard (read-only), dan saved search (baca dan buat).
{
"Version": "1",
"Statement": [
{
"Action": [
"log:ListProject"
],
"Resource": "acs:log:*:*:project/*",
"Effect": "Allow"
},
{
"Action": [
"log:List*"
],
"Resource": "acs:log:*:*:project/<your-project-name>/logstore/*",
"Effect": "Allow"
},
{
"Action": [
"log:Get*",
"log:List*"
],
"Resource": [
"acs:log:*:*:project/<your-project-name>/logstore/<your-logstore-name>"
],
"Effect": "Allow"
},
{
"Action": [
"log:List*"
],
"Resource": [
"acs:log:*:*:project/<your-project-name>/dashboard",
"acs:log:*:*:project/<your-project-name>/dashboard/*"
],
"Effect": "Allow"
},
{
"Action": [
"log:Get*",
"log:List*",
"log:Create*"
],
"Resource": [
"acs:log:*:*:project/<your-project-name>/savedsearch",
"acs:log:*:*:project/<your-project-name>/savedsearch/*"
],
"Effect": "Allow"
}
]
}
Izin read-only pada Logstore tertentu serta semua saved search dan dashboard dalam sebuah project
Memberikan izin kepada Pengguna RAM untuk melihat daftar project, membaca Logstore tertentu, serta melihat semua saved search dan dashboard dalam project yang sama dengan Logstore tersebut.
Pernyataan 3 hingga 5 menggunakan log:Get dan log:List, sedangkan pernyataan 1 dan 2 hanya menggunakan aksi bertipe list (log:ListProject dan log:List). Berbeda dengan contoh sebelumnya, dashboard dan saved search di sini juga bersifat read-only — log:Create tidak disertakan untuk saved search.
{
"Version": "1",
"Statement": [
{
"Action": [
"log:ListProject"
],
"Resource": "acs:log:*:*:project/*",
"Effect": "Allow"
},
{
"Action": [
"log:List*"
],
"Resource": "acs:log:*:*:project/<your-project-name>/logstore/*",
"Effect": "Allow"
},
{
"Action": [
"log:Get*",
"log:List*"
],
"Resource": [
"acs:log:*:*:project/<your-project-name>/logstore/<your-logstore-name>"
],
"Effect": "Allow"
},
{
"Action": [
"log:Get*",
"log:List*"
],
"Resource": [
"acs:log:*:*:project/<your-project-name>/dashboard",
"acs:log:*:*:project/<your-project-name>/dashboard/*"
],
"Effect": "Allow"
},
{
"Action": [
"log:Get*",
"log:List*"
],
"Resource": [
"acs:log:*:*:project/<your-project-name>/savedsearch",
"acs:log:*:*:project/<your-project-name>/savedsearch/*"
],
"Effect": "Allow"
}
]
}
Izin menulis Project
Memberikan izin menulis kepada Pengguna RAM pada project tertentu. Tidak mencakup izin untuk operasi lain seperti mengkueri data.
{
"Version": "1",
"Statement": [
{
"Action": [
"log:Post*"
],
"Resource": "acs:log:*:*:project/<your-project-name>/*",
"Effect": "Allow"
}
]
}
Izin menulis Logstore
Memberikan izin menulis kepada Pengguna RAM pada Logstore tertentu. Tidak mencakup izin untuk operasi lain seperti mengkueri data.
{
"Version":"1",
"Statement":[
{
"Effect":"Allow",
"Action":[
"log:PostLogStoreLogs"
],
"Resource":[
"acs:log:*:*:project/<your-project-name>/logstore/<your-logstore-name>"
]
}
]
}
Izin penggunaan Project
Memberikan izin consume kepada Pengguna RAM pada project tertentu. Tidak mencakup izin untuk operasi lain seperti menulis atau mengkueri data.
{
"Version": "1",
"Statement": [
{
"Action": [
"log:ListShards",
"log:GetCursorOrData",
"log:GetConsumerGroupCheckPoint",
"log:UpdateConsumerGroup",
"log:ConsumerGroupHeartBeat",
"log:ConsumerGroupUpdateCheckPoint",
"log:ListConsumerGroup",
"log:CreateConsumerGroup"
],
"Resource": "acs:log:*:*:project/<your-project-name>/*",
"Effect": "Allow"
}
]
}
Izin consume Logstore
Memberikan izin consume kepada Pengguna RAM pada Logstore tertentu. Tidak mencakup izin untuk operasi lain seperti menulis atau mengkueri data.
{
"Version": "1",
"Statement": [
{
"Action": [
"log:ListShards",
"log:GetCursorOrData",
"log:GetConsumerGroupCheckPoint",
"log:UpdateConsumerGroup",
"log:ConsumerGroupHeartBeat",
"log:ConsumerGroupUpdateCheckPoint",
"log:ListConsumerGroup",
"log:CreateConsumerGroup"
],
"Resource": [
"acs:log:*:*:project/<your-project-name>/logstore/<your-logstore-name>",
"acs:log:*:*:project/<your-project-name>/logstore/<your-logstore-name>/*"
],
"Effect": "Allow"
}
]
}
Terapkan Enkripsi Logstore
Setelah kebijakan ini disambungkan ke Pengguna RAM, pengguna harus menentukan konfigurasi enkripsi saat membuat atau mengubah Logstore.
Tentukan nama project dan nama Logstore secara eksplisit, atau gunakan tanda bintang (*) sebagai wildcard.
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"log:CreateLogStore",
"log:UpdateLogStore"
],
"Resource": [
"acs:log:*:*:project/<your-project-name>/logstore/<your-logstore-name>",
"acs:log:*:*:project/<your-project-name>/logstore/*"
],
"Condition": {
"Bool": {
"log:Encrypted": "true"
}
}
}
]
}
Izin untuk aplikasi log
Berikan izin berikut kepada Pengguna RAM atau role saat menggunakan aplikasi atau fitur log berikut:
Common Database Audit
Mobile O&M Monitoring
Flow Log Center
Log Analysis for AWS CloudTrail
SREWorks
General Host Audit
Intelligent Anomaly Analysis
Custom dashboards
Dashboard playlists
Kebijakan berikut menyediakan izin yang diperlukan untuk aplikasi log.
-
Izin read-only
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "log:GetResource", "log:ListResources", "log:GetResourceRecord", "log:ListResourceRecords" ], "Resource": [ "acs:log:*:*:resource/*" ] } ] } -
Izin manajemen
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "log:*" ], "Resource": [ "acs:log:*:*:resource/*" ] } ] }
Lihat juga
Untuk daftar aksi dan resource yang didukung oleh Log Service, lihat aturan otorisasi.