Membuat dan mengelola tag

Halaman ini menjelaskan Google Cloud tag dan cara menggunakannya dengan Pub/Sub. Tag dapat diterapkan ke topik, langganan, dan snapshot Pub/Sub. Dukungan untuk menerapkan tag ke skema Pub/Sub direncanakan.

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 selengkapnya tentang tag, lihat Ringkasan tag.

Tag dikaitkan ke resource dengan membuat resource binding tag yang menautkan nilai ke resource Google Cloud .

Izin yang diperlukan

Untuk mendapatkan izin yang Anda perlukan guna mengelola tag, minta administrator untuk memberi Anda peran IAM berikut:

  • Tag Viewer (roles/resourcemanager.tagViewer) pada resource yang dikaitkan dengan tag
  • Melihat dan mengelola tag di tingkat organisasi: Organization Viewer (roles/resourcemanager.organizationViewer) pada organisasi
  • Membuat, memperbarui, dan menghapus definisi tag: Administrator Tag (roles/resourcemanager.tagAdmin) pada resource yang tag-nya Anda buat, perbarui, atau hapus
  • Melampirkan dan menghapus tag dari resource: Tag User (roles/resourcemanager.tagUser) pada nilai tag dan resource tempat Anda melampirkan atau menghapus nilai tag

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

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

Untuk melampirkan tag ke topik, langganan, atau snapshot Pub/Sub, Anda memerlukan peran Pub/Sub Editor (roles/pubsub.editor).

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.

Menambahkan tag selama pembuatan resource

Anda dapat menambahkan tag saat membuat topik, langganan, atau snapshot. Menambahkan tag selama pembuatan resource, memungkinkan Anda langsung memberikan metadata penting untuk resource dan juga membantu pengorganisasian yang lebih baik, pelacakan biaya, dan penerapan kebijakan otomatis.

Konsol

  1. Buka halaman Pub/Sub di konsol Google Cloud .
  2. Buka Pub/Sub

  3. Pilih opsi untuk membuat topik, langganan, atau snapshot baru.
  4. Klik Kelola tag.
  5. Jika organisasi Anda tidak muncul di panel Kelola tag, klik Pilih cakupan untuk tag. Pilih untuk menambahkan tag yang ditentukan di tingkat organisasi atau project, lalu masukkan ID untuk tag tersebut.
  6. Klik Tambahkan tag.
  7. Pilih kunci untuk tag yang ingin Anda lampirkan dari daftar. Anda dapat memfilter daftar dengan mengetik kata kunci.
  8. Pilih nilai untuk tag yang ingin dilampirkan dari daftar. Anda dapat memfilter daftar dengan mengetik kata kunci.
  9. Klik Simpan. Bagian Tag diperbarui dengan informasi tag.
  10. Buat topik, langganan, atau snapshot Anda. Topik, langganan, atau snapshot baru dibuat dengan tag yang diberikan.

gcloud

Untuk menambahkan tag selama pembuatan topik, langganan, atau snapshot, jalankan perintah berikut:

       gcloud pubsub topics create TOPIC_ID --tags=TAG_KEY=TAG_VALUE
     

Ganti kode berikut:

  • TOPIC_ID: ID topik
  • TAG_KEY: ID permanen atau nama dengan namespace dari kunci tag yang dilampirkan-misalnya, tagKeys/567890123456
  • TAG_VALUE: ID permanen atau nama dengan namespace dari nilai tag yang dilampirkan—misalnya, tagValues/567890123456

Tentukan beberapa tag dengan memisahkan tag menggunakan koma, misalnya, TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2

API

Kirim permintaan POST ke URL berikut:

      https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics/TOPIC_ID

Berikan JSON berikut di isi permintaan:

      
{
  "name": "projects/PROJECT_ID/topics/TOPIC_ID"
  "tags": {
    "TAGKEY_NAME": "TAGVALUE_NAME"
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project
  • TOPIC_ID: ID topik
  • TAGKEY_NAME: ID permanen atau nama dengan namespace dari kunci tag yang dilampirkan-misalnya, tagKeys/567890123456
  • TAGVALUE_NAME: ID permanen atau nama dengan namespace dari nilai tag yang dilampirkan—misalnya, tagValues/567890123456

Menerapkan tag wajib

Anda dapat menerapkan tag wajib pada resource untuk memastikan tag tertentu ada saat resource dibuat, seperti tag Pusat Biaya, untuk mempertahankan kepatuhan terhadap kebijakan organisasi. Anda dapat melakukannya menggunakan kebijakan organisasi dan batasan kustom. Penerapan terjadi saat pembuatan resource, mencegah penyediaan resource tanpa tag yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat Penerapan tag wajib menggunakan kebijakan organisasi.

Menyiapkan batasan kustom untuk menerapkan tag

Konsol

  1. Di konsol Google Cloud , buka halaman Organization policies.

    Buka Organization policies

  2. Pilih pemilih project di bagian atas halaman.

  3. Dari pemilih project, pilih organisasi tempat Anda ingin menerapkan batasan kustom.

  4. Siapkan batasan kustom dengan parameter berikut:

    • Metode penegakan: Govern tags
    • Resource type: nama yang sepenuhnya memenuhi syarat dari resource REST Google Cloud yang ingin Anda terapkan tag wajibnya, misalnya, file.googleapis.com/Instance
    • Kondisi: kondisi Common Expression Language (CEL) yang menentukan kunci tag yang ingin Anda terapkan pada resource, misalnya resource.hasDirectTagKey("1234567890/owner") untuk menerapkan pengikatan tag untuk kunci tag 1234567890/owner. Fungsi CEL resource.hasDirectTagKey hanya mencocokkan tag yang diterapkan langsung ke resource dan tidak mempertimbangkan tag yang diwarisi dari ancestor dalam hierarki resource.
    • Tindakan: Allow atau Deny.
      • Izinkan: Jika kondisi yang ditentukan terpenuhi, tindakan untuk membuat atau memperbarui resource diizinkan.
      • Tolak: Jika kondisi yang ditentukan terpenuhi, tindakan untuk membuat atau memperbarui resource akan diblokir.
  5. Klik Create constraint.

gcloud

Buat file YAML untuk batasan khusus:

name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- RESOURCE_NAME
methodTypes:
- GOVERN_TAGS
condition: "CONDITION"
actionType: ACTION
displayName: DISPLAY_NAME
description: DESCRIPTION

Ganti kode berikut:

  • ORGANIZATION_ID: ID organisasi Anda, seperti 1234567890.

  • CONSTRAINT_NAME: nama yang diinginkan untuk batasan khusus baru Anda. Batasan khusus harus dimulai dengan custom., dan hanya boleh meliputi huruf besar, huruf kecil, atau angka, misalnya, custom.enforceMandatoryTags.

  • RESOURCE_NAME: nama yang sepenuhnya memenuhi syarat dari Google Cloud resource REST yang ingin Anda terapkan tag wajibnya, misalnya, file.googleapis.com/Instance.

  • CONDITION: kondisi Common Expression Language (CEL) yang menentukan kunci tag yang ingin Anda terapkan pada resource, misalnya resource.hasDirectTagKey("1234567890/owner") untuk menerapkan pengikatan tag untuk kunci tag 1234567890/owner.

  • ACTION: tindakan yang akan diambil jika condition terpenuhi. Ini dapat berupa ALLOW atau DENY.

    Tindakan penolakan berarti bahwa jika kondisi yang ditentukan terpenuhi, operasi untuk membuat atau memperbarui resource akan diblokir.

    Tindakan izinkan berarti bahwa jika kondisi yang ditentukan terpenuhi, operasi untuk membuat atau mengupdate resource diizinkan. Artinya, setiap kasus lain kecuali yang tercantum secara eksplisit dalam kondisi diblokir.

  • DISPLAY_NAME: nama yang mudah dibaca manusia untuk batasan. Kolom ini memiliki panjang maksimum 200 karakter.

  • DESCRIPTION: deskripsi batasan yang mudah dipahami untuk ditampilkan sebagai pesan error saat kebijakan dilanggar. Kolom ini memiliki panjang maksimum 2.000 karakter.

Siapkan batasan kustom agar tersedia untuk kebijakan organisasi di organisasi Anda.

Setelah menentukan batasan kustom, Anda dapat menguji dan menganalisis perubahan kebijakan organisasi serta menerapkan batasan.

Menambahkan tag ke resource yang ada

Untuk menambahkan tag ke topik, langganan, atau snapshot yang ada, ikuti langkah-langkah berikut:

Konsol

  1. Buka halaman Pub/Sub di konsol Google Cloud .
  2. Buka Pub/Sub

  3. Pilih halaman untuk resource yang ingin Anda lampiri tag. Misalnya, untuk melampirkan tag ke topik, buka halaman Topik.
  4. Klik Tag.
  5. Jika organisasi Anda tidak muncul di panel Tag, klik Pilih cakupan. Pilih organisasi Anda, lalu klik Buka.
  6. Klik Tambahkan tag.
  7. Pilih kunci untuk tag yang ingin Anda lampirkan dari daftar. Anda dapat memfilter daftar dengan mengetik kata kunci.
  8. Pilih nilai untuk tag yang ingin dilampirkan dari daftar. Anda dapat memfilter daftar dengan mengetik kata kunci.
  9. Klik Simpan.
  10. Dalam dialog Konfirmasi, klik Konfirmasi untuk melampirkan tag.
  11. Notifikasi mengonfirmasi bahwa tag Anda telah diperbarui.

gcloud

Untuk melampirkan tag ke topik, langganan, atau snapshot, 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 dikaitkan—misalnya, tagValues/567890123456.
  • RESOURCE_ID adalah ID lengkap resource, termasuk nama domain API untuk mengidentifikasi jenis resource (//pubsub.googleapis.com/). Misalnya, untuk melampirkan tag ke /projects/PROJECT_ID/topics/TOPIC_ID, ID lengkapnya adalah //pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID.

Mencantumkan tag yang dilampirkan ke resource

Anda dapat melihat daftar binding tag yang dikaitkan langsung atau diwarisi oleh topik, langganan, atau snapshot.

Konsol

  1. Buka halaman Pub/Sub di konsol Google Cloud .
  2. Buka Pub/Sub

  3. Pilih halaman untuk resource yang ingin Anda lihat tagnya. Misalnya, untuk melihat tag topik, buka halaman Topik.

    Tag ditampilkan di bagian Tag pada halaman topik di konsol.

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 adalah ID lengkap resource, termasuk nama domain API untuk mengidentifikasi jenis resource (//pubsub.googleapis.com/). Misalnya, untuk melampirkan tag ke /projects/PROJECT_ID/topics/TOPIC_ID, ID lengkapnya adalah //pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID.

Anda akan mendapatkan respons seperti berikut:

name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
          tagValue: tagValues/567890123456
          resource: //pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
      

Melepaskan tag dari resource

Anda dapat melepaskan tag yang telah dikaitkan secara langsung ke topik, langganan, atau snapshot. Tag yang diwariskan dapat diganti dengan melampirkan tag dengan kunci yang sama dan nilai yang berbeda, tetapi tag tersebut tidak dapat dilepaskan.

Konsol

  1. Buka halaman Pub/Sub di konsol Google Cloud .
  2. Buka Pub/Sub

  3. Pilih halaman untuk resource yang ingin Anda hapus tagnya. Misalnya, untuk menghapus tag dari topik, buka halaman Topik.
  4. Klik Tag.
  5. Di panel Tag, di samping tag yang ingin dilepas, klik Hapus item.
  6. Klik Simpan.
  7. Dalam dialog Konfirmasi, klik Konfirmasi untuk melepas tag.

Notifikasi mengonfirmasi bahwa tag Anda telah diperbarui.

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 dikaitkan—misalnya, tagValues/567890123456.
  • RESOURCE_ID adalah ID lengkap resource, termasuk nama domain API untuk mengidentifikasi jenis resource (//pubsub.googleapis.com/). Misalnya, untuk melampirkan tag ke /projects/PROJECT_ID/topics/TOPIC_ID, ID lengkapnya adalah //pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID.

Menghapus kunci dan nilai tag

Saat menghapus kunci tag atau definisi nilai, pastikan tag tersebut dilepaskan dari topik, langganan, atau snapshot. 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