Dokumen ini membantu Anda memahami cara Cloud Logging menggunakan peran dan izin Identity and Access Management (IAM) untuk mengontrol akses ke resource Logging. Peran IAM Anda menentukan apakah Anda dapat melakukan tindakan seperti membuat sink log atau bucket log, membaca data log yang disimpan dalam bucket log, atau mengakses halaman seperti Logs Explorer. Jika Anda mengeluarkan perintah Logging API atau Google Cloud CLI, peran IAM Anda akan menentukan apakah Anda memiliki izin untuk menjalankan perintah tersebut.
Ringkasan
Peran IAM Anda menentukan tindakan yang dapat Anda lakukan dalam Logging. Peran adalah kumpulan izin. Saat Anda memberikan peran kepada akun utama, Anda memberikan semua izin yang dimiliki oleh peran tersebut. Anda dapat memberikan beberapa peran ke akun utama yang sama.
Peran IAM diberikan pada resource, seperti Trusted Cloud project,
folder, bucket, atau organisasi. Misalnya, Anda dapat memberikan peran
Logs Viewer (role/logging.viewer
) kepada akun utama di project Trusted Cloud tertentu.
Bagian Peran standar dan Peran Logging di halaman ini memberikan informasi lengkap tentang peran dan izin Logging. Bagian lain di halaman ini memberikan informasi tentang peran atau izin untuk kasus penggunaan tertentu.
Bagian ini merangkum cara Anda dapat memberikan akses akun utama ke bucket log atau memberikan akses hanya ke beberapa entri log dalam bucket log.
Memberikan akses ke bucket log
Peran Logs Viewer (role/logging.viewer
) memungkinkan pokok mengakses semua
data log yang disimpan di bucket log _Required
dan _Default
, kecuali
log akses data. Jika prinsipal memerlukan akses ke log akses data, berikan peran Private Logs Viewer (roles/logging.privateLogViewer
).
Untuk bucket log kustom, Anda dapat memberikan akses ke tampilan _AllLogs
atau ke tampilan log kustom. Logging secara otomatis membuat tampilan
_AllLogs
, yang mencakup semua entri log dalam bucket log. Untuk memberikan
akses ke tampilan log, Anda menambahkan binding IAM ke
kebijakan IAM yang dilampirkan ke tampilan log atau ke project. Untuk
mempelajari lebih lanjut, lihat
Mengontrol akses ke tampilan log.
Logging juga mendukung tag pada bucket log, yang dapat membantu Anda memahami biaya. Anda juga dapat menggunakan tag untuk mencegah pengguna menghapus bucket log. Untuk mempelajari lebih lanjut, lihat Menggunakan tag untuk mengelola akses ke bucket log.
Memberikan akses ke beberapa entri log dalam bucket log
Untuk memberikan akses akun utama hanya ke beberapa entri log yang disimpan dalam
bucket log, buat tampilan log, lalu berikan akses akun utama ke
tampilan log. Misalnya, Anda dapat membuat tampilan log di bucket log _Default
yang hanya menyertakan entri log yang jenis resource-nya adalah instance Compute Engine.
Untuk mempelajari lebih lanjut cara membuat tampilan log dan berbagai strategi yang dapat Anda gunakan untuk memberikan akses ke tampilan, lihat Mengonfigurasi tampilan log di bucket log.
Peran yang telah ditetapkan
IAM menyediakan peran yang telah ditetapkan untuk memberikan akses terperinci ke resource Trusted Cloud tertentu dan mencegah akses yang tidak diinginkan ke resource lainnya. Trusted Cloud by S3NS membuat dan mengelola peran ini serta memperbarui izinnya secara otomatis jika diperlukan, seperti saat Logging menambahkan fitur baru.
Tabel berikut mencantumkan peran yang telah ditetapkan untuk Logging. Untuk setiap peran, tabel menampilkan judul peran, deskripsi, izin yang terkandung, dan jenis resource tingkat terendah tempat peran dapat diberikan. Anda dapat memberikan peran bawaan di Trusted Cloud tingkat project atau, dalam sebagian besar kasus, jenis yang lebih tinggi dalam hierarki resource. Untuk membatasi peran Logs View Accessor ke tampilan log pada bucket, gunakan atribut resource untuk IAM Conditions.
Untuk mendapatkan daftar semua izin individual yang terdapat dalam peran, lihat Mendapatkan metadata peran.
Role | Permissions |
---|---|
Logging Admin( Provides all permissions necessary to use all features of Cloud Logging. Lowest-level resources where you can grant this role:
|
|
Logs Bucket Writer( Ability to write logs to a log bucket. Lowest-level resources where you can grant this role:
|
|
Logs Configuration Writer( Provides permissions to read and write the configurations of logs-based metrics and sinks for exporting logs. Lowest-level resources where you can grant this role:
|
|
Log Field Accessor( Ability to read restricted fields in a log bucket. Lowest-level resources where you can grant this role:
|
|
Log Link Accessor( Ability to see links for a bucket. |
|
Logs Writer( Provides the permissions to write log entries. Lowest-level resources where you can grant this role:
|
|
Private Logs Viewer( Provides permissions of the Logs Viewer role and in addition, provides read-only access to log entries in private logs. Lowest-level resources where you can grant this role:
|
|
Cloud Logging Service Agent( Grants a Cloud Logging Service Account the ability to create and link datasets. |
|
SQL Alert Writer Beta( Ability to write SQL Alerts. |
|
Logs View Accessor( Ability to read logs in a view. Lowest-level resources where you can grant this role:
|
|
Logs Viewer( Provides access to view logs. Lowest-level resources where you can grant this role:
|
|
Bagian berikut memberikan informasi tambahan untuk membantu Anda memutuskan peran mana yang berlaku untuk kasus penggunaan pokok Anda.
Peran logging
Untuk mengizinkan pengguna melakukan semua tindakan di Logging, berikan peran Logging Admin (
roles/logging.admin
).Untuk mengizinkan pengguna membuat dan mengubah konfigurasi logging, berikan peran Logs Configuration Writer (
roles/logging.configWriter
). Peran ini memungkinkan Anda membuat atau mengubah salah satu hal berikut:Untuk mengizinkan pengguna membaca log di bucket
_Required
dan_Default
atau menggunakan halaman Logs Explorer, berikan salah satu peran berikut:- Untuk akses ke semua log di bucket
_Required
, dan akses ke tampilan_Default
di bucket_Default
, berikan peran Logs Viewer (roles/logging.viewer
). - Untuk akses ke semua log di bucket
_Required
dan_Default
, termasuk log akses data, berikan peran Private Logs Viewer (roles/logging.privateLogViewer
).
- Untuk akses ke semua log di bucket
Untuk mengizinkan pengguna membaca log di semua tampilan log yang ada dalam project, berikan peran IAM
roles/logging.viewAccessor
kepada pengguna tersebut di project.Untuk mengizinkan pengguna hanya membaca log dalam tampilan log tertentu, Anda memiliki dua opsi:
Buat kebijakan IAM untuk tampilan log, lalu tambahkan binding IAM ke kebijakan tersebut yang memberikan akses akun utama ke tampilan log.
Berikan peran IAM
roles/logging.viewAccessor
kepada akun utama di project yang berisi tampilan log, tetapi lampirkan kondisi IAM untuk membatasi pemberian peran ke tampilan log tertentu.
Untuk mengetahui informasi tentang cara membuat tampilan log dan memberikan akses, lihat Mengonfigurasi tampilan log di bucket log.
Untuk mengizinkan pengguna menulis log menggunakan Logging API, berikan peran Penulis Log (
roles/logging.logWriter
). Peran ini tidak memberikan izin melihat.Agar akun layanan sink dapat merutekan log ke bucket di project Trusted Cloud yang berbeda, berikan peran Logs Bucket Writer (
roles/logging.bucketWriter
) kepada akun layanan tersebut. Untuk mengetahui petunjuk tentang cara memberikan izin ke akun layanan, lihat Menetapkan izin tujuan.
Peran tingkat project
Untuk memberikan akses lihat ke sebagian besar layanan Trusted Cloud by S3NS , berikan peran Pelihat (
roles/viewer
).Peran ini mencakup semua izin yang diberikan oleh peran Logs Viewer (
roles/logging.viewer
).Untuk memberikan akses editor ke sebagian besar Trusted Cloud by S3NS layanan, berikan peran Editor (
roles/editor
).Peran ini mencakup semua izin yang diberikan oleh peran Pelihat Log (
roles/logging.viewer
), dan izin untuk menulis entri log dan menghapus log. Namun, peran ini tidak memungkinkan pengguna membuat sink, membaca log audit Akses Data yang ada di bucket_Default
, atau membaca log yang ada di bucket log yang ditentukan pengguna.Untuk memberikan akses penuh ke sebagian besar layanan Trusted Cloud by S3NS , berikan peran Pemilik (
roles/owner
).
Memberikan peran
Untuk mempelajari cara memberikan peran kepada akun utama, lihat Memberikan, mengubah, dan mencabut akses.
Anda dapat memberikan beberapa peran kepada pengguna yang sama. Untuk mendapatkan daftar izin yang terdapat dalam peran, lihat Mendapatkan metadata peran.
Jika Anda mencoba mengakses resource Trusted Cloud dan tidak memiliki izin yang diperlukan, hubungi pemilik utama yang tercantum sebagai Pemilik untuk resource tersebut.
Peran khusus
Untuk membuat peran kustom dengan izin Logging, lakukan tindakan berikut:
Untuk peran yang memberikan izin untuk Logging API, pilih izin dari izin API, lalu ikuti petunjuk untuk membuat peran khusus.
Untuk peran yang memberikan izin untuk menggunakan Logs Explorer, pilih dari grup izin di Izin konsol, lalu ikuti petunjuk untuk membuat peran kustom.
Untuk peran yang memberikan izin untuk menggunakan
gcloud logging
, lihat bagian Izin command line di halaman ini, lalu ikuti petunjuk untuk membuat peran kustom.
Untuk mengetahui informasi selengkapnya tentang peran khusus, lihat Memahami peran khusus IAM.
Izin Cloud Logging
Tabel berikut adalah daftar sebagian izin yang diperlukan untuk fitur tertentu Cloud Logging. Tabel ini dapat membantu Anda mengidentifikasi izin yang diperlukan untuk menggunakan halaman seperti Logs Explorer.
Dalam tabel, a.b.{x,y}
berarti a.b.x
dan a.b.y
.
Aktivitas konsol | Izin yang diperlukan |
---|---|
Akses hanya baca minimal | logging.logEntries.list |
Melihat log audit Akses Data | logging.privateLogEntries.list |
Melihat sink | logging.sinks.{list, get} |
Melihat penggunaan log | logging.usage.get |
Download log | logging.logEntries.{list, download}
Hanya satu izin ini yang diperlukan untuk mendownload log. Peran yang berisi izin untuk mendownload log harus diberikan di level project. Anda tidak dapat mendownload log jika peran yang berisi izin ini diberikan dalam file kebijakan IAM tampilan log. |
Mencantumkan dan melihat cakupan log | logging.logScopes.{get, list} |
Melihat cakupan log default | observability.scopes.get |
Kecualikan log | logging.exclusions.{list, create, get, update, delete}
Saat membuat peran kustom yang menyertakan izin untuk
mengelola filter pengecualian, tambahkan izin |
Membuat dan menggunakan sink | logging.sinks.{list, create, get, update, delete}
Saat membuat sink, Anda juga harus memberikan peran IAM ke akun layanan yang memungkinkannya menulis entri log ke tujuan. Untuk mengetahui informasi selengkapnya, lihat Menetapkan izin tujuan. Setelah entri log Anda dirutekan ke tujuan yang didukung, akses ke entri log dikontrol sepenuhnya oleh izin dan peran IAM di tujuan. |
Menyimpan dan menggunakan kueri pribadi | logging.queries.usePrivate logging.queries.{listShared,getShared} |
Menyimpan dan menggunakan kueri bersama | logging.queries.{share, getShared, updateShared, deleteShared,
listShared} |
Menggunakan kueri terbaru | logging.queries.{create, list} |
Membuat dan mengelola cakupan log | logging.logScopes.{create, delete, get, list, update} |
Menetapkan dan mengelola cakupan log default | observability.scopes.{get, update} |
Izin untuk command line
Perintah gcloud logging
dikontrol oleh izin IAM.
Untuk menggunakan perintah gcloud logging
, akun utama harus memiliki izin
serviceusage.services.use
.
Akun utama juga harus memiliki peran IAM yang sesuai dengan resource log, dan kasus penggunaan. Untuk mengetahui detailnya, lihat izin antarmuka command line.