Halaman ini menjelaskan cara menggunakan tag Google Cloud untuk mengelola akses ke instance Spanner Anda.
TagGoogle Cloud adalah pasangan nilai kunci yang dapat Anda lampirkan ke resource Google Cloud , seperti project atau instance Spanner. Anda dapat menggunakan tag untuk mengelompokkan dan mengatur instance, serta menetapkan secara bersyarat kebijakan akses Identity and Access Management (IAM) 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 Identity and Access Management (IAM): Memberikan peran Identity and Access Management (IAM) berdasarkan apakah instance memiliki tag tertentu atau tidak. Adanya 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 bawah 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 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 instance yang ingin Anda lampirkan tag.
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 Value, pilih nilai untuk tag yang ingin dilampirkan dari daftar. Anda dapat memfilter daftar dengan mengetik kata kunci.
Jika Anda ingin melampirkan tag lainnya, klik
Tambahkan Tag, lalu pilih kunci dan nilai untuk masing-masing tag.Klik Simpan.
Dalam dialog Konfirmasi, klik Konfirmasi untuk melampirkan tag.
Notifikasi mengonfirmasi bahwa tag Anda telah diperbarui.
gcloud
Untuk membuat binding tag dan melampirkan ke instance Anda, jalankan perintah berikut:
gcloud resource-manager tags bindings create
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--tag-value=ORG_ID/KEY_NAME/VALUE_NAME
--location=LOCATION
PROJECT_ID
: ID project.INSTANCE_ID
: ID instance.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 Anda. Contoh,us-east1
.
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
Kondisi dan tag IAM
Anda dapat menggunakan tag dan kondisi IAM untuk memberikan binding peran bersyarat kepada pengguna. Jika kebijakan IAM dengan binding peran bersyarat diterapkan, mengubah atau menghapus tag yang terlampir ke resource dapat menghapus akses pengguna ke resource tersebut.
Untuk 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 akun utama. Nama peran adalah jalur lengkap peran standar, sepertiroles/logging.viewer
, atau ID peran untuk peran kustom, sepertiorganizations/{ORG_ID}/roles/logging.viewer
.PRINCIPAL
: Akun utama tempat Anda ingin menambahkan binding peran. URL ini harus dalam formatuser|group|serviceAccount:email
ataudomain: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-project
--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.
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 menampilkan daftar 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 Anda. Contoh,us-east1
.
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 instance yang ingin Anda hapus binding tagnya.
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=ORG_ID/KEY_NAME/KEY_VALUE
--location=LOCATION
PROJECT_ID
: ID project.INSTANCE_ID
: ID instance.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 Anda. Contoh,us-east1
.
Menghapus tag
Setelah menghapus binding tag, Anda dapat menghapus tag. Untuk menghapus kunci tag dan nilai tag, lihat Menghapus tag.
Langkah berikutnya
Pelajari Google Cloud tag lebih lanjut.
Pelajari lebih lanjut cara membuat dan mengelola tag di instance Spanner 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.