Topik ini memberikan contoh penggunaan kebijakan kustom untuk memberikan izin kepada pengguna Resource Access Management (RAM).
Saat membuat kebijakan, Anda dapat menentukan Logstore atau Metricstore setelah kata kunci logstore. Jika ingin mengelola Metricstore, kebijakan berikut juga berlaku.
Untuk alasan keamanan, disarankan mengikuti prinsip hak istimewa minimal (PoLP) saat memberikan izin kepada pengguna RAM. Dalam banyak kasus, Anda harus memberikan izin baca-saja pada daftar proyek agar pengguna RAM dapat melihat proyek dalam daftar tersebut. Untuk informasi lebih lanjut, lihat Lampirkan Kebijakan Sistem ke Pengguna RAM dan Buat Kebijakan Kustom.
Contoh kebijakan otorisasi
The permissions to view projects
Sebagai contoh, Anda ingin menggunakan akun Alibaba Cloud untuk memberikan izin berikut kepada pengguna RAM:
Izin untuk melihat daftar proyek dari akun Alibaba Cloud.
Gunakan kebijakan berikut:
{ "Version": "1", "Statement": [ { "Action": [ "log:ListProject" ], "Resource": [ "acs:log:*:*:project/*" ], "Effect": "Allow" } ] }
The read-only permissions on projects
Sebagai contoh, Anda ingin menggunakan akun Alibaba Cloud untuk memberikan izin berikut kepada pengguna RAM:
Izin untuk melihat daftar proyek dari akun Alibaba Cloud.
Izin baca-saja pada proyek tertentu dalam akun Alibaba Cloud.
CatatanJika memberikan izin baca-saja pada proyek kepada pengguna RAM, pengguna tersebut tidak dapat melihat log di dalam proyek. Anda juga harus memberikan izin baca-saja pada Logstore tertentu di dalam proyek.
Gunakan kebijakan berikut:
{ "Version": "1", "Statement": [ { "Action": ["log:ListProject"], "Resource": ["acs:log:*:*:project/*"], "Effect": "Allow" }, { "Action": [ "log:Get*", "log:List*" ], "Resource": [ "acs:log:*:*:project/<Project name>/*", "acs:log:*:*:project/<Project name>" ], "Effect": "Allow" } ] }The read-only permissions on a specified Logstore and the permissions to create and manage saved searches
Sebagai contoh, Anda ingin menggunakan akun Alibaba Cloud untuk memberikan izin berikut kepada pengguna RAM:
Izin untuk melihat daftar proyek dari akun Alibaba Cloud.
Izin baca-saja pada Logstore yang ditentukan serta izin untuk membuat dan mengelola pencarian tersimpan.
Gunakan kebijakan berikut:
{ "Version": "1", "Statement": [ { "Action": [ "log:ListProject" ], "Resource": "acs:log:*:*:project/*", "Effect": "Allow" }, { "Action": [ "log:List*" ], "Resource": "acs:log:*:*:project/<Project name>/logstore/*", "Effect": "Allow" }, { "Action": [ "log:Get*", "log:List*" ], "Resource": [ "acs:log:*:*:project/<Project name>/logstore/<Logstore name>" ], "Effect": "Allow" }, { "Action": [ "log:List*" ], "Resource": [ "acs:log:*:*:project/<Project name>/dashboard", "acs:log:*:*:project/<Project name>/dashboard/*" ], "Effect": "Allow" }, { "Action": [ "log:Get*", "log:List*", "log:Create*" ], "Resource": [ "acs:log:*:*:project/<Project name>/savedsearch", "acs:log:*:*:project/<Project name>/savedsearch/*" ], "Effect": "Allow" } ] }The read-only permissions on a specified Logstore and the permissions to view all saved searches and dashboards in a project
Sebagai contoh, Anda ingin menggunakan akun Alibaba Cloud untuk memberikan izin berikut kepada pengguna RAM:
Izin untuk melihat daftar proyek dari akun Alibaba Cloud.
Izin baca-saja pada Logstore yang ditentukan serta izin untuk melihat semua pencarian tersimpan dan dasbor dalam proyek tempat Logstore tersebut berada.
Gunakan kebijakan berikut:
{ "Version": "1", "Statement": [ { "Action": [ "log:ListProject" ], "Resource": "acs:log:*:*:project/*", "Effect": "Allow" }, { "Action": [ "log:List*" ], "Resource": "acs:log:*:*:project/<Project name>/logstore/*", "Effect": "Allow" }, { "Action": [ "log:Get*", "log:List*" ], "Resource": [ "acs:log:*:*:project/<Project name>/logstore/<Logstore name>" ], "Effect": "Allow" }, { "Action": [ "log:Get*", "log:List*" ], "Resource": [ "acs:log:*:*:project/<Project name>/dashboard", "acs:log:*:*:project/<Project name>/dashboard/*" ], "Effect": "Allow" }, { "Action": [ "log:Get*", "log:List*" ], "Resource": [ "acs:log:*:*:project/<Project name>/savedsearch", "acs:log:*:*:project/<Project name>/savedsearch/*" ], "Effect": "Allow" } ] }The permissions to write data to a specified project
Untuk memberikan izin kepada pengguna RAM hanya untuk menulis data ke proyek yang ditentukan, gunakan kebijakan berikut:
{ "Version": "1", "Statement": [ { "Action": [ "log:Post*" ], "Resource": "acs:log:*:*:project/<Project name>/*", "Effect": "Allow" } ] }The permissions to write data to a specified Logstore
Untuk memberikan izin kepada pengguna RAM hanya untuk menulis data ke Logstore yang ditentukan, gunakan kebijakan berikut.
Saat membuat kebijakan, Anda dapat menentukan Logstore atau Metricstore setelah kata kunci logstore. Jika ingin mengelola Metricstore, kebijakan berikut juga berlaku.
{ "Version":"1", "Statement":[ { "Effect":"Allow", "Action":[ "log:PostLogStoreLogs" ], "Resource":[ "acs:log:*:*:project/<Project name>/logstore/<Logstore name>" ] } ] }The permissions to consume data from a specified project
Untuk memberikan izin kepada pengguna RAM hanya untuk mengonsumsi data dari proyek yang ditentukan, gunakan kebijakan berikut:
{ "Version": "1", "Statement": [ { "Action": [ "log:ListShards", "log:GetCursorOrData", "log:GetConsumerGroupCheckPoint", "log:UpdateConsumerGroup", "log:ConsumerGroupHeartBeat", "log:ConsumerGroupUpdateCheckPoint", "log:ListConsumerGroup", "log:CreateConsumerGroup" ], "Resource": "acs:log:*:*:project/<Project name>/*", "Effect": "Allow" } ] }The permissions to consume data from a specified Logstore
Untuk memberikan izin kepada pengguna RAM hanya untuk mengonsumsi data dari Logstore yang ditentukan, gunakan kebijakan berikut:
{ "Version": "1", "Statement": [ { "Action": [ "log:ListShards", "log:GetCursorOrData", "log:GetConsumerGroupCheckPoint", "log:UpdateConsumerGroup", "log:ConsumerGroupHeartBeat", "log:ConsumerGroupUpdateCheckPoint", "log:ListConsumerGroup", "log:CreateConsumerGroup" ], "Resource": [ "acs:log:*:*:project/<Project name>/logstore/<Logstore name>", "acs:log:*:*:project/<Project name>/logstore/<Logstore name>/*" ], "Effect": "Allow" } ] }The permissions to forcefully enable encryption configuration for a specified Logstore
Setelah memberikan izin kepada pengguna RAM, pengguna tersebut harus mengaktifkan konfigurasi enkripsi ketika membuat atau memodifikasi Logstore. Pengguna RAM yang tidak diberikan izin tidak perlu mengaktifkan konfigurasi enkripsi ketika membuat atau memodifikasi Logstore.
CatatanAnda dapat menentukan nama proyek dan nama Logstore yang tepat. Anda juga dapat menggunakan tanda asterisk (*) untuk melakukan pencocokan kabur.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "log:CreateLogStore", "log:UpdateLogStore" ], "Resource": [ "acs:log:*:*:project/<Project name>/logstore/<Logstore name>", "acs:log:*:*:project/<Project name>/logstore/*" ], "Condition": { "Bool": { "log:Encrypted": "true" } } } ] }The permissions to use specific log applications
Agar pengguna RAM dapat menggunakan aplikasi log atau fitur berikut, Anda harus memberikan izin yang diperlukan kepada pengguna RAM:
Audit Basis Data Umum
Pemantauan O&M Seluler
Pusat Log Aliran
Analisis Log untuk AWS CloudTrail
SREWorks
Audit Host Umum
Analisis Anomali Cerdas
Dasbor Kustom
Daftar Putar Dasbor
Gunakan salah satu kebijakan berikut sesuai dengan kebutuhan bisnis Anda:
Izin baca-saja
{ "Statement": [ { "Effect": "Allow", "Action": [ "log:GetResource", "log:ListResources", "log:GetResourceRecord", "log:ListResourceRecords" ], "Resource": [ "acs:log:*:*:resource/*" ] } ] }Izin manajemen
{ "Statement": [ { "Effect": "Allow", "Action": [ "log:*" ], "Resource": [ "acs:log:*:*:resource/*" ] } ] }
Referensi
Untuk informasi lebih lanjut tentang elemen Action dan Resource yang didukung, lihat Aturan Otorisasi.