Membuat dan mengelola tag

Panduan ini menjelaskan cara membuat dan mengelola tag untuk resource Akun Layanan.

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, seperti compute.instances.createTagBinding untuk instance Compute Engine.
    • Izin deleteTagBinding khusus resource, seperti compute.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 mendapatkan izin yang diperlukan untuk melampirkan tag ke akun layanan, minta administrator untuk memberi Anda peran IAM Admin Akun Layanan (roles/iam.ServiceAccountAdmin) di akun layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

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 akun layanan

Setelah tag dibuat, Anda harus melampirkan tag tersebut ke akun layanan.

gcloud

Untuk melampirkan tag ke akun layanan, Anda harus membuat resource binding tag menggunakan perintah gcloud resource-manager tags bindings create:

      gcloud resource-manager tags bindings create \
          --tag-value=TAGVALUE_NAME \
          --parent=RESOURCE_ID
      

Ganti kode berikut:

  • TAGVALUE_NAME: ID permanen atau nama dengan namespace dari nilai tag yang dilampirkan—misalnya, tagValues/567890123456.
  • RESOURCE_ID: ID unik atau email akun layanan, termasuk nama domain API (//iam.googleapis.com/). Misalnya, ID lengkap akun layanan dengan ID unik 1029384756 di project test-project adalah //iam.googleapis.com/projects/test-project/serviceAccounts/1029384756.

Mencantumkan tag yang dilampirkan ke akun layanan

Anda dapat melihat daftar binding tag yang dikaitkan langsung atau diwarisi oleh akun layanan.

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
      

Ganti kode berikut:

  • RESOURCE_ID: ID unik atau email akun layanan, termasuk nama domain API (//iam.googleapis.com/). Misalnya, ID lengkap akun layanan dengan ID unik 1029384756 di project test-project adalah //iam.googleapis.com/projects/test-project/serviceAccounts/1029384756.

Anda akan mendapatkan respons seperti berikut:

name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
          tagValue: tagValues/567890123456
          resource: //iam.googleapis.com/projects/test-project/serviceAccounts/1029384756
      

Melepaskan tag dari akun layanan

Anda dapat melepaskan tag yang telah dikaitkan secara langsung ke akun layanan. 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
      

Ganti kode berikut:

  • TAGVALUE_NAME: ID permanen atau nama dengan namespace dari nilai tag yang dilampirkan—misalnya, tagValues/567890123456.
  • RESOURCE_ID: ID unik atau email akun layanan, termasuk nama domain API (//iam.googleapis.com/). Misalnya, ID lengkap akun layanan dengan ID unik 1029384756 di project test-project adalah //iam.googleapis.com/projects/test-project/serviceAccounts/1029384756.

Menghapus kunci dan nilai tag

Saat menghapus kunci tag atau definisi nilai, pastikan tag tersebut dilepaskan dari akun layanan. 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 berikutnya