Dokumen ini menjelaskan cara membuat dan mengelola tampilan log di bucket Cloud Logging menggunakan gcloud CLI. Tampilan log memberi Anda kontrol lanjutan dan terperinci atas siapa yang memiliki akses ke log dalam bucket log Anda.
Untuk mengetahui informasi umum tentang model penyimpanan Logging, lihat Ringkasan pemilihan rute dan penyimpanan.
Tentang tampilan log
Tampilan log memungkinkan Anda memberikan akses kepada pengguna hanya ke sebagian log yang disimpan di bucket log. Misalnya, pertimbangkan skenario saat Anda menyimpan log organisasi di project pusat. Anda dapat membuat satu tampilan log untuk setiap project yang berkontribusi pada bucket log. Kemudian, Anda dapat memberikan akses ke satu atau beberapa tampilan log kepada setiap pengguna, sehingga membatasi log yang dapat dilihat pengguna.
Anda dapat membuat maksimal 30 tampilan log per bucket log.
Mengontrol akses ke tampilan log
Cloud Logging menggunakan kebijakan IAM untuk mengontrol siapa yang memiliki akses ke tampilan log. Kebijakan IAM dapat ada di level resource, project, folder, dan organisasi. Untuk Cloud Logging, Anda dapat membuat kebijakan IAM untuk setiap tampilan log. Untuk menentukan apakah akun utama diberi otorisasi untuk tindakan, IAM mengevaluasi semua kebijakan yang berlaku, dengan evaluasi pertama di tingkat resource.
Akun utama dengan peran roles/logging.viewAccessor
di project Google Cloud dapat mengakses tampilan dan log di bucket log mana pun dalam project.
Untuk memberikan akses akun utama hanya ke tampilan log tertentu, lakukan salah satu hal berikut:
Buat kebijakan IAM untuk tampilan log, lalu tambahkan binding IAM ke kebijakan tersebut yang memberikan akses utama ke tampilan log.
Jika Anda membuat tampilan log dalam jumlah besar, sebaiknya gunakan pendekatan ini.
Berikan peran IAM
roles/logging.viewAccessor
kepada akun utama di project yang berisi tampilan log, tetapi lampirkan kondisi IAM untuk membatasi pemberian ke tampilan log tertentu. Jika Anda menghapus kondisi, Anda akan memberikan akses akun utama ke semua tampilan log. Ada batas 20 binding peran dalam file kebijakan untuk project Google Cloud yang menyertakan peran yang sama dan akun utama yang sama, tetapi ekspresi kondisinya berbeda.
Untuk mengetahui informasi selengkapnya, lihat bagian dokumen ini yang berjudul Memberikan akses ke tampilan log.
Tampilan log yang dibuat secara otomatis
Cloud Logging otomatis membuat tampilan _AllLogs
untuk setiap
bucket log dan tampilan _Default
untuk bucket log _Default
:
- Tampilan
_AllLogs
: Anda dapat melihat semua log di bucket log. - Tampilan
_Default
: Anda dapat melihat semua log audit non-Akses Data di bucket log.
Anda tidak dapat mengubah tampilan yang dibuat secara otomatis oleh Cloud Logging;
tetapi, Anda dapat menghapus tampilan _AllLogs
.
Filter tampilan log
Setiap tampilan log berisi filter yang menentukan entri log mana yang
terlihat dalam tampilan. Filter dapat berisi operator logis AND
dan NOT
;
tetapi, filter tidak dapat menyertakan operator logis OR
.
Filter dapat membandingkan salah satu nilai berikut:
Sumber data yang menggunakan fungsi
source
. Fungsisource
menampilkan entri log dari resource tertentu dalam hierarki organisasi, folder, dan project Google Cloud.ID log menggunakan fungsi
log_id
. Fungsilog_id
menampilkan entri log yang cocok dengan argumenLOG_ID
yang diberikan dari kolomlogName
.Jenis resource yang valid menggunakan perbandingan
resource.type=
FIELD_NAME.
Misalnya, filter berikut menangkap entri log stdout
Compute Engine dari project Google Cloud yang disebut myproject
:
source("projects/myproject") AND resource.type = "gce_instance" AND log_id("stdout")
Untuk mengetahui detail tentang sintaksis pemfilteran, lihat Perbandingan.
Sebelum memulai
Sebelum membuat atau memperbarui tampilan log, selesaikan langkah-langkah berikut:
Jika Anda belum melakukannya, di project Google Cloud yang sesuai, buat bucket Logging yang ingin Anda konfigurasikan tampilan log kustomnya.
-
Untuk mendapatkan izin yang diperlukan guna membuat dan mengelola tampilan log serta memberikan akses ke tampilan log, minta administrator untuk memberi Anda peran IAM berikut di project Anda:
-
Logs Configuration Writer (
roles/logging.configWriter
) -
Untuk menambahkan penetapan peran ke project:
Project IAM Admin (
roles/resourcemanager.projectIamAdmin
) -
Untuk menambahkan penetapan peran ke tampilan log:
Logging Admin (
roles/logging.admin
)
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
-
Logs Configuration Writer (
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Tentukan log yang ingin Anda sertakan dalam tampilan. Anda menggunakan informasi ini untuk menentukan filter tampilan log.
Tentukan siapa yang harus memiliki akses ke tampilan log dan apakah Anda ingin menambahkan binding ke kebijakan IAM tampilan log atau project Google Cloud. Untuk informasi selengkapnya, lihat Mengontrol akses ke tampilan log.
Membuat tampilan log
Untuk membuat tampilan log,
gunakan perintah gcloud logging views create
.
Anda dapat membuat maksimal 30 tampilan log per bucket log.
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- VIEW_ID: ID tampilan log.
- BUCKET_NAME: Nama bucket log.
- LOCATION: Lokasi bucket log.
- FILTER: Filter yang menentukan tampilan log. Jika kosong, tampilan log akan menyertakan semua log. Misalnya, untuk memfilter menurut log instance VM Compute Engine, masukkan
"resource.type=gce_instance"
. - DESCRIPTION: Deskripsi tampilan log. Misalnya, Anda dapat memasukkan kode berikut untuk
deskripsi
"Compute logs"
.
Jalankan perintah
gcloud logging views create
:
Linux, macOS, atau Cloud Shell
gcloud logging views create VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter=FILTER --description=DESCRIPTION
Windows (PowerShell)
gcloud logging views create VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter=FILTER --description=DESCRIPTION
Windows (cmd.exe)
gcloud logging views create VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter=FILTER --description=DESCRIPTION
Perintah ini tidak memberikan respons. Untuk mengonfirmasi perubahan, Anda dapat menjalankan perintah gcloud logging views list
.
Selanjutnya, berikan akses akun utama ke tampilan log Anda.
Memberikan akses ke tampilan log
Untuk membatasi akun utama ke tampilan log tertentu di bucket log yang ditentukan pengguna, ada dua pendekatan yang dapat Anda gunakan:
Anda dapat menggunakan file kebijakan IAM dari tampilan log.
Anda dapat menggunakan file kebijakan IAM dari project Google Cloud yang menyimpan bucket log, beserta kondisi IAM.
Saat membuat tampilan log dalam jumlah besar, sebaiknya kontrol akses menggunakan file kebijakan IAM tampilan log.
Tampilan log: Menambahkan binding peran
Bagian ini menjelaskan cara menggunakan file kebijakan IAM untuk tampilan log guna mengontrol siapa yang memiliki akses ke entri log dalam tampilan log tersebut. Saat menggunakan pendekatan ini, Anda menambahkan binding ke file kebijakan tampilan log, binding tersebut akan memberikan akses akun utama yang ditentukan ke tampilan log.
Bagian ini juga menjelaskan cara mencantumkan binding peran yang terdapat dalam file kebijakan IAM untuk tampilan log.
Menambahkan binding peran ke tampilan log
Untuk memperbarui file kebijakan IAM tampilan log, selesaikan langkah-langkah berikut.
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- VIEW_ID: ID tampilan log.
- PRINCIPAL: ID untuk akun utama yang ingin Anda berikan peran. ID utama biasanya memiliki bentuk berikut:
PRINCIPAL-TYPE:ID
. Misalnya,user:my-user@example.com
. Untuk mengetahui daftar lengkap format yang dapat dimilikiPRINCIPAL
, lihat ID utama. - BUCKET_NAME: Nama bucket log.
- LOCATION: Lokasi bucket log.
Jalankan perintah
gcloud logging views add-iam-policy-binding
:
Linux, macOS, atau Cloud Shell
gcloud logging views add-iam-policy-binding VIEW_ID --member=PRINCIPAL --role='roles/logging.viewAccessor' --bucket=BUCKET_NAME --location=LOCATION
Windows (PowerShell)
gcloud logging views add-iam-policy-binding VIEW_ID --member=PRINCIPAL --role='roles/logging.viewAccessor' --bucket=BUCKET_NAME --location=LOCATION
Windows (cmd.exe)
gcloud logging views add-iam-policy-binding VIEW_ID --member=PRINCIPAL --role='roles/logging.viewAccessor' --bucket=BUCKET_NAME --location=LOCATION
Berikut ini ilustrasi respons saat satu binding ditambahkan:
Updated IAM policy for logging view [projects/PROJECT_ID/locations/global/buckets/BUCKET_NAME/views/VIEW_ID]. bindings: - members: - PRINCIPAL role: roles/logging.viewAccessor etag: BwYXfSd9-Gw= version: 1
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi penyedia Terraform.
Untuk menyediakan asosiasi IAM untuk tampilan log menggunakan Terraform, tersedia beberapa resource yang berbeda:
google_logging_log_view_iam_policy
google_logging_log_view_iam_binding
google_logging_log_view_iam_member
Untuk mengetahui informasi selengkapnya, lihat kebijakan IAM untuk LogView Cloud Logging.
Konsol
Tidak didukung. Untuk menambahkan binding ke tampilan log, gunakan Google Cloud CLI.
Mencantumkan binding peran pada tampilan log
Untuk membuat daftar binding IAM untuk tampilan log, selesaikan langkah-langkah berikut.
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- VIEW_ID: ID tampilan log.
- BUCKET_NAME: Nama bucket log.
- LOCATION: Lokasi bucket log.
Jalankan perintah
gcloud logging views get-iam-policy
:
Linux, macOS, atau Cloud Shell
gcloud logging views get-iam-policy VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Windows (PowerShell)
gcloud logging views get-iam-policy VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Windows (cmd.exe)
gcloud logging views get-iam-policy VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Jika tampilan log tidak berisi binding apa pun, respons hanya akan berisi kolom etag
. Berikut ini ilustrasi respons saat tampilan log berisi satu binding:
bindings: - members: - PRINCIPAL role: roles/logging.viewAccessor etag: BwYXfSd9-Gw= version: 1
Terraform
Untuk mencantumkan pengaitan IAM untuk tampilan log menggunakan Terraform,
gunakan sumber data
google_logging_log_view_iam_policy
.
Konsol
Tidak didukung. Untuk mencantumkan binding untuk tampilan log, gunakan Google Cloud CLI.
Project Google Cloud: Menambahkan binding peran
Bagian ini menjelaskan cara menambahkan binding peran ke project Google Cloud, dan cara mencantumkan binding yang dilampirkan ke project. Saat menggunakan pendekatan ini, untuk membatasi akun utama agar memiliki akses ke entri log yang disimpan dalam tampilan log tertentu, Anda harus menambahkan kondisi IAM ke pemberian.
Menambahkan binding peran ke project
Untuk menambahkan binding peran ke file kebijakan IAM project Google Cloud, selesaikan langkah-langkah berikut.
gcloud
Buat file JSON atau YAML dengan kondisi Anda.
Misalnya, Anda dapat membuat file bernama
condition.yaml
dengan konten berikut:expression: "resource.name == \"projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/VIEW_ID\"" title: "My title" description: "My description"
Opsional: Untuk memverifikasi bahwa file JSON atau yaml diformat dengan benar, jalankan perintah berikut:
gcloud alpha iam policies lint-condition --condition-from-file=condition.yaml
Perbarui kebijakan IAM di project Google Cloud dengan memanggil metode
gcloud projects add-iam-policy-binding
.Sebelum menggunakan perintah berikut, buat penggantian berikut:
- PROJECT_ID: ID project.
- PRINCIPAL: ID untuk akun utama yang ingin Anda berikan peran. ID utama biasanya memiliki bentuk berikut:
PRINCIPAL-TYPE:ID
. Misalnya,user:my-user@example.com
. Untuk mengetahui daftar lengkap format yang dapat dimilikiPRINCIPAL
, lihat ID utama.
Jalankan perintah
gcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role='roles/logging.viewAccessor' --condition-from-file=condition.yaml
Respons terhadap perintah sebelumnya mencakup semua binding peran.
- condition: description: My description expression: resource.name == "projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/VIEW_ID" title: My title members: - PRINCIPAL role: roles/logging.viewAccessor
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi penyedia Terraform.
Untuk menyediakan asosiasi IAM untuk project menggunakan Terraform, tersedia beberapa resource yang berbeda:
google_project_iam_policy
google_project_iam_binding
google_project_iam_member
Untuk mengetahui informasi selengkapnya, lihat Kebijakan IAM untuk project.
Konsol
Di project tempat Anda membuat bucket log, lakukan hal berikut:
-
Di konsol Google Cloud, buka halaman IAM:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah IAM & Admin.
Klik
Berikan akses.Di kolom New principals, tambahkan akun email pengguna.
Di menu drop-down Select a role, pilih Logs View Accessor.
Peran ini memberi pengguna akses baca ke semua tampilan. Untuk membatasi akses pengguna ke tampilan tertentu, tambahkan kondisi berdasarkan nama resource.
Klik Tambahkan kondisi IAM.
Masukkan Judul dan Deskripsi untuk kondisi.
Di menu drop-down Jenis kondisi, pilih Resource > Nama.
Di menu drop-down Operator, pilih adalah.
Di kolom Value, masukkan ID tampilan log, termasuk jalur lengkap ke tampilan.
Contoh:
projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/VIEW_ID
Klik Simpan untuk menambahkan kondisi tersebut.
Klik Save untuk menetapkan izin.
Mencantumkan binding peran pada project
Untuk mencantumkan penetapan peran di project Google Cloud, selesaikan langkah-langkah berikut.
gcloud
Sebelum menggunakan perintah berikut, buat penggantian berikut:
- PROJECT_ID: ID project.
Jalankan perintah
gcloud projects get-iam-policy
:
gcloud projects get-iam-policy PROJECT_ID
Respons terhadap perintah sebelumnya mencakup semua binding peran.
- condition:
description: My description
expression: resource.name == "projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/VIEW_ID"
title: My title
members:
- PRINCIPAL
role: roles/logging.viewAccessor
Terraform
Untuk mencantumkan pengaitan IAM untuk project menggunakan Terraform,
gunakan sumber data
google_project_iam_policy
.
Konsol
Di konsol Google Cloud, buka halaman IAM:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah IAM & Admin.
Halaman IAM mencantumkan semua akun utama, peran IAM-nya, dan kondisi apa pun yang terkait dengan peran tersebut.
Mencantumkan tampilan log di bucket log
Untuk mencantumkan tampilan log yang dibuat untuk bucket log,
gunakan perintah gcloud logging views list
.
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- BUCKET_NAME: Nama bucket log.
- LOCATION: Lokasi bucket log.
Jalankan perintah
gcloud logging views list
:
Linux, macOS, atau Cloud Shell
gcloud logging views list --bucket=BUCKET_NAME --location=LOCATION
Windows (PowerShell)
gcloud logging views list --bucket=BUCKET_NAME --location=LOCATION
Windows (cmd.exe)
gcloud logging views list --bucket=BUCKET_NAME --location=LOCATION
Data respons adalah daftar tampilan log. Untuk setiap tampilan log, filter ditampilkan beserta
tanggal pembuatan dan pembaruan terakhir. Jika tanggal pembuatan dan pembaruan kosong, tampilan log dibuat saat project Google Cloud dibuat. Contoh output berikut menunjukkan bahwa ada
dua ID tampilan, _AllLogs
dan compute
, di bucket log yang dikueri:
VIEW_ID: _AllLogs FILTER: CREATE_TIME: UPDATE_TIME: VIEW_ID: compute FILTER: resource.type="gce_instance" CREATE_TIME: 2024-02-20T17:41:17.405162921Z UPDATE_TIME: 2024-02-20T17:41:17.405162921Z
Memperbarui tampilan log
Untuk memperbarui atau mengubah tampilan log,
gunakan perintah gcloud logging views update
.
Jika Anda tidak mengetahui ID tampilan, lihat Mencantumkan tampilan log.
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- VIEW_ID: ID tampilan log.
- BUCKET_NAME: Nama bucket log.
- LOCATION: Lokasi bucket log.
- FILTER: Filter yang menentukan tampilan log. Jika kosong, tampilan log akan menyertakan semua log. Misalnya, untuk memfilter menurut log instance VM Compute Engine, masukkan
"resource.type=gce_instance"
. - DESCRIPTION: Deskripsi tampilan log. Misalnya, Anda dapat memasukkan kode berikut untuk
deskripsi
"New description for the log view"
.
Jalankan perintah
gcloud logging views update
:
Linux, macOS, atau Cloud Shell
gcloud logging views update VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter=FILTER --description=DESCRIPTION
Windows (PowerShell)
gcloud logging views update VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter=FILTER --description=DESCRIPTION
Windows (cmd.exe)
gcloud logging views update VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter=FILTER --description=DESCRIPTION
Perintah ini tidak memberikan respons. Untuk mengonfirmasi perubahan, Anda dapat menjalankan perintah gcloud logging views describe
.
Menghapus tampilan log
Jika tidak lagi memerlukan tampilan log yang Anda buat, Anda dapat menghapusnya. Namun, sebelum menghapus tampilan log, sebaiknya Anda memverifikasi bahwa tampilan log tidak direferensikan oleh resource lain, seperti kueri tersimpan.
Anda tidak dapat menghapus tampilan log _Default
di bucket log _Default
.
Untuk menghapus tampilan log, lakukan langkah-langkah berikut:
Direkomendasikan: Tinjau project Google Cloud Anda untuk memastikan tampilan log tidak direferensikan. Pertimbangkan untuk memeriksa hal berikut:
- Kueri dijalankan dari halaman Logs Explorer atau Log Analytics yang disimpan atau dibagikan.
- Dasbor kustom.
Gunakan perintah
gcloud logging views delete
. Jika Anda tidak mengetahui ID tampilan, lihat Mencantumkan tampilan log.Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- VIEW_ID: ID tampilan log.
- BUCKET_NAME: Nama bucket log.
- LOCATION: Lokasi bucket log.
Jalankan perintah
gcloud logging views delete
:Linux, macOS, atau Cloud Shell
gcloud logging views delete VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Windows (PowerShell)
gcloud logging views delete VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Windows (cmd.exe)
gcloud logging views delete VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Respons mengonfirmasi penghapusan. Misalnya, berikut adalah respons untuk menghapus tampilan log bernama
tester
:Deleted [tester].
Menjelaskan tampilan log
Untuk mengambil informasi mendetail tentang tampilan log,
gunakan perintah gcloud logging views describe
.
Jika Anda tidak mengetahui ID tampilan, lihat Mencantumkan tampilan log.
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- VIEW_ID: ID tampilan log.
- BUCKET_NAME: Nama bucket log.
- LOCATION: Lokasi bucket log.
Jalankan perintah
gcloud logging views describe
:
Linux, macOS, atau Cloud Shell
gcloud logging views describe VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Windows (PowerShell)
gcloud logging views describe VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Windows (cmd.exe)
gcloud logging views describe VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Respons selalu menyertakan deskripsi dan nama yang sepenuhnya memenuhi syarat dari tampilan log. Filter juga disertakan, jika kolom filter tidak kosong. Berikut adalah contoh respons:
createTime: '2024-02-20T17:41:17.405162921Z' filter: resource.type="gce_instance" name: projects/my-project/locations/global/buckets/my-bucket/views/compute updateTime: '2024-02-20T17:41:17.405162921Z'
Melihat log yang terkait dengan tampilan log
Untuk melihat log dalam tampilan log, pastikan Anda memiliki peran
Logs View Accessor (roles/logging.viewAccessor
)
untuk tampilan log:
-
Di konsol Google Cloud, buka halaman Logs Explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
Di toolbar, klik Pertajam cakupan, klik Tampilan log, lalu pilih tampilan log.
Untuk mengetahui informasi selengkapnya, lihat dokumentasi Logs Explorer.
Langkah selanjutnya
Untuk mempelajari cara mengontrol akses ke kolom tertentu dalam entri log, lihat Mengonfigurasi akses tingkat kolom.