Membuat dan mengelola tag
Panduan ini berisi penjelasan mengenai cara membuat dan mengelola tag pada database Firestore.
Tentang tag
Tag adalah pasangan nilai kunci yang dapat dilampirkan ke resource di Google Cloud. Anda dapat menggunakan tag untuk mengizinkan atau menolak kebijakan bersyarat berdasarkan apakah resource memiliki tag tertentu. Misalnya, Anda dapat memberikan peran Identity and Access Management (IAM) secara bersyarat berdasarkan apakah resource memiliki tag tertentu atau tidak. Untuk mengetahui informasi lebih lanjut tentang tag, lihat Ringkasan tag.
Tag dikaitkan ke resource dengan membuat resource binding tag yang menautkan nilai ke resource Google Cloud.
Izin yang diperlukan
Izin yang Anda perlukan bergantung pada tindakan yang harus dilakukan.
Untuk mendapatkan izin ini, minta administrator untuk memberikan peran yang disarankan pada level hierarki resource yang sesuai.
Melihat tag
Untuk melihat definisi tag dan tag yang dikaitkan ke resource, Anda memerlukan peran Tag Viewer (roles/resourcemanager.tagViewer
), atau peran lain yang menyertakan izin berikut:
Izin yang diperlukan
resourcemanager.tagKeys.get
resourcemanager.tagKeys.list
resourcemanager.tagValues.list
resourcemanager.tagValues.get
listTagBindings
untuk jenis resource yang sesuai. Misalnya,compute.instances.listTagBindings
untuk melihat tag yang dikaitkan ke instance Compute Engine.listEffectiveTags
untuk jenis resource yang sesuai.
Misalnya,
compute.instances.listEffectiveTags
untuk melihat semua tag yang dikaitkan ke atau diwarisi oleh instance Compute Engine.
Untuk melihat tag di tingkat organisasi, Anda memerlukan peran Organization Viewer (roles/resourcemanager.organizationViewer
) di resource organisasi.
Mengelola tag
Untuk membuat, memperbarui, dan menghapus definisi tag, Anda memerlukan peran Tag Administrator (roles/resourcemanager.tagAdmin
), atau peran lain yang mencakup izin berikut:
Izin yang diperlukan
resourcemanager.tagKeys.create
resourcemanager.tagKeys.update
resourcemanager.tagKeys.delete
resourcemanager.tagKeys.list
resourcemanager.tagKeys.get
resourcemanager.tagKeys.getIamPolicy
resourcemanager.tagKeys.setIamPolicy
resourcemanager.tagValues.create
resourcemanager.tagValues.update
resourcemanager.tagValues.delete
resourcemanager.tagValues.list
resourcemanager.tagValues.get
resourcemanager.tagValues.getIamPolicy
resourcemanager.tagValues.setIamPolicy
Untuk mengelola tag di level organisasi, Anda memerlukan peran Organization Viewer (roles/resourcemanager.organizationViewer
) di resource organisasi.
Mengelola tag pada resource
Untuk menambahkan dan menghapus tag yang dikaitkan ke resource, Anda memerlukan peran Tag User (roles/resourcemanager.tagUser
), atau peran lain dengan izin yang setara, di nilai tag dan resource tempat Anda mengaitkan nilai tag. Peran Tag User mencakup izin berikut:
Izin yang diperlukan
- Izin diperlukan untuk resource tempat Anda mengaitkan nilai tag
- Izin
createTagBinding
khusus resource, seperticompute.instances.createTagBinding
untuk instance Compute Engine. - Izin
deleteTagBinding
khusus resource, seperticompute.instances.deleteTagBinding
untuk instance Compute Engine. - Izin yang diperlukan untuk nilai tag:
resourcemanager.tagValueBindings.create
resourcemanager.tagValueBindings.delete
- Izin yang memungkinkan Anda melihat project dan definisi tag:
resourcemanager.tagValues.get
resourcemanager.tagValues.list
resourcemanager.tagKeys.get
resourcemanager.tagKeys.list
resourcemanager.projects.get
Untuk melampirkan tag ke instance Firestore, Anda memerlukan peran Pemilik Datastore (roles/datastore.owner
).
Membuat kunci dan nilai tag
Sebelum dapat mengaitkan tag, Anda harus membuat tag dan mengonfigurasi nilainya. Untuk membuat kunci tag dan nilai tag, lihat Membuat tag dan Menambahkan nilai tag.
Melampirkan tag ke database
Setelah tag dibuat, Anda harus melampirkannya ke database.
gcloud
Untuk melampirkan tag ke database, Anda harus membuat
resource binding tag dengan menggunakan
perintah gcloud resource-manager tags bindings create
:
gcloud resource-manager tags bindings create \ --tag-value=TAGVALUE_NAME \ --parent=RESOURCE_ID \ --location=LOCATION
Ganti kode berikut:
TAGVALUE_NAME
: ID permanen atau nama namespace dari nilai tag yang dikaitkan—misalnya:tagValues/567890123456
.-
RESOURCE_ID
adalah ID lengkap resource, termasuk nama domain API untuk mengidentifikasi jenis resource (//firestore.googleapis.com/
). Misalnya, untuk melampirkan tag ke database diprojects/firestore-test-project
, ID lengkapnya adalah://firestore.googleapis.com/projects/firestore-test-project/databases/\(default\)
. LOCATION
: lokasi resource Anda. Jika Anda mengaitkan tag ke resource global, seperti folder atau project, Anda harus menghilangkan flag ini. Jika mengaitkan tag ke resource regional atau zona, Anda harus menentukan lokasinya—misalnya:us-central1
(region) atauus-central1-a
(zona).
Mencantumkan tag yang dilampirkan ke database
Anda dapat melihat daftar binding tag yang langsung dikaitkan ke atau diwarisi oleh database.
gcloud
Untuk mendapatkan daftar binding tag yang dipasang ke resource, gunakan perintah gcloud resource-manager tags bindings list
:
gcloud resource-manager tags bindings list \ --parent=RESOURCE_ID \ --location=LOCATION
Ganti kode berikut:
-
RESOURCE_ID
adalah ID lengkap resource, termasuk nama domain API untuk mengidentifikasi jenis resource (//firestore.googleapis.com/
). Misalnya, untuk melampirkan tag ke database diprojects/firestore-test-project
, ID lengkapnya adalah://firestore.googleapis.com/projects/firestore-test-project/databases/\(default\)
. LOCATION
: lokasi resource Anda. Jika Anda melihat tag yang dikaitkan ke resource global, seperti folder atau project, Anda harus menghilangkan flag ini. Jika melihat tag yang dikaitkan ke resource regional atau zona, Anda harus menentukan lokasinya—misalnya:us-central1
(region) atauus-central1-a
(zona).
Anda akan mendapatkan respons seperti berikut:
name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456 tagValue: tagValues/567890123456 resource: //firestore.googleapis.com/projects/firestore-test-project/databases/(default)
Melepaskan tag dari database
Anda dapat melepaskan tag yang telah terpasang langsung ke database. Tag yang diwariskan dapat diganti dengan melampirkan tag dengan kunci yang sama dan nilai yang berbeda, tetapi tag tersebut tidak dapat dilepaskan. Sebelum menghapus tag, Anda harus melepaskan kunci dan nilainya dari setiap resource tempat tag tersebut dikaitkan.
gcloud
Untuk menghapus binding tag, gunakan perintah gcloud resource-manager tags bindings delete
:
gcloud resource-manager tags bindings delete \ --tag-value=TAGVALUE_NAME \ --parent=RESOURCE_ID \ --location=LOCATION
Ganti kode berikut:
TAGVALUE_NAME
: ID permanen atau nama namespace dari nilai tag yang dikaitkan—misalnya:tagValues/567890123456
.-
RESOURCE_ID
adalah ID lengkap resource, termasuk nama domain API untuk mengidentifikasi jenis resource (//firestore.googleapis.com/
). Misalnya, untuk melampirkan tag ke database diprojects/firestore-test-project
, ID lengkapnya adalah://firestore.googleapis.com/projects/firestore-test-project/databases/\(default\)
. LOCATION
: lokasi resource Anda. Jika Anda mengaitkan tag ke resource global, seperti folder atau project, Anda harus menghilangkan flag ini. Jika mengaitkan tag ke resource regional atau zona, Anda harus menentukan lokasinya—misalnya:us-central1
(region) atauus-central1-a
(zona).
Menghapus kunci dan nilai tag
Saat menghapus kunci tag atau definisi nilai, pastikan tag dilepas dari database. Anda harus menghapus lampiran tag yang ada, yang disebut binding tag, sebelum menghapus definisi tag itu sendiri. Untuk menghapus kunci tag dan nilai tag, lihat Menghapus tag.
Kondisi dan tag Identity and Access Management
Anda dapat menggunakan tag dan kondisi IAM untuk memberikan binding peran bersyarat kepada pengguna dalam hierarki Anda. Mengubah atau menghapus tag yang dikaitkan ke resource dapat menghapus akses pengguna ke resource tersebut jika kebijakan IAM dengan binding peran bersyarat telah diterapkan. Untuk mengetahui informasi selengkapnya, lihat Kondisi dan tag Identity and Access Management.
Langkah selanjutnya
- Lihat layanan lain yang mendukung tag.
- Lihat Tag dan kontrol akses untuk mempelajari cara menggunakan tag dengan IAM.