Kontrol akses Bigtable dengan IAM
Halaman ini menjelaskan opsi kontrol akses di Bigtable.
Ringkasan
Bigtable menggunakan Identity and Access Management (IAM) untuk kontrol akses. Untuk mengontrol siapa yang memiliki akses apa ke resource mana, tetapkan kebijakan IAM pada resource tersebut.
Resource Bigtable diatur dalam hierarki. Project Google Cloud adalah induk dari instance Bigtable, yang merupakan induk dari cluster dan tabelnya. Tabel adalah induk dari tampilan yang diizinkannya, sedangkan cluster adalah induk dari cadangannya. Anda dapat mengonfigurasi kontrol akses di setiap tingkat.
Jika memiliki izin di suatu tingkat, Anda otomatis memiliki izin di bawah tingkat tersebut. Misalnya, jika Anda memiliki akses di tingkat project, maka Anda memiliki akses ke instance, cluster, tabel, tampilan yang diotorisasi, dan tampilan terwujud berkelanjutan dalam project tersebut. Jika Anda diberi akses ke tampilan yang diotorisasi atau tampilan terwujud berkelanjutan, Anda tidak otomatis memiliki akses ke resource tingkat yang lebih tinggi yang merupakan induk dari tampilan yang diotorisasi atau tampilan terwujud berkelanjutan, seperti tabel dan instance. Perilaku ini disebut pewarisan kebijakan.
Untuk mengetahui informasi selengkapnya tentang hierarki IAM, lihat Pewarisan kebijakan IAM.
Berikut beberapa contoh penggunaan kontrol akses di tingkat project:
- Mengizinkan pengguna membaca, tetapi tidak menulis ke, tabel apa pun dalam project.
- Mengizinkan pengguna membaca dan menulis ke tabel apa pun dalam project, tetapi tidak mengelola instance.
- Mengizinkan pengguna membaca dan menulis ke tabel mana pun dalam project, serta mengelola instance.
Contoh penggunaan kontrol akses di tingkat instance meliputi hal berikut:
- Mengizinkan pengguna membaca dari tabel mana pun hanya dalam satu instance di project yang memiliki beberapa instance.
- Mengizinkan pengguna mengelola hanya satu instance dalam project yang memiliki beberapa instance.
Contoh penggunaan kontrol akses di tingkat tabel meliputi:
- Mengizinkan pengguna menulis ke tabel, tetapi tidak membaca dari tabel.
- Mengizinkan pengguna membaca dari tabel, tetapi tidak menulis ke tabel.
Contoh penggunaan kontrol akses di tingkat backup meliputi:
- Mencegah pengguna menghapus cadangan.
- Mencegah pengguna memulihkan dari cadangan.
Contoh penggunaan kontrol akses di tingkat tampilan yang diotorisasi mencakup hal berikut:
- Mengizinkan pengguna membaca tampilan yang diotorisasi, tetapi tidak mengubahnya.
- Izinkan pengguna melihat data hanya dari salah satu dari beberapa tampilan tabel yang diberi otorisasi.
Contoh penggunaan kontrol akses di tingkat tampilan terwujud berkelanjutan mencakup hal berikut:
- Memungkinkan pengguna membaca dari tampilan terwujud berkelanjutan, tetapi tidak mengubah tabel pokok.
Untuk mengetahui informasi selengkapnya tentang IAM dan fitur-fiturnya, lihat panduan developer IAM. Secara khusus, lihat Memberikan, Mengubah, dan Mencabut Akses.
Di Bigtable, Anda tidak dapat memberikan akses ke jenis principal berikut:
Untuk mengetahui daftar izin dan peran yang didukung Bigtable, lihat bagian berikut.
Mengaktifkan Bigtable API
Untuk melihat dan menetapkan peran IAM Bigtable, Anda harus mengaktifkan Bigtable API untuk project Anda. Hingga Anda mengaktifkan API, peran Bigtable tidak akan muncul di konsolGoogle Cloud .
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda
membuat project, kemungkinan Anda sudah memiliki izin ini melalui
peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui
peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin).
Pelajari cara memberikan peran.
Izin
Bagian ini merangkum izin yang didukung Bigtable.
Izin memungkinkan pengguna melakukan tindakan tertentu pada resource Bigtable. Misalnya, izin bigtable.instances.list memungkinkan pengguna
mencantumkan semua instance Bigtable dalam project. Anda tidak
memberikan izin kepada pengguna secara langsung; tetapi, Anda menetapkan peran
bawaan atau peran khusus kepada setiap pengguna, yang memberikan satu atau beberapa
izin.
Tabel berikut mencantumkan izin IAM yang terkait dengan Bigtable:
| Nama izin profil aplikasi | Deskripsi |
|---|---|
bigtable.appProfiles.create |
Buat profil aplikasi Bigtable. |
bigtable.appProfiles.delete |
Menghapus profil aplikasi Bigtable. |
bigtable.appProfiles.get |
Mendapatkan informasi tentang profil aplikasi Bigtable. |
bigtable.appProfiles.list |
Mencantumkan profil aplikasi Bigtable instance. |
bigtable.appProfiles.update |
Perbarui setelan untuk profil aplikasi Bigtable. |
| Nama izin pencadangan | Deskripsi |
|---|---|
bigtable.backups.create |
Buat cadangan Bigtable. |
bigtable.backups.delete |
Menghapus cadangan Bigtable. |
bigtable.backups.get |
Mendapatkan informasi tentang cadangan Bigtable. |
bigtable.backups.getIamPolicy |
Mendapatkan kebijakan IAM cadangan. |
bigtable.backups.list |
Mencantumkan cadangan Bigtable. |
bigtable.backups.restore |
Pulihkan dari cadangan Bigtable. |
bigtable.backups.testIamPermissions |
Mendapatkan izin pemanggil pada cadangan yang ditentukan. |
bigtable.backups.read |
Membaca dari cadangan Bigtable. |
bigtable.backups.setIamPolicy |
Memperbarui ACL cadangan. |
bigtable.backups.update |
Mengubah masa berlaku cadangan Bigtable. |
| Nama izin cluster | Deskripsi |
|---|---|
bigtable.clusters.create |
Buat cluster Bigtable. |
bigtable.clusters.delete |
Menghapus cluster Bigtable. |
bigtable.clusters.get |
Mendapatkan informasi tentang cluster Bigtable. |
bigtable.clusters.list |
Mencantumkan cluster Bigtable instance. |
bigtable.clusters.update |
Perbarui setelan untuk cluster Bigtable. |
| Nama izin tablet populer | Deskripsi |
|---|---|
bigtable.hotTablets.list |
Mencantumkan tablet aktif untuk cluster. |
| Nama izin tingkat dalam memori (Pratinjau) | Deskripsi |
|---|---|
bigtable.memoryLayer.get |
Melihat informasi tentang tingkat dalam memori Bigtable. |
bigtable.memoryLayer.list |
Mencantumkan tingkat dalam memori Bigtable. |
bigtable.memoryLayer.update |
Aktifkan, nonaktifkan, atau ubah ukuran tingkat dalam memori Bigtable. |
| Nama izin instance | Deskripsi |
|---|---|
bigtable.instances.create |
Buat instance Bigtable. |
bigtable.instances.createTagBinding |
Buat tag. |
bigtable.instances.delete |
Menghapus instance Bigtable. |
bigtable.instances.deleteTagBinding |
Menghapus tag. |
bigtable.instances.get |
Mendapatkan informasi tentang instance Bigtable. |
bigtable.instances.getIamPolicy |
Mendapatkan kebijakan IAM instance. |
bigtable.instances.list |
Mencantumkan instance Bigtable project. |
bigtable.instances.listEffectiveTagBindings |
Mencantumkan semua tag yang berlaku untuk instance. |
bigtable.instances.listTagBindings |
Mencantumkan tag instance. |
bigtable.instances.ping |
Mengirim permintaan pengoptimalan saluran. |
bigtable.instances.executeQuery |
Kirim permintaan ExecuteQuery dan PrepareQuery ke instance. |
bigtable.instances.setIamPolicy |
Perbarui ACL. |
bigtable.instances.update |
Perbarui setelan untuk instance Bigtable. |
| Nama izin Key Visualizer | Deskripsi |
|---|---|
bigtable.keyvisualizer.get |
Mendapatkan informasi Key Visualizer tentang tabel, termasuk metadata tentang pola akses dan distribusi row key. |
bigtable.keyvisualizer.list |
Mencantumkan informasi Key Visualizer yang tersedia untuk tabel. |
| Nama izin lokasi | Deskripsi |
|---|---|
bigtable.locations.list |
Mencantumkan lokasi Bigtable. |
| Nama izin tabel | Deskripsi |
|---|---|
bigtable.tables.checkConsistency |
Periksa apakah tabel yang direplikasi sudah terbaru. |
bigtable.tables.create |
Membuat tabel |
bigtable.tables.delete |
Menghapus tabel. |
bigtable.tables.generateConsistencyToken |
Buat token untuk memeriksa apakah tabel yang direplikasi sudah terbaru. |
bigtable.tables.get |
Mendapatkan informasi tentang tabel, termasuk grup kolom dan setelan masing-masing. |
bigtable.tables.getIamPolicy |
Mendapatkan kebijakan IAM tabel. |
bigtable.tables.list |
Mencantumkan tabel dalam instance. |
bigtable.tables.mutateRows |
Ubah baris dalam tabel, atau potong tabel. |
bigtable.tables.readRows |
Membaca baris dari tabel. Hal ini mencakup informasi tentang tabel, seperti grup kolom dan setelan masing-masing. |
bigtable.tables.sampleRowKeys |
Mendapatkan sampel kunci baris yang digunakan dalam tabel. |
bigtable.tables.setIamPolicy |
Memperbarui ACL tabel. |
bigtable.tables.undelete |
Memulihkan tabel yang dihapus. |
bigtable.tables.update |
Memperbarui setelan untuk tabel, termasuk grup kolom dan setelan masing-masing. |
| Nama izin lokasi | Deskripsi |
|---|---|
bigtable.locations.list |
Mencantumkan lokasi Bigtable. |
| Nama izin tampilan yang diotorisasi | Deskripsi |
|---|---|
bigtable.authorizedViews.create |
Buat tampilan yang diotorisasi. |
bigtable.authorizedViews.delete |
Menghapus tampilan yang diotorisasi. |
bigtable.authorizedViews.get |
Mendapatkan informasi tentang tampilan yang diotorisasi. |
bigtable.authorizedViews.getIamPolicy |
Mendapatkan kebijakan IAM tampilan resmi. |
bigtable.authorizedViews.list |
Mencantumkan tampilan yang diizinkan dalam tabel. |
bigtable.authorizedViews.mutateRows |
Mengubah baris dalam tampilan yang diotorisasi. |
bigtable.authorizedViews.readRows |
Membaca baris dari tampilan yang diotorisasi. |
bigtable.authorizedViews.sampleRowKeys |
Mendapatkan sampel kunci baris yang digunakan dalam tampilan yang diotorisasi. |
bigtable.authorizedViews.setIamPolicy |
Memperbarui kebijakan kontrol akses untuk tampilan yang diotorisasi. |
bigtable.authorizedViews.update |
Perbarui setelan untuk tampilan yang diotorisasi. |
| Nama izin tampilan terwujud berkelanjutan | Deskripsi |
|---|---|
bigtable.materializedViews.create |
Buat tampilan terwujud berkelanjutan. |
bigtable.materializedViews.delete |
Menghapus tampilan terwujud berkelanjutan. |
bigtable.materializedViews.get |
Mendapatkan informasi tentang tampilan terwujud berkelanjutan. |
bigtable.materializedViews.getIamPolicy |
Mendapatkan kebijakan IAM tampilan terwujud berkelanjutan. |
bigtable.materializedViews.list |
Mencantumkan tampilan terwujud berkelanjutan dalam instance. |
bigtable.materializedViews.readRows |
Membaca baris dari tampilan terwujud berkelanjutan. |
bigtable.materializedViews.sampleRowKeys |
Mendapatkan sampel kunci baris yang digunakan dalam tampilan terwujud berkelanjutan. |
bigtable.materializedViews.setIamPolicy |
Perbarui kebijakan kontrol akses untuk tampilan terwujud berkelanjutan. |
bigtable.materializedViews.update |
Memperbarui setelan untuk tampilan terwujud berkelanjutan. |
Peran yang telah ditetapkan
Setiap peran bawaan adalah paket berisi satu atau beberapa izin. Misalnya, roles/bigtable.reader memberikan akses hanya baca ke informasi tentang instance, cluster, tabel, dan grup kolom Bigtable, serta data yang ada dalam tabel Anda. Anda menetapkan peran kepada pengguna atau grup,
yang memungkinkan mereka melakukan tindakan pada resource di project Anda.
Tabel berikut mencantumkan peran bawaan untuk Bigtable, termasuk daftar izin yang terkait dengan setiap peran:
| Role | Permissions |
|---|---|
Bigtable Administrator( Administers all Bigtable instances within a project, including the data stored within tables. Can create new instances. Intended for project administrators. Lowest-level resources where you can grant this role:
|
|