Halaman ini menjelaskan cara mengakses database Spanner jika Anda adalah pengguna kontrol akses yang mendetail.
Untuk mempelajari kontrol akses yang terperinci, lihat Tentang kontrol akses terperinci.
Sebagai pengguna kontrol akses yang sangat terperinci, Anda harus memilih peran database yang akan digunakan untuk mengeksekusi pernyataan dan kueri SQL, serta untuk menjalankan operasi baris pada database. Pemilihan peran tetap ada di sepanjang sesi Anda hingga Anda mengubah peran.
Saat Anda mengirimkan kueri, DML, atau operasi baris, Spanner akan memeriksa otorisasi menggunakan aturan berikut:
- Konsol Google Cloud
Spanner akan memeriksa terlebih dahulu 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 level database.
Jika Anda hanya memiliki hak istimewa kontrol akses yang sangat terperinci dan tidak memiliki izin level database IAM, Anda harus sudah diberi akses ke peran sistem
spanner_sys_reader
atau salah satu peran anggotanya. Pilih peran di halaman Overview database sehingga sesi Konsol Google Cloud Anda dapat melanjutkan 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 yang mendetail. 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 level database, dan jika pemeriksaan berhasil, sesi Anda akan dilanjutkan dengan izin level database Anda.
Gunakan metode ini untuk menentukan peran database saat mengakses database Spanner:
Konsol
Pilih database, lalu di halaman Overview database, klik ikon Change database role (pensil) di samping kolom Current role.
Secara default, saat pengguna kontrol akses yang mendetail login, kolom ini akan memiliki nilai
public
. Untuk mengetahui informasi tentang peran sistempublic
, lihat Peran sistem kontrol akses terperinci.Dalam dialog Change database role, pilih peran lain dari daftar peran yang tersedia.
Klik Perbarui.
Kolom Peran saat ini akan menampilkan peran baru.
gcloud
Tambahkan opsi
--database-role
ke perintahgcloud spanner databases execute-sql
, seperti 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