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 informasi umum tentang model penyimpanan Logging, lihat Ringkasan pemilihan rute dan penyimpanan.
Tentang tampilan log
Dengan tampilan log, Anda dapat memberi pengguna akses hanya ke subset log yang disimpan di bucket log. Misalnya, pertimbangkan skenario di mana Anda menyimpan log organisasi Anda di sebuah project pusat. Anda dapat membuat satu tampilan log untuk setiap project yang memberikan kontribusi log ke bucket log. Selanjutnya, Anda dapat memberi setiap pengguna akses ke satu atau beberapa tampilan log, sehingga membatasi log mana yang dapat dilihat pengguna.
Cloud Logging secara 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 otomatis oleh Cloud Logging;
tetapi Anda dapat menghapus tampilan _AllLogs
.
Anda dapat membuat maksimal 30 tampilan log per bucket log.
Setiap tampilan log berisi filter, yang membatasi entri log yang
terlihat dalam tampilan. Filter dapat berisi operator AND
dan NOT
yang logis;
namun, filter tersebut tidak dapat menyertakan operator OR
yang logis.
Filter dapat membandingkan salah satu nilai berikut:
Sumber data menggunakan fungsi
source
. Fungsisource
menampilkan entri log dari resource tertentu dalam hierarki organisasi, folder, dan project Google Cloud.ID log yang 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 Anda membuat atau memperbarui tampilan log, selesaikan langkah-langkah berikut:
Jika Anda belum melakukannya, di project Google Cloud yang sesuai, buat bucket Logging yang tampilan log kustomnya ingin Anda konfigurasi.
-
Untuk mendapatkan izin yang diperlukan untuk membuat, melihat, memperbarui, dan menghapus tampilan log, minta administrator untuk memberi Anda peran IAM Logs Configuration Writer (
roles/logging.configWriter
) di project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Instal Google Cloud CLI.
Tentukan log yang ingin Anda sertakan dalam tampilan. Anda menggunakan informasi ini untuk menentukan filter tampilan log.
Tentukan siapa yang memiliki akses ke tampilan log. Principal dengan peran
roles/logging.viewAccessor
dapat melihat log dalam tampilan log mana pun. Namun, Cloud Logging mendukung kondisi IAM. Kondisi memungkinkan Anda memberikan akses utama ke tampilan log tertentu. Untuk mengetahui informasi selengkapnya, lihat Memberikan akses ke tampilan log.
Membuat tampilan log
Untuk membuat tampilan log,
gunakan perintah gcloud logging views update
.
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
.
Mencantumkan tampilan log di bucket log
Untuk menampilkan daftar 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 bersama dengan
tanggal pembuatan dan pembaruan terakhir. Jika tanggal pembuatan dan pembaruan kosong, tampilan log
akan dibuat saat project Google Cloud dibuat. Contoh output berikut menunjukkan bahwa ada
dua ID tampilan, _AllLogs
dan compute
, pada 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
Memberikan akses ke tampilan log
Principal dengan peran roles/logging.viewAccessor
pada project Google Cloud dapat melihat log dalam tampilan log apa pun. Namun, Cloud Logging mendukung kondisi IAM.
Kondisi memungkinkan Anda memberikan akses utama ke tampilan log tertentu.
Kondisi IAM ditentukan dalam binding peran untuk project Google Cloud. Ada batas 20 binding peran dalam kebijakan izin yang mencakup peran yang sama dan akun utama yang sama, tetapi ekspresi kondisinya berbeda.
Untuk menambahkan pengguna ke tampilan yang memungkinkan mereka mengakses log, selesaikan langkah-langkah berikut.
gcloud
Mendapatkan kebijakan IAM project dan menulisnya ke file lokal dalam format JSON. Sebelum menjalankan perintah berikut, ganti PROJECT_ID dengan ID project yang berisi bucket log:
gcloud projects get-iam-policy PROJECT_ID --format json > output.json
Edit file JSON yang Anda buat, dan tambahkan kondisi IAM yang memungkinkan pengguna membaca dari bucket log yang Anda buat.
Misalnya, contoh berikut menetapkan binding yang memberikan peran
"roles/logging.viewAccessor"
kepada anggota yang ditentukan, tetapi hanya untuk satu tampilan log:{ "bindings": [ { "members": [ "user:username@gmail.com" ], "role": "roles/logging.viewAccessor", "condition": { "title": "Bucket reader condition example", "description": "Grants logging.viewAccessor role to user username@gmail.com for the VIEW_ID log view.", "expression": "resource.name == \"projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/VIEW_ID\"" } } ], "etag": "BwWd_6eERR4=", "version": 3 }
Perbarui kebijakan IAM:
gcloud projects set-iam-policy PROJECT_ID output.json
Konsol
Pada project tempat Anda membuat bucket log, lakukan hal berikut:
-
Pada panel navigasi Konsol Google Cloud, pilih IAM:
Klik
Berikan akses.Di kolom New principals, tambahkan akun email pengguna.
Di menu drop-down Pilih peran, 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.
Memperbarui tampilan log
Untuk memperbarui atau mengubah tampilan log,
gunakan perintah gcloud logging views update
.
Jika Anda tidak mengetahui ID tampilan, lihat Menampilkan daftar 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
Untuk menghapus tampilan log,
gunakan perintah gcloud logging views delete
.
Jika Anda tidak mengetahui ID tampilan, lihat Menampilkan daftar 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, contoh berikut menunjukkan respons terhadap penghapusan
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 Menampilkan daftar 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 tampilan log yang sepenuhnya memenuhi syarat. Kolom ini juga menyertakan filter, saat 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 panel navigasi konsol Google Cloud, pilih Logging, lalu pilih Logs Explorer:
Klik Pertajam cakupan untuk menampilkan panel Pertajam cakupan. Dari sini, Anda dapat memilih bucket log dan tampilan log yang ingin digunakan untuk melihat log.
Untuk mengetahui informasi selengkapnya, lihat dokumentasi Logs Explorer.
Langkah selanjutnya
Konfigurasikan akses tingkat kolom.