Gunakan tag untuk mengelompokkan repositori dan resource lainnya di Google Cloud untuk pelaporan, audit, dan kontrol akses dalam organisasi Google Cloud Anda.
Untuk mengelompokkan repositori dalam Artifact Registry bagi tujuan otomatisasi dan penagihan, gunakan label. Tag dan label berfungsi secara independen satu sama lain, dan Anda dapat menerapkan keduanya ke repositori yang sama. Untuk mengetahui informasi selengkapnya tentang perbedaan antara tag dan label, lihat Tag dan label.
Apa yang dimaksud dengan tag?
Tag adalah pasangan nilai kunci yang dapat Anda terapkan ke resource untuk kontrol akses yang terperinci.
Administrator project membuat tag untuk resource di seluruh Google Cloud pada tingkat organisasi dan mengelolanya di Resource Manager. Saat melampirkan tag ke repositori Artifact Registry, Anda dapat menggunakan tag dengan kondisi IAM untuk memberikan akses bersyarat ke repositori. Anda tidak dapat melampirkan tag ke artefak individual.
Perhatikan pembatasan ini:
Kebijakan organisasi dapat secara kondisional mereferensikan tag yang diwarisi dari project induk dan yang lebih tinggi, tetapi tidak mendukung tag yang Anda lampirkan langsung ke repositori.
Log Audit Cloud tidak dibuat untuk melampirkan tag dan melihat binding tag pada repositori.
Untuk mengetahui informasi selengkapnya tentang tag dan kontrol akses bersyarat dengan tag, lihat Tag dan kontrol akses.
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
Melampirkan tag ke repositori
Setelah administrator project membuat tag, Anda dapat melampirkan tag ke repositori. Setiap tag memiliki kunci dan nilai. Anda memberi tag pada repositori dengan mengikat nilai ke repositori.
Untuk melampirkan tag ke repositori:
Konsol
Dapatkan nilai tag untuk dilampirkan dari administrator Anda.
Anda dapat melampirkan nilai tag dengan salah satu jenis ID berikut:
- Nama dengan namespace, misalnya
123456789012/env/dev
- ID permanen, seperti
tagValues/567890123456
- Nama dengan namespace, misalnya
Buka halaman Repositories di Konsol Google Cloud.
Pilih repositori yang ingin Anda beri tag.
Di bagian Repository Details, klik Show more.
Tag yang ada untuk repositori, termasuk tag yang diwarisi, akan ditampilkan.
Klik ikon Edit tag.
Di bagian Direct tags, klik Select scope.
Pilih project repositori Anda.
Di kolom key, ketik untuk memfilter daftar tag, lalu pilih kunci tag.
Di kolom Value, ketik untuk memfilter daftar tag, lalu pilih nilai tag.
Klik Simpan.
Klik Confirm.
Tag akan dikaitkan ke repositori Anda.
gcloud CLI
Dapatkan nilai tag untuk dilampirkan dari administrator Anda.
Anda dapat melampirkan nilai tag dengan salah satu jenis ID berikut:
- Nama dengan namespace, misalnya
123456789012/env/dev
- ID permanen, seperti
tagValues/567890123456
- Nama dengan namespace, misalnya
Lampirkan nilai tag dengan perintah berikut:
gcloud alpha resource-manager tags bindings create \ --tag-value=TAG_VALUE \ --parent=REPOSITORY_ID \ --location=LOCATION
Ganti nilai berikut:
TAG_VALUE
adalah ID permanen atau nama dengan namespace dari nilai tag yang akan dilampirkan.REPOSITORY_ID
adalah ID lengkap repositori, termasuk nama domain API untuk mengidentifikasi jenis resource (//artifactregistry.googleapis.com/
). Misalnya,//artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo
LOCATION
adalah lokasi repositori.
Perhatikan contoh berikut:
- Nilai tag:
815471563813/env/dev
- Project:
my-project
- Repositori:
my-repo
- Lokasi repositori:
us-east1
Perintah gcloud CLI berikut melampirkan tag ke repositori:
gcloud alpha resource-manager tags bindings create \ --tag-value=815471563813/env/dev \ --parent=//artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo \ --location=us-east1
Mencantumkan tag yang terpasang ke repositori
Anda dapat mencantumkan tag yang terpasang ke resource yang izin aksesnya Anda miliki.
Konsol
Buka halaman Repositories di Konsol Google Cloud.
Pilih repositori yang ingin Anda lihat.
Di bagian Repository Details, klik Show more.
Daftar Tag menampilkan semua tag repositori, termasuk tag langsung, dan tag yang diwarisi dari posisi yang lebih tinggi dalam hierarki resource.
gcloud CLI
Untuk menampilkan daftar tag yang terpasang ke repositori, jalankan perintah berikut:
gcloud alpha resource-manager tags bindings list \
--parent=REPOSITORY_ID \
--location=LOCATION
Perintah tersebut hanya mencantumkan tag yang terkait langsung ke resource yang ditentukan, sehingga
tidak menampilkan tag yang diwarisi dari project induk atau yang lebih tinggi. Anda dapat mencantumkan tag yang diwarisi dari project induk dengan menentukan project, bukan repositori dengan flag --parent
.
Misalnya, perintah ini mencantumkan tag yang terpasang ke repositori my-repo
dalam
project my-project
dan lokasi us-east1
:
gcloud alpha resource-manager tags bindings list \
--parent=//artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo \
--location=us-east1
Perintah ini mencantumkan tag yang terlampir ke nomor project 7890123456
:
gcloud alpha resource-manager tags bindings list \
--parent=//cloudresourcemanager.googleapis.com/projects/7890123456 \
Melepaskan tag dari repositori
Anda dapat melepaskan tag yang langsung dilampirkan ke repositori. Jika Anda perlu menghapus tag yang diwarisi dari project induk atau bagian lain dari hierarki resource, administrator project harus melepaskannya dari resource tempat tag dilampirkan.
Untuk menghapus tag yang dilampirkan ke repositori:
Konsol
Dapatkan nilai tag yang ingin dihapus. Jika Anda tidak mengetahui nilai tag, list tag yang dilampirkan ke repositori.
Buka halaman Repositories di Konsol Google Cloud.
Pilih repositori.
Di bagian Repository Details, klik Show more.
Tag yang ada untuk repositori, termasuk tag yang diwarisi, akan ditampilkan.
Klik ikon Edit tag.
Di bagian Tag langsung, cari tag yang ingin Anda hapus.
Klik ikon
hapus di samping tag yang ingin Anda hapus.Klik Simpan.
Klik Confirm.
Tag akan dihapus dari repositori Anda.
gcloud CLI
Dapatkan nilai tag yang ingin dihapus. Jika Anda tidak mengetahui nilai tag, list tag yang dilampirkan ke repositori.
Lepaskan nilai tag dengan perintah berikut:
gcloud alpha resource-manager tags bindings delete \ --tag-value=TAG_VALUE \ --parent=REPOSITORY_ID \ --location=LOCATION
Ganti nilai berikut:
Nilai tag
TAG_VALUE
untuk dilepas.REPOSITORY_ID
adalah ID lengkap repositori, termasuk nama domain API untuk mengidentifikasi jenis resource (//artifactregistry.googleapis.com/
). Misalnya,//artifactregistry.googleapis.com/projects/my-project/my-repo
LOCATION
adalah lokasi repositori.
Perhatikan contoh berikut:
- Nilai tag:
815471563813/env/dev
- Project:
my-project
- Repositori:
my-repo
- Lokasi repositori:
us-east1
Perintah gcloud CLI berikut melepaskan tag dari repositori:
gcloud alpha resource-manager tags bindings delete \ --tag-value=815471563813/env/dev \ --parent=//artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo \ --location=us-east1
Langkah selanjutnya
- Pelajari label repositori.