Halaman ini menjelaskan cara mengonfigurasi kontrol akses yang terperinci untuk database Spanner.
Untuk mempelajari kontrol akses yang terperinci, lihat Tentang kontrol akses terperinci.
Mengonfigurasi kontrol akses terperinci melibatkan langkah-langkah berikut:
Memberikan akses ke peran database ke akun utama Identity and Access Management (IAM).
Menginformasikan pengguna dan developer untuk mulai menggunakan peran database.
Pengguna kontrol akses terperinci kemudian harus menentukan peran database untuk menjalankan kueri, DML, atau operasi baris terhadap database.
Sebelum memulai
Pastikan setiap akun utama yang menjadi pengguna kontrol akses terperinci diberi
peran IAM Cloud Spanner Viewer
(roles/spanner.viewer
).
Peran ini direkomendasikan pada level project untuk pengguna yang harus berinteraksi dengan
resource Spanner di Konsol Google Cloud.
Untuk mengetahui petunjuknya, lihat Memberikan izin ke akun utama.
Membuat peran database dan memberikan hak istimewa
Peran {i>database<i} adalah kumpulan hak istimewa akses yang terperinci. Anda dapat membuat hingga 100 peran database untuk setiap database.
Menentukan peran dan hierarki peran dalam database Anda serta mengenkodenya dalam DDL. Seperti perubahan skema lainnya di Spanner, sebaiknya keluarkan perubahan skema dalam batch, bukan secara terpisah. Untuk informasi selengkapnya, lihat Membatasi frekuensi update skema.
Konsol
Untuk membuat peran database dan memberikan hak istimewa akses terperinci ke peran tersebut, ikuti langkah-langkah berikut:
Buka halaman Instance di Konsol Google Cloud.
Pilih instance yang berisi database yang ingin Anda tambahkan peran.
Pilih database.
Di halaman Overview, klik Spanner Studio.
Di halaman Spanner Studio, untuk setiap peran database yang ingin Anda buat dan berikan hak istimewa, ikuti langkah-langkah berikut:
Untuk membuat peran, masukkan pernyataan berikut:
CREATE ROLE ROLE_NAME;
Jangan mengklik Kirim.
Untuk memberikan hak istimewa kepada peran tersebut, masukkan pernyataan
GRANT
di baris berikutnya setelah pernyataanCREATE ROLE
.Guna mengetahui detail sintaksis untuk pernyataan
GRANT
, lihat Bahasa definisi data GoogleSQL. Untuk mengetahui informasi tentang hak istimewa, lihat Hak istimewa kontrol akses terperinci.Misalnya, untuk memberikan
SELECT
,INSERT
, danUPDATE
pada tabelemployees
dancontractors
ke peran databasehr_manager
, masukkan pernyataan berikut:GoogleSQL
GRANT SELECT, INSERT, UPDATE ON TABLE employees, contractors TO ROLE hr_manager;
PostgreSQL
GRANT SELECT, INSERT, UPDATE ON TABLE employees, contractors TO hr_manager;
Anda dapat menggunakan template DDL untuk pernyataan
GRANT
. Di panel Penjelajah, buka peran yang ingin Anda berikan hak istimewanya. Klik Lihat tindakan, lalu pilih jenis hak istimewa yang ingin Anda berikan akses untuk peran ini. Pernyataan templateGRANT
diisi di tab editor baru.
Klik Submit.
Jika terjadi error dalam DDL Anda, Google Cloud Console akan menampilkan error.
gcloud
Untuk membuat peran database dan memberikan hak istimewa akses terperinci ke peran tersebut, gunakan perintah gcloud spanner databases ddl update
dengan pernyataan CREATE ROLE
dan GRANT
.
Untuk mengetahui detail sintaksis tentang pernyataan CREATE ROLE
dan GRANT
, lihat
Bahasa definisi data GoogleSQL.
Misalnya, gunakan perintah berikut untuk membuat peran database dan memberikan hak istimewa kepada peran tersebut di satu atau beberapa tabel.
GoogleSQL
gcloud spanner databases ddl update DATABASE_NAME --instance=INSTANCE_NAME \ --ddl='CREATE ROLE ROLE_NAME; GRANT PRIVILEGES ON TABLE TABLES TO ROLE ROLE_NAME;'
PostgreSQL
gcloud spanner databases ddl update DATABASE_NAME --instance=INSTANCE_NAME \ --ddl='CREATE ROLE ROLE_NAME; GRANT PRIVILEGES ON TABLE TABLES TO ROLE_NAME;'
Ganti kode berikut:
PRIVILEGES
adalah daftar hak istimewa kontrol akses yang dipisahkan koma. Untuk mengetahui informasi tentang hak istimewa, lihat Hak istimewa kontrol akses terperinci.TABLES
adalah daftar tabel yang dipisahkan koma.
Misalnya, untuk memberikan SELECT
,
INSERT
, dan UPDATE
pada tabel employees
dan contractors
ke
peran database hr_analyst
dalam database hrdb1
di instance hr
, masukkan
pernyataan berikut:
GoogleSQL
gcloud spanner databases ddl update hrdb1 --instance=hr \ --ddl='CREATE ROLE hr_analyst; GRANT SELECT, INSERT, UPDATE ON TABLE employees, contractors TO ROLE hr_analyst;'
PostgreSQL
gcloud spanner databases ddl update hrdb1 --instance=hr \ --ddl='CREATE ROLE hr_analyst; GRANT SELECT, INSERT, UPDATE ON TABLE employees, contractors TO hr_analyst;'
Library klien
Contoh kode ini membuat dan melepaskan peran database.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Membuat hierarki peran dengan pewarisan
Anda dapat membuat hierarki peran database dengan memberikan satu peran database ke peran database lainnya. Peran turunan (dikenal sebagai peran anggota) mewarisi hak istimewa dari induk.
Untuk memberikan peran database ke peran database lain, gunakan pernyataan berikut:
GoogleSQL
GRANT ROLE role1 TO ROLE role2;
PostgreSQL
GRANT role1 TO role2;
Untuk mengetahui informasi selengkapnya, lihat Hierarki dan pewarisan peran database.
Memberikan akses ke peran database ke akun utama IAM
Sebelum akun utama dapat menggunakan peran database untuk mengakses resource Spanner, Anda harus memberinya akses ke peran database.
Konsol
Untuk memberikan akses ke peran database ke akun utama IAM, ikuti langkah-langkah berikut:
Di halaman Overview database, klik SHOW INFO panel jika panel Info belum terbuka.
Klik ADD PRINCIPAL.
Di panel Grant access to database_name, di bagian Add principals, tentukan satu atau beberapa akun utama IAM.
Di bagian Tetapkan peran, pada menu Pilih peran, pilih Cloud Spanner > Cloud Spanner Fine-Refine-Access User.
Anda hanya perlu memberikan peran ini satu kali kepada setiap akun utama. Dengan demikian, akun utama menjadi pengguna kontrol akses yang mendetail.
Klik ADD ANOTHER ROLE.
Pada menu Select a role, pilih Cloud Spanner > Cloud Spanner Database Role User.
Ikuti langkah-langkah berikut untuk membuat kondisi IAM yang menentukan peran yang akan diberikan.
Di samping peran Cloud Spanner Database Role User, klik ADD IAM KONDISI.
Di panel Tambahkan kondisi, masukkan judul dan deskripsi opsional untuk kondisi.
Jika memberikan satu peran database, Anda biasanya akan menyertakan nama peran tersebut dalam judul kondisi. Jika memberikan beberapa peran, Anda bisa menunjukkan sesuatu tentang kumpulan peran.
Klik EDITOR KONDISI.
Di kolom Ekspresi, masukkan kode berikut:
resource.type == "spanner.googleapis.com/DatabaseRole" && resource.name.endsWith("/ROLE")
Ganti
ROLE
dengan nama peran Anda.Atau, untuk memberikan akses ke akun utama ke lebih dari satu peran, tambahkan kondisi lainnya dengan operator or (
||
), seperti yang ditunjukkan pada contoh berikut:resource.type == "spanner.googleapis.com/DatabaseRole" && (resource.name.endsWith("/ROLE1") || resource.name.endsWith("/ROLE2"))
Kode ini memberikan dua peran. Ganti
ROLE1
danROLE2
dengan nama peran Anda. Untuk memberikan lebih dari dua peran, tambahkan lebih banyak kondisi atau.Anda dapat menggunakan ekspresi kondisi apa pun yang didukung oleh IAM. Untuk mengetahui informasi selengkapnya, lihat Ringkasan kondisi IAM.
Klik Save.
Kembali ke panel sebelumnya, pastikan kondisi tersebut muncul di kolom IAM Condition di sebelah kolom Role.
Klik Save.
Kembali ke Panel info, di bagian Role/Principal, perhatikan bahwa Cloud Spanner Database Role User muncul untuk setiap kondisi yang ditentukan.
Angka dalam tanda kurung di samping kondisi menunjukkan jumlah akun utama yang diberi peran database oleh kondisi tersebut. Anda dapat mengklik panah peluas untuk melihat daftar akun utama.
Untuk memperbaiki error dalam nama atau kondisi peran database, atau menambahkan peran database lain untuk akun utama, ikuti langkah-langkah berikut:
Luaskan entri Cloud Spanner Database Role User yang mencantumkan kondisi yang Anda inginkan.
Klik ikon Edit (pensil) di samping akun utama.
Di panel Edit access to database_name, lakukan salah satu hal berikut:
Klik ADD ANOTHER ROLE.
Untuk mengedit kondisi, klik ikon Edit (pensil) di samping nama kondisi. Kemudian, di halaman Edit condition, klik KONDISI EDITOR, lakukan koreksi, lalu klik Save dua kali.
gcloud
Untuk memberikan akses ke peran database ke akun utama IAM, ikuti langkah-langkah berikut:
Aktifkan kontrol akses terperinci untuk akun utama menggunakan perintah
gcloud spanner databases add-iam-policy-binding
sebagai berikut:gcloud spanner databases add-iam-policy-binding DATABASE_NAME \ --instance=INSTANCE_NAME \ --role=roles/spanner.fineGrainedAccessUser \ --member=MEMBER_NAME \ --condition=None
MEMBER_NAME
adalah ID untuk akun utama. Formatnya harus sepertiuser|group|serviceAccount:email
ataudomain:domain
.Perintah ini akan membuat akun utama menjadi pengguna kontrol akses yang sangat terperinci. Kirim perintah ini hanya sekali untuk setiap akun utama.
Jika berhasil, perintah akan membuat output seluruh kebijakan untuk database.
Berikan izin untuk menggunakan satu atau beberapa peran database dengan menggunakan perintah
gcloud spanner databases add-iam-policy-binding
sebagai berikut:gcloud spanner databases add-iam-policy-binding DATABASE_NAME \ --instance=INSTANCE_NAME \ --role=roles/spanner.databaseRoleUser \ --member=MEMBER_NAME \ --condition=CONDITION
MEMBER_NAME
adalah ID untuk akun utama. Formatnya harus sepertiuser|group|serviceAccount:email
ataudomain:domain
.CONDITION
adalah ekspresi kondisi IAM yang menentukan peran yang akan diberikan ke akun utama.CONDITION
memiliki bentuk berikut:--condition='expression=(resource.type == "spanner.googleapis.com/DatabaseRole" && resource.name.endsWith("/ROLE1")),title=TITLE,description=DESCRIPTION'
Atau, untuk memberikan akses ke akun utama ke lebih dari satu peran, tambahkan kondisi lainnya dengan operator or (
||
), seperti yang ditunjukkan pada contoh berikut:--condition='expression=(resource.type == "spanner.googleapis.com/DatabaseRole" && (resource.name.endsWith("/ROLE1") || resource.name.endsWith("/ROLE2"))),title=TITLE,description=DESCRIPTION'
Kode ini memberikan dua peran. Ganti
ROLE1
danROLE2
dengan nama peran Anda. Untuk memberikan lebih dari dua peran, tambahkan lebih banyak kondisi or dengan operator||
.Anda dapat menggunakan ekspresi kondisi apa pun yang didukung oleh IAM. Untuk mengetahui informasi selengkapnya, lihat Ringkasan kondisi IAM.
Jika berhasil, perintah akan membuat output seluruh kebijakan untuk database.
Contoh berikut memberikan peran database
hr_rep
danhr_manager
kejsmith@example.com
utama.gcloud spanner databases add-iam-policy-binding myDatabase \ --instance=myInstance \ --role=roles/spanner.databaseRoleUser \ --member=user:jsmith@example.com \ --condition='expression=(resource.type == "spanner.googleapis.com/DatabaseRole" && (resource.name.endsWith("/hr_rep") || resource.name.endsWith("/hr_manager"))),title=HR roles,description=Grant permissions on HR roles'
Library klien
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Memberi tahu pengguna dan developer untuk mulai menggunakan peran database
Setelah konfigurasi kontrol akses awal yang terperinci selesai, beri tahu pengguna dan developer aplikasi bahwa mereka harus mulai menggunakan peran database.
Pengguna kontrol akses yang terperinci harus mulai menentukan peran database saat mengakses database Spanner melalui Google Cloud Console atau Google Cloud CLI.
Aplikasi yang menggunakan kontrol akses terperinci harus menentukan peran database saat mengakses database.
Untuk mengetahui informasi selengkapnya, lihat Mengakses database dengan kontrol akses yang sangat terperinci.
Mentransisikan akun utama ke kontrol akses terperinci
Untuk mentransisikan akun utama IAM dari kontrol akses level database ke kontrol akses terperinci, ikuti langkah-langkah berikut:
Aktifkan kontrol akses terperinci untuk akun utama dan berikan akses ke semua peran database yang diperlukan, seperti yang dijelaskan dalam Memberikan akses ke peran database ke akun utama IAM.
Update semua aplikasi yang dijalankan sebagai akun utama ini. Tentukan peran database yang sesuai dalam panggilan ke metode library klien.
Cabut semua peran level database IAM dari akun utama. Dengan cara ini, akses untuk akun utama hanya diatur oleh satu metode.
Pengecualian: Untuk berinteraksi dengan resource Spanner di Google Cloud Console, semua pengguna harus memiliki peran IAM
roles/spanner.viewer
.Untuk mencabut peran level database IAM, ikuti petunjuk di Menghapus izin tingkat database.
Mencantumkan peran database
Anda dapat mencantumkan peran database yang terkait dengan database.
Konsol
Untuk mencantumkan peran database, masukkan kueri berikut di halaman Spanner Studio untuk database:
GoogleSQL
SELECT * FROM INFORMATION_SCHEMA.ROLES;
PostgreSQL
SELECT * FROM information_schema.enabled_roles;
Responsnya mencakup peran saat ini dan peran yang hak istimewanya dapat digunakan oleh peran saat ini melalui pewarisan. Untuk mengambil semua peran, gunakan perintah Google Cloud CLI.
gcloud
Untuk mendapatkan daftar peran database yang tidak difilter, masukkan perintah berikut.
Fungsi ini memerlukan izin spanner.databaseRoles.list
.
gcloud spanner databases roles list --database=DATABASE_NAME --instance=INSTANCE_NAME
Library klien
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Melihat hak istimewa yang diberikan ke peran database
Untuk melihat hak istimewa yang diberikan ke suatu peran, jalankan kueri berikut:
GoogleSQL
SELECT * FROM INFORMATION_SCHEMA.TABLE_PRIVILEGES WHERE grantee = 'ROLE_NAME'; SELECT * FROM INFORMATION_SCHEMA.COLUMN_PRIVILEGES WHERE grantee = 'ROLE_NAME'; SELECT * FROM INFORMATION_SCHEMA.CHANGE_STREAM_PRIVILEGES WHERE grantee = 'ROLE_NAME';
INFORMATION_SCHEMA.TABLE_PRIVILEGES
menampilkan hak istimewa di tabel dan tampilan.
Hak istimewa SELECT
, INSERT
, dan UPDATE
di TABLE_PRIVILEGES
juga
ditampilkan di COLUMN_PRIVILEGES
.
PostgreSQL
SELECT * FROM information_schema.table_privileges WHERE grantee = 'ROLE_NAME'; SELECT * FROM information_schema.column_privileges WHERE grantee = 'ROLE_NAME'; SELECT * FROM information_schema.change_stream_privileges WHERE grantee = 'ROLE_NAME';
information_schema.table_privileges
menampilkan hak istimewa di tabel dan tampilan.
Hak istimewa SELECT
, INSERT
, dan UPDATE
di table_privileges
juga
ditampilkan di column_privileges
.
Melihat pengguna kontrol akses terperinci
Untuk melihat daftar akun utama yang merupakan pengguna kontrol akses terperinci, jalankan perintah
berikut. Untuk menjalankan perintah, Anda harus mengaktifkan Cloud Asset API di project, dan Anda harus memiliki izin IAM cloudasset.assets.searchAllIamPolicies
.
gcloud asset search-all-iam-policies \ --scope=projects/PROJECT_NAME \ --query='roles=roles/spanner.fineGrainedAccessUser AND resource=//spanner.googleapis.com/projects/PROJECT_NAME/instances/INSTANCE_NAME/databases/DATABASE_NAME' \ --flatten=policy.bindings[].members[] \ --format='table(policy.bindings.members)'
Outputnya mirip dengan berikut ini:
MEMBERS user:222larabrown@gmail.com user:baklavainthebalkans@gmail.com serviceAccount:cs-fgac-sa-1@cloud-spanner-demo.google.com.iam.gserviceaccount.com serviceAccount:cs-fgac-sa-2@cloud-spanner-demo.google.com.iam.gserviceaccount.com
Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan API di project Google Cloud.
Melihat akun utama IAM dengan akses ke peran database
Untuk melihat daftar akun utama yang telah diberi akses ke peran database tertentu, jalankan perintah berikut. Untuk menjalankan perintah, Anda harus mengaktifkan Cloud Asset API di project Anda, dan Anda harus memiliki izin IAM cloudasset.assets.searchAllIamPolicies
.
gcloud asset search-all-iam-policies \ --scope=projects/PROJECT_NAME \ --query='roles=roles/spanner.databaseRoleUser AND policy:"resource.name" AND policy:/ROLE_NAME AND resource=//spanner.googleapis.com/projects/PROJECT_NAME/instances/INSTANCE_NAME/databases/DATABASE_NAME' \ --flatten=policy.bindings[].members[] \ --format='table(policy.bindings.members)'
Outputnya mirip dengan berikut ini:
MEMBERS 222larabrown@gmail.com
Melihat kondisi IAM untuk akun utama
Untuk melihat daftar kondisi IAM yang ditentukan saat memberikan peran Pengguna Peran Database Cloud Spanner ke akun utama, jalankan perintah berikut:
gcloud asset search-all-iam-policies \ --scope=projects/PROJECT_NAME \ --query='roles=roles/spanner.databaseRoleUser AND policy:resource.name AND policy:"PRINCIPAL_IDENTIFIER" AND resource=//spanner.googleapis.com/projects/PROJECT_NAME/instances/INSTANCE_NAME/databases/DATABASE_NAME' \ --flatten=policy.bindings[] \ --format='table(policy.bindings.condition.expression)'
dengan PRINCIPAL_IDENTIFIER adalah:
{ user:user-account-name | serviceAccount:service-account-name }
Contoh PRINCIPAL_IDENTIFIER:
user:222larabrown@gmail.com serviceAccount:cs-fgac-sa-1@cloud-spanner-demo.google.com.iam.gserviceaccount.com
Contoh output berikut menunjukkan dua ekspresi kondisi.
EXPRESSION resource.type == "spanner.googleapis.com/DatabaseRole" && resource.name.endsWith("/hr_analyst") resource.type == "spanner.googleapis.com/DatabaseRole" && resource.name.endsWith("/hr_manager")
Memeriksa kebijakan IAM untuk mengetahui kondisi peran database yang tidak ada
Setelah Anda memberikan akses ke peran database kepada akun utama, sebaiknya pastikan bahwa setiap binding IAM memiliki kondisi yang ditentukan.
Untuk melakukan pemeriksaan ini, jalankan perintah berikut:
gcloud asset search-all-iam-policies \ --scope=projects/PROJECT_NAME \ --query='roles:roles/spanner.databaseRoleUser AND resource=//spanner.googleapis.com/projects/PROJECT_NAME/instances/INSTANCE_NAME/databases/DATABASE_NAME' --flatten=policy.bindings[].members[]
Outputnya mirip dengan hal berikut ini:
ROLE MEMBERS EXPRESSION roles/spanner.databaseRoleUser serviceAccount:cs-fgac-sa-1@... roles/spanner.databaseRoleUser serviceAccount:cs-fgac-sa-2@... resource.type == "spanner…"
Perlu diperhatikan bahwa hasil pertama tidak memiliki kondisi, sehingga akun utama dalam binding ini memiliki akses ke semua peran database.
Mencabut peran database
Menghentikan peran database akan otomatis mencabut keanggotaan peran lainnya dari peran tersebut, dan mencabut keanggotaan peran dalam peran yang lain.
Untuk melepaskan peran database, Anda harus melakukan hal berikut terlebih dahulu:
- Cabut semua hak istimewa kontrol akses terperinci dari peran.
- Hapus semua binding kebijakan IAM yang merujuk ke peran tersebut, sehingga peran database yang dibuat nanti dengan nama yang sama tidak mewarisi binding tersebut.
Konsol
Untuk melepaskan peran database, ikuti langkah-langkah berikut:
Di halaman Overview database, klik Spanner Studio.
Untuk mencabut hak istimewa dari peran, masukkan pernyataan
REVOKE
.GoogleSQL
Guna mengetahui detail sintaksis untuk pernyataan
REVOKE
, lihat Bahasa definisi data GoogleSQL. Untuk mengetahui informasi tentang hak istimewa, lihat Hak istimewa kontrol akses terperinci.Misalnya, untuk mencabut
SELECT
,INSERT
, danUPDATE
pada tabelemployees
dancontractors
dari peran databasehr_manager
, masukkan pernyataan berikut:REVOKE SELECT, INSERT, UPDATE ON TABLE employees, contractors FROM ROLE hr_manager;
PostgreSQL
Guna mengetahui detail sintaksis untuk pernyataan
REVOKE
, lihat Bahasa definisi data PostgreSQL. Untuk mengetahui informasi tentang hak istimewa, lihat Hak istimewa kontrol akses terperinci.Misalnya, untuk mencabut hak istimewa
SELECT
,INSERT
, danUPDATE
pada tabelemployees
dancontractors
dari peran databasehr_manager
, masukkan pernyataan berikut:REVOKE SELECT, INSERT, UPDATE ON TABLE employees, contractors FROM hr_manager;
Anda dapat menggunakan template DDL untuk pernyataan
REVOKE
. Di panel Explorer, buka peran yang hak istimewanya ingin Anda cabut. Klik Lihat tindakan, lalu pilih jenis hak istimewa yang ingin Anda cabut akses untuk peran ini. Pernyataan templateREVOKE
diisi di tab editor baru.Hapus semua kondisi IAM yang terkait dengan peran tersebut.
Dalam daftar peran di Panel info, cari peran Pengguna Peran Database Cloud Spanner dengan judul kondisi minat yang berdekatan dengannya, lalu luaskan peran untuk melihat akun utama yang memiliki akses ke peran tersebut.
Untuk salah satu akun utama, klik ikon Edit principal (pensil).
Di halaman Edit access, klik ikon Delete role (tempat sampah) di samping peran Cloud Spanner Database Role User.
Klik Save.
Ulangi tiga langkah sebelumnya untuk akun utama lain yang tercantum di bawah kondisi.
Untuk melepaskan peran, buka halaman Spanner Studio dan masukkan pernyataan berikut:
DROP ROLE ROLE_NAME;
Klik Submit.
gcloud
Untuk mencabut semua hak istimewa untuk sebuah peran lalu melepaskan peran tersebut, gunakan perintah
gcloud spanner databases ddl update
sebagai berikut:GoogleSQL
gcloud spanner databases ddl update DATABASE_NAME \ --instance=INSTANCE_NAME \ --ddl='REVOKE PERMISSIONS ON TABLE TABLE_NAME FROM ROLE ROLE_NAME; DROP ROLE ROLE_NAME;'
PostgreSQL
gcloud spanner databases ddl update DATABASE_NAME \ --instance=INSTANCE_NAME \ --ddl='REVOKE PERMISSIONS ON TABLE TABLE_NAME FROM ROLE_NAME; DROP ROLE ROLE_NAME;'
Nilai yang valid untuk
PERMISSIONS
adalahSELECT
,INSERT
,UPDATE
, danDELETE
.Untuk menghapus kondisi IAM terkait, gunakan perintah
gcloud spanner databases remove-iam-policy-binding
sebagai berikut:gcloud spanner databases remove-iam-policy-binding DATABASE_NAME \ --instance=INSTANCE_NAME \ --role=ROLE_NAME \ --member=MEMBER_NAME \ --condition=CONDITION
MEMBER_NAME
adalah ID untuk akun utama. Formatnya harus sepertiuser|group|serviceAccount:email
ataudomain:domain
.CONDITION
adalah ekspresi kondisi IAM yang menentukan peran yang akan diberikan ke akun utama.CONDITION
memiliki bentuk berikut:--condition='expression=(resource.type == "spanner.googleapis.com/DatabaseRole" && (resource.name.endsWith("/ROLE1") || resource.name.endsWith("/ROLE2"))),title=TITLE,description=DESCRIPTION'
Seluruh spesifikasi kondisi harus sama persis dengan spesifikasi kondisi yang digunakan dalam perintah yang memberikan izin, termasuk judul dan deskripsi.
Library klien
Contoh kode ini membuat dan melepaskan peran database.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Informasi selengkapnya
- Tentang kontrol akses yang terperinci
- Kontrol akses yang mendetail untuk aliran perubahan
- Hak istimewa kontrol akses terperinci
- Referensi DDL GoogleSQL
- Membuat pembaruan skema