Halaman ini menjelaskan cara menggunakan tag Google Cloud untuk mengelola akses ke instance Spanner Anda.
Google Cloud Tag adalah pasangan nilai kunci yang dapat Anda lampirkan ke resource Google Cloud Anda, seperti project atau instance Spanner. Anda dapat menggunakan tag untuk mengelompokkan dan mengatur instance, serta menetapkan kebijakan akses Identity and Access Management (IAM) secara bersyarat berdasarkan apakah instance memiliki tag tertentu atau tidak. Anda dapat membuat dan mengelola tag instance Spanner menggunakan Google Cloud CLI atau konsol.Google Cloud Setelah membuat tag, Anda dapat membuat binding tag untuk melampirkan tag ke resource Google Cloud . Binding tag diwarisi oleh turunan resource sesuai dengan Google Cloud hierarki resource. Misalnya, jika Anda melampirkan tag ke project, semua instance dalam project tersebut akan mewarisi tag tersebut. Anda juga dapat menggunakan label untuk mengatur Google Cloud resource, tetapi Anda tidak dapat menggunakan label untuk menetapkan kondisi pada kebijakan IAM.
Untuk mempelajari tag lebih lanjut, lihat Ringkasan tag.
Kasus penggunaan umum untuk tag instance Spanner
Beberapa kasus penggunaan umum untuk tag mencakup:
Tag IAM: Peran IAM berdasarkan apakah instance memiliki tag tertentu atau tidak. Keberadaan atau tidak adanya nilai tag adalah kondisi untuk kebijakan IAM tersebut dan membantu mengontrol akses ke instance Spanner Anda.
Tag status: Menunjukkan dan mengelola status instance dengan membuat tag. Misalnya,
state:active,state:todelete, danstate:archive.Tag lingkungan: Tentukan lingkungan produksi, pengujian, dan pengembangan untuk instance dengan membuat pasangan nilai kunci seperti
env:prod,env:dev, danenv:test.
Cara membuat dan mengelola tag instance Spanner
Tag disusun sebagai pasangan nilai kunci. Anda membuat kunci tag di resource organisasi, lalu melampirkan nilai tag ke kunci tag (misalnya, kunci tag environment dengan nilai prod dan dev). Kemudian, Anda dapat membuat binding tag yang menautkan nilai tag ke resource Google Cloud , seperti project atau instance Spanner. Perhatikan bahwa Anda tidak dapat menetapkan tag ke database.
Izin yang diperlukan
Izin yang Anda perlukan bergantung pada tindakan yang harus dilakukan. Untuk mengetahui informasi selengkapnya, lihat Izin yang diperlukan dalam dokumentasi Resource Manager.
Membuat kunci dan nilai tag
Sebelum dapat melampirkan tag ke instance, Anda harus membuat tag dan menetapkan nilainya. Untuk membuat kunci tag dan nilai tag, lihat Membuat tag dan Menambahkan nilai tag.
Melampirkan tag ke instance
Setelah membuat pasangan nilai kunci tag, Anda dapat membuat binding tag dan melampirkannya ke instance Spanner.
Konsol
Di konsol Google Cloud , buka halaman Spanner Instances.
Pilih kotak centang di samping instance yang ingin Anda lampirkan tag-nya.
Klik Tag.
Jika organisasi Anda tidak muncul di panel Tag, klik Pilih cakupan. Pilih organisasi Anda dan klik Buka.
Di panel Tag, pilih Tambahkan tag.
Di kolom Kunci, pilih kunci untuk tag yang ingin Anda lampirkan dari daftar. Anda dapat memfilter daftar dengan mengetik kata kunci.
Di kolom Nilai, pilih nilai untuk tag yang ingin dilampirkan dari daftar. Anda dapat memfilter daftar dengan mengetik kata kunci.
Jika Anda ingin melampirkan lebih banyak tag, klik Tambahkan Tag, lalu pilih kunci dan nilai untuk setiap tag.
Klik Simpan.
Dalam dialog Konfirmasi, klik Konfirmasi untuk melampirkan tag.
Notifikasi mengonfirmasi bahwa tag Anda telah diperbarui.
gcloud
Untuk membuat binding tag dan melampirkannya ke instance Anda, jalankan perintah berikut:
gcloud resource-manager tags bindings create
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--tag-value=TAG_VALUE_NAME
--location=LOCATION
PROJECT_ID: ID project.INSTANCE_ID: ID instance.TAG_VALUE_NAME:TAG_VALUE_NAMEadalah ID permanen atau ID namespace dari nilai tag yang akan dilampirkan. Misalnya:tagValues/4567890123(ID permanen) atau12345678/env/prod(ID namespace). ID namespace terdiri dari hal berikut:ORG_ID: ID organisasi.KEY_NAME: Nama tampilan (pendek) kunci tag Anda. Contoh,env.VALUE_NAME: Nama tampilan (pendek) nilai tag Anda. Contoh,prod.
LOCATION: Lokasi instance bervariasi bergantung pada konfigurasinya:- Untuk instance regional, lokasi konfigurasinya. Contoh,
us-east1 - Untuk instance dual-region, lokasi resource 2 huruf. Misalnya,
deuntukdual-region-germany1. - Untuk instance multi-region, nama konfigurasinya. Misalnya,
eur3ataunam-eur-asia1.
- Untuk instance regional, lokasi konfigurasinya. Contoh,
Misalnya, untuk membuat binding tag pada instance Spanner
my-instance dengan pasangan nilai kunci tag env:prod, jalankan perintah
berikut:
gcloud resource-manager tags bindings create
--parent=//spanner.googleapis.com/projects/my-project/instances/my-instance
--tag-value=123456789012/env/prod
--location=us-east1
API
Untuk membuat binding tag dan melampirkannya ke instance Spanner menggunakan REST atau RPC API, lihat Melampirkan tag ke resource.
IAM Conditions dan tag
Anda dapat menggunakan tag dan kondisi IAM untuk memberikan binding peran secara bersyarat kepada pengguna. Jika kebijakan IAM dengan binding peran bersyarat diterapkan, mengubah atau menghapus tag yang dikaitkan ke resource dapat menghapus akses pengguna ke resource tersebut.
Untuk mengetahui informasi selengkapnya, lihat Ringkasan IAM Conditions.
Konsol
Untuk menggunakan tag guna memberikan binding peran bersyarat kepada pengguna, lihat Mengelola akses ke tag.
gcloud
Untuk menerapkan kondisi berbasis tag ke kebijakan IAM, pastikan Anda memiliki izin yang diperlukan, lalu jalankan perintah berikut:
gcloud organizations add-iam-policy-binding ORG_ID
--role=roles/ROLE --member=PRINCIPAL
--condition=resource.matchTag('PROJECT_ID/KEY_NAME', 'VALUE_NAME')
ORG_ID: ID organisasi.ROLE: Nama peran yang akan ditetapkan ke principal. Nama peran adalah jalur lengkap peran bawaan, sepertiroles/logging.viewer, atau ID peran untuk peran khusus, sepertiorganizations/{ORG_ID}/roles/logging.viewer.PRINCIPAL: Akun utama tempat Anda ingin menambahkan binding peran. Nilai ini harus dalam formatuser|group|serviceAccount:emailataudomain:domain. Misalnya,user:test-user@gmail.com,group:admins@example.com,serviceAccount:test123@example.domain.com, ataudomain:example.domain.com.PROJECT_ID: ID project.KEY_NAME: Nama tampilan (pendek) kunci tag Anda. Contoh,env.VALUE_NAME: Nama tampilan (pendek) nilai tag Anda. Contoh,prod.
Perintah ini menambahkan binding kebijakan IAM ke kebijakan IAM organisasi. Binding kebijakan terdiri dari anggota, peran, dan kondisi opsional.
Misalnya, untuk memberikan peran spanner.backupAdmin secara bersyarat kepada user1@example.com di semua resource project 123456789012 dengan tag env:prod, jalankan perintah:
gcloud organizations add-iam-policy-binding my-organization
--member=user1@example.com --role=roles/spanner.backupAdmin
--condition=resource.matchTag('123456789012/env', 'prod')
Mencantumkan tag yang dilampirkan ke instance
Anda dapat melihat daftar binding tag yang dikaitkan langsung atau diwarisi oleh instance.
Konsol
Di konsol Google Cloud , buka halaman Spanner Instances.
Di bawah daftar instance, cari kolom Tag. Tag ditampilkan dalam format
key:value.
gcloud
Untuk mendapatkan daftar binding tag yang langsung dilampirkan ke resource, gunakan
perintah gcloud resource-manager tags bindings list. Jika menambahkan
flag --effective, Anda juga akan mendapatkan semua binding tag yang diwarisi oleh
resource ini.
Untuk mencantumkan semua binding tag yang dilampirkan ke instance, jalankan perintah berikut:
gcloud resource-manager tags bindings list
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--location=LOCATION
--effective
PROJECT_ID: ID project.INSTANCE_ID: ID instance.LOCATION: Lokasi instance bervariasi bergantung pada konfigurasinya:- Untuk instance regional, lokasi konfigurasinya. Contoh,
us-east1 - Untuk instance dual-region, lokasi resource 2 huruf. Misalnya,
deuntukdual-region-germany1. - Untuk instance multi-region, nama konfigurasinya. Misalnya,
eur3ataunam-eur-asia1.
- Untuk instance regional, lokasi konfigurasinya. Contoh,
API
Untuk melihat daftar binding tag yang dikaitkan langsung atau diwarisi oleh instance menggunakan REST atau RPC API, lihat Mencantumkan semua tag yang dikaitkan ke resource.
Menghapus binding tag
Saat menghapus kunci tag atau definisi nilai, pastikan tag tersebut dilepaskan dari instance. Anda harus menghapus binding tag yang ada sebelum menghapus tag.
Konsol
Di konsol Google Cloud , buka halaman Spanner Instances.
Pilih kotak centang di samping instance yang ingin Anda hapus pengikatan tag-nya.
Klik Tag.
Di panel Tag, di samping tag yang ingin dilepas, klik Hapus item.
Klik Simpan.
Dalam dialog Konfirmasi, klik Konfirmasi untuk melepas tag.
Notifikasi mengonfirmasi bahwa tag Anda telah diperbarui.
gcloud
Untuk menghapus binding tag, jalankan perintah berikut:
gcloud resource-manager tags bindings delete
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--tag-value=TAG_VALUE_NAME
--location=LOCATION
PROJECT_ID: ID project.INSTANCE_ID: ID instance.TAG_VALUE_NAME:TAG_VALUE_NAMEadalah ID permanen atau ID namespace dari nilai tag yang akan dilampirkan. Misalnya:tagValues/4567890123(ID permanen) atau12345678/env/prod(ID namespace). ID namespace terdiri dari hal berikut:ORG_ID: ID organisasi.KEY_NAME: Nama tampilan (pendek) kunci tag Anda. Contoh,env.VALUE_NAME: Nama tampilan (pendek) nilai tag Anda. Contoh,prod.
LOCATION: Lokasi instance bervariasi bergantung pada konfigurasinya:- Untuk instance regional, lokasi konfigurasinya. Contoh,
us-east1 - Untuk instance dual-region, lokasi resource 2 huruf. Misalnya,
deuntukdual-region-germany1. - Untuk instance multi-region, nama konfigurasinya. Misalnya,
eur3ataunam-eur-asia1.
- Untuk instance regional, lokasi konfigurasinya. Contoh,
API
Untuk melepaskan tag dari resource dengan menghapus resource binding tag menggunakan REST atau RPC API, lihat Melepaskan tag dari resource.
Menghapus tag
Setelah menghapus binding tag, Anda dapat menghapus tag. Untuk menghapus kunci tag dan nilai tag, lihat Menghapus tag.
Langkah berikutnya
Pelajari lebih lanjut Google Cloud tag.
Pelajari lebih lanjut cara membuat dan mengelola tag menggunakan Resource Manager.
Pelajari lebih lanjut label, cara lain untuk mengatur Google Cloud resource Anda.
Pelajari lebih lanjut cara membuat kebijakan izin IAM dengan kondisi.