Halaman ini menjelaskan cara mengakses database Spanner jika Anda adalah pengguna kontrol akses terperinci.
Untuk mempelajari kontrol akses terperinci, lihat Tentang kontrol akses terperinci.
Sebagai pengguna kontrol akses terperinci, Anda harus memilih peran database yang akan digunakan untuk menjalankan pernyataan dan kueri SQL, serta untuk melakukan operasi baris pada database. Pilihan peran Anda tetap ada selama sesi hingga Anda mengubah peran.
Saat Anda mengirimkan kueri, DML, atau operasi baris, Spanner akan memeriksa otorisasi menggunakan aturan berikut:
- Konsol Google Cloud
Spanner pertama-tama memeriksa apakah Anda memiliki izin IAM level database. Jika demikian, konsol Google Cloud tidak akan menampilkan pemilih peran database, dan sesi Anda akan dilanjutkan dengan izin tingkat database.
Jika hanya memiliki hak istimewa kontrol akses terperinci dan tidak memiliki izin tingkat database IAM, Anda harus telah diberi akses ke peran sistem
spanner_sys_reader
atau salah satu peran anggotanya. Pilih peran di halaman Ringkasan database agar sesi Konsol Google Cloud Anda dilanjutkan dengan hak istimewa yang diperlukan.
- Google Cloud SDK
Jika Anda menentukan peran database saat mengirimkan kueri, DML, atau operasi baris, Spanner akan memeriksa hak istimewa kontrol akses terperinci. Jika pemeriksaan gagal, Spanner tidak akan memeriksa izin IAM level database, dan operasi akan gagal.
Jika Anda tidak menentukan peran database, Spanner akan memeriksa izin IAM tingkat database, dan jika pemeriksaan berhasil, sesi Anda akan dilanjutkan dengan izin tingkat database.
Gunakan metode ini untuk menentukan peran database saat mengakses database Spanner:
Konsol
Pilih database, lalu di halaman Ringkasan database, klik ikon Ubah peran database (pensil) di samping kolom Peran saat ini.
Secara default, saat pengguna kontrol akses terperinci login, kolom ini memiliki nilai
public
. Untuk mengetahui informasi tentang peran sistempublic
, lihat Peran sistem kontrol akses terperinci.Pada dialog Change database role, pilih peran lain dari daftar peran yang tersedia.
Klik Perbarui.
Kolom Current role menampilkan peran baru.
gcloud
Tambahkan opsi
--database-role
ke perintahgcloud spanner databases execute-sql
, sebagai berikut:gcloud spanner databases execute-sql DATABASE_NAME \ --instance=INSTANCE_NAME \ --sql="SELECT * from TABLE_NAME;" \ --database-role=ROLE_NAME
Library klien
C++
C#
Go
Java
Node.js
PHP
Python
Ruby