Gunakan tag untuk mengelompokkan repositori dan resource lainnya di seluruh Google Cloud untuk pelaporan, audit, dan kontrol akses dalam organisasi Google Cloud Anda.
Untuk mengelompokkan repositori dalam Artifact Registry untuk 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 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 setiap artefak.
Perhatikan pembatasan ini:
Kebijakan organisasi dapat secara bersyarat mereferensikan tag yang diwarisi dari project induk dan yang lebih tinggi, tetapi tidak mendukung tag yang Anda lampirkan langsung ke repositori.
Cloud Audit logs tidak dibuat untuk melampirkan tag dan melihat binding tag di 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 yang akan dilampirkan dari administrator Anda.
Anda dapat melampirkan nilai tag dengan salah satu jenis ID berikut:
- Nama dengan namespace, seperti
123456789012/env/dev
- ID permanen, seperti
tagValues/567890123456
- Nama dengan namespace, seperti
Buka halaman Repositories di konsol Google Cloud.
Pilih repositori yang ingin diberi 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 kunci, ketik untuk memfilter daftar tag, lalu pilih kunci tag.
Di kolom Nilai, ketik untuk memfilter daftar tag, lalu pilih nilai tag.
Klik Save.
Klik Confirm.
Tag dilampirkan ke repositori Anda.
gcloud CLI
Dapatkan nilai tag yang akan dilampirkan dari administrator Anda.
Anda dapat melampirkan nilai tag dengan salah satu jenis ID berikut:
- Nama dengan namespace, seperti
123456789012/env/dev
- ID permanen, seperti
tagValues/567890123456
- Nama dengan namespace, seperti
Lampirkan nilai tag dengan perintah berikut:
gcloud 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 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 dilampirkan ke repositori
Anda dapat mencantumkan tag yang dilampirkan 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 dilampirkan ke repositori, jalankan perintah berikut:
gcloud resource-manager tags bindings list \
--parent=REPOSITORY_ID \
--location=LOCATION
Perintah ini hanya mencantumkan tag yang langsung dilampirkan 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 dilampirkan ke repositori my-repo
di project my-project
dan lokasi us-east1
:
gcloud 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 terpasang ke nomor project 7890123456
:
gcloud resource-manager tags bindings list \
--parent=//cloudresourcemanager.googleapis.com/projects/7890123456 \
Melepaskan tag dari repositori
Anda dapat melepaskan tag yang dilampirkan langsung ke repositori. Jika Anda perlu menghapus tag yang diwariskan dari project induk atau bagian lain dari hierarki resource, administrator project harus melepaskan tag tersebut dari resource tempat tag dilampirkan.
Untuk menghapus tag yang dilampirkan ke repositori:
Konsol
Dapatkan nilai tag yang ingin Anda hapus. Jika Anda tidak mengetahui nilai tag, cantumkan 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 dihapus.
Klik ikon
hapus di samping tag yang ingin Anda hapus.Klik Save.
Klik Confirm.
Tag akan dihapus dari repositori Anda.
gcloud CLI
Dapatkan nilai tag yang ingin Anda hapus. Jika Anda tidak mengetahui nilai tag, cantumkan tag yang dilampirkan ke repositori.
Lepaskan nilai tag dengan perintah berikut:
gcloud resource-manager tags bindings delete \ --tag-value=TAG_VALUE \ --parent=REPOSITORY_ID \ --location=LOCATION
Ganti nilai berikut:
Nilai tag
TAG_VALUE
yang akan dilepaskan.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 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.