Menggunakan tag untuk mengelola akses ke bucket log

Dokumen ini menjelaskan cara menggunakan Tag untuk mengelola bucket log Cloud Logging Anda. Tag, yang dibuat di level organisasi atau project, memungkinkan Anda memberi anotasi pada resource. Anda juga dapat memberikan peran Identity and Access Management (IAM) secara bersyarat atau menolak izin IAM secara bersyarat berdasarkan apakah resource memiliki tag tertentu atau tidak. Untuk mengetahui informasi tentang tag, lihat Ringkasan tag.

Misalnya, jika Anda menggunakan BigQuery untuk menganalisis data Penagihan Cloud, Anda dapat memasang tag project:production ke bucket log yang menyimpan data log dari resource produksi, dan Anda dapat memasang tag project:development ke bucket log yang menyimpan data log dari resource pengembangan. Kemudian, Anda dapat membuat kueri data Penagihan Cloud dengan tag dan melihat perincian biaya antara pengembangan dan produksi.

Tag dapat dilampirkan secara eksplisit ke bucket log, atau diwarisi dari organisasi, folder, dan project induknya.

Sebelum memulai

Untuk mulai mengelola bucket log menggunakan tag, lakukan hal berikut:

  1. Pastikan Anda telah membuat tag dan mengonfigurasi nilainya. Anda dapat menggunakan Resource Manager untuk mengelola definisi tag. Untuk mengetahui informasi tentang cara membuat dan mengelola tag, lihat Membuat dan mengelola tag.
  2. Untuk mendapatkan izin yang diperlukan untuk mengelola bucket log menggunakan tag, minta administrator untuk memberi Anda peran IAM berikut di project atau organisasi:

    Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

    Peran bawaan ini berisi izin yang diperlukan untuk mengelola bucket log menggunakan tag. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

    Izin yang diperlukan

    Izin berikut diperlukan untuk mengelola bucket log menggunakan tag:

    • Menambahkan atau menghapus tag ke bucket log:
      • resourcemanager.tagValues.{get,list}
      • resourcemanager.tagKeys.{get,list}
      • resourcemanager.projects.get
      • logging.buckets.createTagbinding
      • logging.buckets.deleteTagBinding
    • Melihat tag yang dilampirkan ke bucket log:
      • resourcemanager.tagValues.{get,list}
      • resourcemanager.tagKeys.{get,list}
      • logging.buckets.listTagBindings
      • logging.buckets.listEffectiveTags

    Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

  3. Untuk mendapatkan izin yang diperlukan untuk mengelola bucket log, minta administrator Anda untuk memberi Anda peran IAM Logs Configuration Writer (roles/logging.configWriter) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

    Peran bawaan ini berisi izin logging.buckets.list , yang diperlukan untuk mengelola bucket log.

    Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Melampirkan tag ke bucket log

Untuk melampirkan tag ke bucket log, lakukan hal berikut:

Google Cloud console

  1. Di konsol Google Cloud , buka halaman Penyimpanan Log:

    Buka Penyimpanan Log

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.

  2. Cari bucket log untuk melampirkan tag.

  3. Di bucket log, klik Lainnya, lalu klik Edit tag.

  4. Dalam dialog, di bagian Tag langsung, temukan tag dengan memilih resource tempat tag dibuat. Misalnya, untuk menggunakan tag yang dibuat di level project, pilih Pilih project saat ini sebagai cakupan.

    Anda juga dapat menelusuri project, organisasi, atau ID tag secara manual dengan memilih opsi Entri Manual.

  5. Pilih pasangan nilai kunci yang sesuai, lalu klik Simpan.

  6. Dialog yang mengonfirmasi perubahan Anda akan muncul. Klik Konfirmasi untuk menyelesaikan perubahan Anda.

gcloud

Untuk melampirkan tag ke bucket log, buat binding tag dengan menjalankan perintah gcloud resource-manager tags bindings create:

gcloud resource-manager tags bindings create \
--tag-value=TAG_VALUE_ID \
--parent=BUCKET_NAME \
--location=LOCATION

Pada perintah sebelumnya, lakukan penggantian berikut:

  • TAG_VALUE_ID: ID permanen atau nama dengan namespace dari nilai tag. Contoh, tagValues/4567890123. Untuk mengetahui informasi selengkapnya tentang ID tag, lihat Definisi dan ID tag.

  • BUCKET_NAME: Nama bucket log. Contoh, //logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID.

  • LOCATION: Lokasi bucket log.

API

Untuk melampirkan tag ke bucket log, gunakan metode tagBindings.create.

Melihat tag yang dilampirkan ke bucket log

Untuk melihat tag yang terlampir ke bucket log, lakukan langkah berikut:

Google Cloud console

  1. Di konsol Google Cloud , buka halaman Penyimpanan Log:

    Buka Penyimpanan Log

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.

  2. Cari bucket log yang tagnya ingin Anda lihat.

    Di kolom Tag, tag yang terkait dengan bucket log tercantum. Untuk melihat semua tag yang terkait dengan bucket log, klik tombol Lainnya untuk meluaskan daftar tag.

gcloud

Jalankan perintah gcloud resource-manager tags bindings list:

gcloud resource-manager tags bindings list \
--parent=BUCKET_NAME \
--location=LOCATION

Pada perintah sebelumnya, lakukan penggantian berikut:

  • BUCKET_NAME: Nama bucket log. Contoh, //logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID.

  • LOCATION: Lokasi bucket log.

Opsional: Untuk melihat tag yang diwarisi oleh bucket log, tambahkan flag --effective Menambahkan flag ini akan menampilkan respons yang mirip dengan berikut:

namespacedTagKey: 961309089256/environment
namespacedTagValue: 961309089256/environment/production
tagKey: tagKeys/417628178507
tagValue: tagValues/247197504380
inherited: true

Jika semua tag dilampirkan secara eksplisit ke bucket log dan tidak ada tag yang diwarisi, kolom inherited akan bernilai salah dan akan dihilangkan.

API

Untuk mendapatkan daftar binding tag untuk bucket, gunakan metode tagBindings.list.

Menghapus tag pada bucket log

Untuk menghapus tag yang dilampirkan ke bucket log, Anda harus menghapus binding tag yang dilampirkan ke bucket log. Untuk menghapus tag, Anda harus menghapus tag dari semua resource yang terlampir.

Google Cloud console

  1. Di konsol Google Cloud , buka halaman Penyimpanan Log:

    Buka Penyimpanan Log

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.

  2. Cari bucket log yang tag-nya ingin Anda hapus.

  3. Di bucket log, klik Lainnya, lalu klik Edit tag.

  4. Dalam dialog, tahan kursor di atas tag yang akan dihapus, lalu klik Hapus item. Klik Simpan untuk menyimpan perubahan.

  5. Dialog yang mengonfirmasi perubahan Anda akan muncul. Klik Konfirmasi untuk menyelesaikan perubahan Anda.

gcloud

Jalankan perintah gcloud resource-manager tags bindings delete:

gcloud resource-manager tags bindings delete \
--tag-value=TAG_VALUE_ID \
--parent=BUCKET_NAME \
--location=LOCATION

Pada perintah sebelumnya, lakukan penggantian berikut:

  • TAG_VALUE_ID: ID permanen atau nama dengan namespace dari nilai tag. Contoh, tagValues/4567890123. Untuk mengetahui informasi selengkapnya tentang ID tag, lihat Definisi dan ID tag.

  • BUCKET_NAME: Nama bucket log. Contoh, //logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID.

  • LOCATION: Lokasi bucket log.

API

Untuk menghapus tag pada bucket log, gunakan metode tagBindings.delete.

Batasan

  • Anda tidak dapat menggunakan pemberian peran IAM untuk mengontrol bucket log mana yang dilihat akun utama saat mencantumkan bucket log dalam project. Google Cloud Kepala sekolah akan melihat daftar lengkap atau daftar kosong. Namun, Anda dapat menggunakan pemberian peran IAM dengan kondisi IAM untuk membatasi tindakan yang dapat dilakukan akun utama pada bucket log. Misalnya, Anda dapat membatasi apakah pokok keamanan dapat menghapus bucket log tertentu.

  • Jika Anda menggunakan ekspor data Penagihan Cloud dengan BigQuery, tag mungkin memerlukan waktu hingga satu jam untuk digunakan dalam ekspor. Jika tag telah ditambahkan atau dihapus dalam waktu satu jam, atau jika bucket log telah ada selama kurang dari satu jam, maka tag tersebut mungkin tidak muncul di ekspor.

Peran kustom dan pemberian peran dengan kondisi IAM

Jika Anda berencana menggunakan peran IAM kustom dan jika Anda berencana melampirkan kondisi IAM ke pemberian peran, Anda mungkin perlu membuat beberapa peran kustom. Beberapa izin IAM menjadi tidak valid saat kondisi IAM dilampirkan ke pemberian peran.

Untuk Cloud Logging, izin IAM berikut dibatalkan saat pemberian peran berisi kondisi IAM:

  • logging.buckets.list
  • logging.buckets.create

Oleh karena itu, Anda mungkin perlu membuat satu peran dengan izin list dan create, serta peran lain yang berisi izin khusus bucket lainnya. Misalnya, Anda dapat membuat peran yang berisi izin logging.buckets.delete dan logging.buckets.update.

Saat Anda memberikan peran yang berisi izin list dan create, jangan lampirkan kondisi IAM ke pemberian peran. Saat Anda memberikan peran yang berisi izin delete dan update, Anda dapat menambahkan kondisi IAM yang membatasi pemberian izin ke resource dengan tag tertentu.

Langkah berikutnya