Halaman ini menjelaskan cara menggunakan tag Google Cloud untuk mengelola akses ke instance Spanner.
Tag Google 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 untuk 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 tersebut ke resource Google Cloud Anda. Binding tag diwarisi oleh turunan resource sesuai dengan hierarki resource Google Cloud. Misalnya, jika Anda melampirkan tag ke project, semua instance dalam project tersebut akan mewarisi tag tersebut. Anda juga dapat menggunakan label untuk mengatur resource Google Cloud, 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 antara lain:
- 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 key-value pair 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
). Selanjutnya, 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
Agar dapat menambahkan 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 key-value pair 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 Key, 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 Anda lampirkan dari daftar. Anda dapat memfilter daftar dengan mengetik kata kunci.
Jika Anda ingin menambahkan lebih banyak tag, klik
Add 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, 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 (singkat) kunci tag Anda. Contoh,env
.VALUE_NAME
: Nama tampilan (singkat) nilai tag Anda. Contoh,prod
.LOCATION
: Lokasi instance Anda. Misalnya,us-east1
.
Misalnya, untuk membuat binding tag di 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 secara bersyarat kepada pengguna. Jika kebijakan IAM dengan binding peran bersyarat diterapkan, mengubah atau menghapus tag yang dilampirkan ke resource dapat menghapus akses pengguna ke resource tersebut.
Untuk mengetahui informasi selengkapnya, lihat Ringkasan Kondisi IAM.
Konsol
Untuk menggunakan tag guna memberikan binding peran secara 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 dari peran bawaan, misalnyaroles/logging.viewer
, atau ID peran untuk peran khusus, misalnyaorganizations/{ORG_ID}/roles/logging.viewer
.PRINCIPAL
: Akun utama tempat Anda ingin menambahkan binding peran. Nama 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 (singkat) kunci tag Anda. Contoh,env
.VALUE_NAME
: Nama tampilan (singkat) nilai tag Anda. Contoh,prod
.
Perintah ini menambahkan binding kebijakan IAM ke kebijakan IAM suatu organisasi. Binding kebijakan terdiri dari anggota, peran, dan kondisi opsional.
Misalnya, untuk memberikan peran spanner.backupAdmin
secara bersyarat ke 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 secara langsung dilampirkan 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
tanda --effective
, Anda juga akan mendapatkan semua binding tag yang diwarisi oleh
resource ini.
Untuk menampilkan semua binding tag yang dilampirkan ke sebuah 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. Misalnya,us-east1
.
Menghapus binding tag
Saat menghapus kunci tag atau definisi nilai, pastikan tag dilepas dari instance. Anda harus menghapus binding tag yang ada sebelum menghapus tag tersebut.
Konsol
Di konsol Google Cloud, buka halaman Spanner Instances.
Pilih instance yang binding tagnya ingin dihapus.
Klik
Tag.Di panel Tag, di samping tag yang ingin Anda lepaskan, klik
Hapus item.Klik Simpan.
Pada dialog Konfirmasi, klik Konfirmasi untuk melepaskan 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 (singkat) kunci tag Anda. Contoh,env
.VALUE_NAME
: Nama tampilan (singkat) nilai tag Anda. Contoh,prod
.LOCATION
: Lokasi instance Anda. Misalnya,us-east1
.
Menghapus tag
Setelah menghapus binding tag, Anda dapat menghapus tag. Untuk menghapus kunci tag dan nilai tag, lihat Menghapus tag.
Langkah selanjutnya
Pelajari tag Google Cloud lebih lanjut.
Pelajari lebih lanjut cara membuat dan mengelola tag di instance Spanner menggunakan Resource Manager.
Pelajari lebih lanjut tentang label, cara lain untuk mengatur resource Google Cloud Anda.
Pelajari lebih lanjut cara membuat kebijakan izin IAM dengan kondisi.