Kontrol akses Bigtable dengan IAM
Halaman ini menjelaskan opsi kontrol akses yang tersedia untuk Anda di Bigtable .
Ringkasan
Bigtable menggunakan Identity and Access Management (IAM) untuk kontrol akses.
Untuk Bigtable, Anda dapat mengonfigurasi kontrol akses pada level project, instance, tabel, dan tampilan yang diotorisasi. Berikut beberapa contoh penggunaan kontrol akses di level project:
- Mengizinkan pengguna untuk membaca dari, tetapi tidak menulis ke, tabel mana pun dalam project.
- Mengizinkan pengguna membaca dan menulis ke tabel mana pun dalam project, tetapi tidak dapat mengelola instance.
- Memungkinkan pengguna membaca dan menulis ke tabel mana pun dalam project, serta mengelola instance.
Berikut adalah beberapa contoh penggunaan kontrol akses di tingkat instance:
- Izinkan pengguna untuk membaca dari tabel mana pun hanya dalam satu instance dalam project yang memiliki beberapa instance.
- Izinkan pengguna untuk hanya mengelola satu instance dalam project yang memiliki beberapa instance.
Contoh penggunaan kontrol akses di tingkat tabel meliputi:
- Memungkinkan pengguna untuk menulis ke tabel tetapi tidak membaca dari tabel.
- Memungkinkan pengguna membaca dari tabel tetapi tidak menulis ke tabel.
Contoh penggunaan kontrol akses di tingkat cadangan meliputi:
- Mencegah pengguna menghapus cadangan.
- Mencegah pengguna memulihkan dari cadangan.
Contoh penggunaan kontrol akses pada tingkat tampilan yang diizinkan mencakup hal berikut:
- Mengizinkan pengguna membaca tampilan yang diotorisasi tetapi tidak dapat mengubahnya.
- Memungkinkan pengguna melihat data hanya dari satu dari beberapa tampilan tabel yang diotorisasi.
Untuk deskripsi mendetail 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 akun utama 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. Anda tidak akan dapat melihat peran Bigtable di Konsol Google Cloud hingga API diaktifkan.
Izin
Bagian ini merangkum izin yang didukung Bigtable.
Izin memungkinkan pengguna melakukan tindakan tertentu pada resource Bigtable. Misalnya, izin bigtable.instances.list
memungkinkan pengguna untuk membuat daftar semua instance Bigtable dalam sebuah project. Anda tidak memberikan izin kepada pengguna secara langsung, tetapi menetapkan peran standar 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 |
Hapus profil aplikasi Bigtable. |
bigtable.appProfiles.get |
Mendapatkan informasi tentang profil aplikasi Bigtable. |
bigtable.appProfiles.list |
Membuat daftar profil aplikasi Bigtable instance. |
bigtable.appProfiles.update |
Memperbarui setelan untuk profil aplikasi Bigtable. |
Nama izin pencadangan | Deskripsi |
---|---|
bigtable.backups.create |
Buat cadangan Bigtable. |
bigtable.backups.delete |
Hapus cadangan Bigtable. |
bigtable.backups.get |
Mendapatkan informasi tentang cadangan Bigtable. |
bigtable.backups.getIamPolicy |
Membaca daftar kontrol akses (ACL) cadangan. Ditampilkan sebagai kebijakan IAM. |
bigtable.backups.list |
Mencantumkan cadangan Bigtable. |
bigtable.backups.restore |
Memulihkan dari cadangan Bigtable. |
bigtable.backups.testIamPermissions |
Dapatkan izin pemanggil pada cadangan yang ditentukan. |
bigtable.backups.read |
Membaca dari cadangan Bigtable. |
bigtable.backups.setIamPolicy |
Perbarui ACL cadangan. |
bigtable.backups.update |
Modifikasi masa berlaku pencadangan Bigtable. |
Nama izin cluster | Deskripsi |
---|---|
bigtable.clusters.create |
Buat cluster Bigtable. |
bigtable.clusters.delete |
Hapus cluster Bigtable. |
bigtable.clusters.get |
Mendapatkan informasi tentang cluster Bigtable. |
bigtable.clusters.list |
Membuat daftar cluster Bigtable instance. |
bigtable.clusters.update |
Perbarui setelan untuk cluster Bigtable. |
Nama izin hot tablet | Deskripsi |
---|---|
bigtable.hotTablets.list |
Menampilkan daftar tablet panas untuk cluster. |
Nama izin instance | Deskripsi |
---|---|
bigtable.instances.create |
Membuat 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 |
Membaca daftar kontrol akses instance (ACL). Ditampilkan sebagai kebijakan IAM. |
bigtable.instances.list |
Membuat daftar instance Bigtable project. |
bigtable.instances.listEffectiveTagBindings |
Cantumkan semua tag yang berlaku untuk sebuah instance. |
bigtable.instances.listTagBindings |
Menampilkan daftar tag instance. |
bigtable.instances.ping |
Kirim permintaan priming channel. |
bigtable.instances.setIamPolicy |
Perbarui ACL. |
bigtable.instances.update |
Memperbarui 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 kunci baris. |
bigtable.keyvisualizer.list |
Mencantumkan informasi Key Visualizer yang tersedia untuk tabel. |
Nama izin akses lokasi | Deskripsi |
---|---|
bigtable.locations.list |
Mencantumkan lokasi Bigtable. |
Nama izin tabel | Deskripsi |
---|---|
bigtable.tables.checkConsistency |
Periksa apakah tabel yang direplikasi adalah yang terbaru. |
bigtable.tables.create |
Membuat tabel |
bigtable.tables.delete |
Menghapus tabel. |
bigtable.tables.generateConsistencyToken |
Buat token untuk memeriksa apakah tabel yang direplikasi adalah versi terbaru. |
bigtable.tables.get |
Dapatkan informasi tentang tabel, termasuk grup kolom dan setelannya masing-masing. |
bigtable.tables.getIamPolicy |
Baca ACL tabel. Ditampilkan sebagai kebijakan IAM. |
bigtable.tables.list |
Membuat daftar tabel dalam sebuah instance. |
bigtable.tables.mutateRows |
Mengubah baris dalam tabel, atau memotong tabel. |
bigtable.tables.readRows |
Membaca baris dari tabel. Objek ini mencakup informasi tentang tabel, seperti grup kolom dan setelannya masing-masing. |
bigtable.tables.sampleRowKeys |
Dapatkan contoh kunci baris yang digunakan dalam tabel. |
bigtable.tables.setIamPolicy |
Perbarui ACL tabel. |
bigtable.tables.undelete |
Memulihkan tabel yang dihapus. |
bigtable.tables.update |
Perbarui setelan untuk tabel, termasuk grup kolom dan setelannya masing-masing. |
Nama izin akses lokasi | Deskripsi |
---|---|
bigtable.locations.list |
Mencantumkan lokasi Bigtable. |
nama izin lihat yang diotorisasi | Deskripsi |
---|---|
bigtable.authorizedViews.create |
Buat tampilan yang diizinkan. |
bigtable.authorizedViews.delete |
Menghapus tampilan yang diizinkan. |
bigtable.authorizedViews.get |
Mendapatkan informasi tentang tampilan yang diotorisasi. |
bigtable.authorizedViews.getIamPolicy |
Kontrol akses tampilan untuk tampilan yang diotorisasi. Ditampilkan sebagai kebijakan IAM. |
bigtable.authorizedViews.list |
Mencantumkan tampilan yang diizinkan dalam tabel. |
bigtable.authorizedViews.mutateRows |
Ubah baris dalam tampilan yang diizinkan. |
bigtable.authorizedViews.readRows |
Membaca baris dari tampilan yang diizinkan. |
bigtable.authorizedViews.sampleRowKeys |
Dapatkan contoh kunci baris yang digunakan dalam tampilan yang diotorisasi. |
bigtable.authorizedViews.setIamPolicy |
Memperbarui kebijakan kontrol akses untuk tampilan yang diizinkan. |
bigtable.authorizedViews.update |
Perbarui setelan untuk tampilan yang diizinkan. |
Peran yang telah ditetapkan
Setiap peran yang telah ditetapkan adalah paket yang 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 terdapat dalam tabel Anda. Anda menetapkan peran kepada pengguna atau grup, yang memungkinkan mereka melakukan tindakan pada resource di project Anda.
Tabel berikut berisi daftar peran yang telah ditetapkan 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:
|
|
Bigtable Reader( Provides read-only access to the data stored within Bigtable tables. Intended for data scientists, dashboard generators, and other data-analysis scenarios. Lowest-level resources where you can grant this role:
|
|
Bigtable User( Provides read-write access to the data stored within Bigtable tables. Intended for application developers or service accounts. Lowest-level resources where you can grant this role:
|
|
Bigtable Viewer( Provides no data access. Intended as a minimal set of permissions to access the Google Cloud console for Bigtable. Lowest-level resources where you can grant this role:
|
|
Peran khusus
Jika peran yang telah ditetapkan untuk Bigtable tidak memenuhi kebutuhan bisnis, Anda dapat menentukan peran khusus sendiri dengan izin yang Anda tentukan.
Jika peran khusus Anda perlu mendukung akses ke konsol Google Cloud, Anda harus mengidentifikasi tugas yang akan dilakukan pengguna, lalu memastikan peran khusus tersebut memiliki izin yang diperlukan untuk setiap tugas, seperti yang ditunjukkan pada tabel di bawah. Jika peran khusus tidak memiliki semua izin yang diperlukan untuk sebuah tugas, dan pengguna mencoba melakukan tugas tersebut, Konsol Google Cloud tidak akan berfungsi dengan benar.
Tugas Konsol Google Cloud | Izin yang diperlukan |
---|---|
Akses dasar ke konsol Google Cloud |
|
Membuat instance atau cluster |
Izin akses dasar, serta:
|
Mengubah instance atau cluster |
Izin akses dasar, serta:
|
Kelola konfigurasi replikasi |
Izin akses dasar, serta:
|
Menghapus instance atau cluster |
Izin akses dasar, serta:
|
Memantau instance dengan melihat grafik |
Izin akses dasar, serta:
|
Membuat dan memperbarui tabel |
Izin akses dasar, serta:
|
Memulihkan cadangan |
Izin akses dasar, serta:
|
Pengelolaan IAM
Bagian ini menjelaskan cara mengelola peran IAM dan izin terkait di tingkat project, instance, tabel, dan cadangan.
Pengelolaan IAM level project
Pada level project, Anda dapat memberikan, mengubah, dan mencabut peran IAM menggunakan Konsol Google Cloud, IAM API, atau Google Cloud CLI. Lihat Memberikan, Mengubah, dan Mencabut Akses untuk petunjuk detail.
Setelah membuat project, Anda dapat memberikan peran IAM level project kepada pengguna berdasarkan tingkat akses tertentu.
Peran yang diperlukan
Sebelum Anda menetapkan peran IAM level instance, level tabel, tingkat cadangan, atau tingkat tampilan resmi untuk pengguna, pastikan pengguna tersebut memiliki setidaknya salah satu peran IAM level project berikut:
- Penampil Bigtable (direkomendasikan)
- Bigtable Reader
- Bigtable User
- Bigtable Administrator
Pilih peran level project yang tidak memiliki izin lebih banyak daripada yang sebenarnya dibutuhkan pengguna di semua instance, tabel, cadangan, atau tampilan resmi dalam project. Karena alasan ini, Anda harus memberikan peran Bigtable Viewer dalam hampir semua kasus.
Jika pengguna tidak memiliki setidaknya salah satu dari peran level project tersebut, pengguna tidak akan memiliki akses ke Bigtable melalui Konsol Google Cloud. Google Cloud Console memerlukan salah satu peran level project tersebut agar dapat mengambil informasi tentang instance, cluster, tabel, atau cadangan atas nama pengguna.
Memberikan peran IAM tingkat instance
Pada tingkat instance, Anda dapat memberikan peran standar Bigtable kepada akun pengguna atau layanan. Anda juga dapat memberikan peran kustom yang telah ditentukan.
Untuk memberikan peran bawaan atau khusus kepada pengguna atau akun layanan di tingkat instance:
Konsol
Buka halaman instance Bigtable di Konsol Google Cloud.
Centang kotak di samping instance yang perannya ingin Anda kelola. Panel informasi akan muncul.
Di panel informasi, klik Izin.
Di bagian Tambahkan akun utama, mulai ketik alamat email pengguna atau akun layanan yang ingin Anda tambahkan, lalu klik alamat email pengguna atau akun layanan.
Klik menu drop-down Select a role, lalu klik Bigtable untuk memilih peran yang telah ditetapkan atau Custom untuk memilih peran khusus.
Klik nama setiap peran yang ingin Anda tetapkan.
Klik Tambahkan. Akun pengguna atau akun layanan diberi peran yang Anda tentukan di tingkat instance.
gcloud
Jika Anda tidak mengetahui ID instance, gunakan perintah
bigtable instances list
untuk melihat daftar instance project:gcloud bigtable instances list
Gunakan perintah
bigtable instances set-iam-policy
:gcloud bigtable instances set-iam-policy \ INSTANCE_ID \ POLICY_FILE
Berikan hal berikut:
- INSTANCE_ID: ID permanen untuk instance.
- POLICY_FILE: Jalur ke file JSON atau YAML lokal yang berisi kebijakan IAM yang valid.
Memberikan peran IAM tingkat tabel
Pada tingkat tabel, Anda dapat memberikan peran standar Bigtable kepada pengguna atau akun layanan. Anda juga dapat memberikan peran kustom yang telah ditentukan.
Untuk memberikan peran standar atau khusus kepada pengguna atau akun layanan di tingkat tabel:
Konsol
Buka halaman instance Bigtable di Konsol Google Cloud.
Klik nama instance yang berisi tabel dengan IAM yang Anda tetapkan.
Pilih Tables di panel navigasi sebelah kiri.
Centang kotak di samping tabel yang perannya ingin Anda kelola. Panel informasi akan muncul.
Di panel informasi, klik Izin.
Di bagian Tambahkan akun utama, mulai ketik alamat email pengguna atau akun layanan yang ingin Anda tambahkan, lalu klik alamat email pengguna atau akun layanan.
Klik menu drop-down Select a role, lalu klik Bigtable untuk memilih peran yang telah ditetapkan atau Custom untuk memilih peran khusus.
Klik nama setiap peran yang ingin Anda tetapkan.
Klik Tambahkan. Pengguna atau akun layanan diberi peran yang Anda tentukan di tingkat tabel.
gcloud
Jika Anda tidak mengetahui ID instance, gunakan perintah
bigtable instances list
untuk melihat daftar instance project:gcloud bigtable instances list
Jika Anda tidak mengetahui ID tabel instance, gunakan perintah
bigtable instances tables list
untuk melihat daftar tabel dalam instance.gcloud bigtable instances tables list --instances=INSTANCE_ID
Berikan hal berikut:
- INSTANCE_ID: ID permanen untuk instance.
Gunakan perintah
bigtable instances tables set-iam-policy
:gcloud bigtable instances tables set-iam-policy \TABLE_ID \ --instance=INSTANCE_ID \ POLICY_FILE
Berikan hal berikut:
- TABLE_ID: ID permanen untuk tabel.
- INSTANCE_ID: ID permanen untuk instance.
- POLICY_FILE: Jalur ke file JSON atau YAML lokal yang berisi kebijakan IAM yang valid.
Memberikan peran IAM tingkat cadangan
Pada tingkat pencadangan, Anda dapat memberikan peran standar Bigtable kepada akun pengguna atau layanan. Anda juga dapat memberikan peran kustom yang telah ditentukan.
Untuk memberikan peran bawaan atau khusus kepada pengguna atau akun layanan di level cadangan:
gcloud
Jika Anda tidak mengetahui ID instance, gunakan perintah
bigtable instances list
untuk melihat daftar instance project:gcloud bigtable instances list
Jika Anda tidak mengetahui ID pencadangan dalam instance, gunakan perintah
bigtable instances backups list
untuk melihat daftar cadangan dalam instance.gcloud bigtable backups list --instances=INSTANCE_ID
Berikan hal berikut:
- INSTANCE_ID: ID permanen untuk instance.
Gunakan perintah
gcloud bigtable backups set-iam-policy
:gcloud bigtable backups set-iam-policy BACKUP_ID \ --instance=INSTANCE_ID \ --cluster=CLUSTER_ID \ POLICY_FILE
Berikan hal berikut:
- BACKUP_ID: ID permanen untuk cadangan.
- INSTANCE_ID: ID permanen untuk instance.
TABLE_ID
: ID permanen untuk tabelPOLICY_FILE
: Jalur ke file JSON atau YAML lokal yang berisi kebijakan IAM yang valid.
Memberikan peran IAM tingkat tampilan yang diizinkan
Pada tingkat tampilan yang diotorisasi, Anda dapat memberikan peran standar BigQuery kepada akun pengguna atau layanan. Anda juga dapat memberikan peran khusus yang sudah Anda tetapkan.
Untuk memberikan peran khusus atau yang telah ditetapkan kepada pengguna atau akun layanan di tingkat tampilan yang diizinkan, jalankan perintah berikut:
gcloud
Jika Anda tidak mengetahui ID instance, gunakan perintah
bigtable instances list
untuk melihat daftar instance project:gcloud bigtable instances list
Jika Anda tidak mengetahui ID tabel instance, gunakan perintah
bigtable instances tables list
untuk melihat daftar tabel dalam instance.gcloud bigtable instances tables list --instances=INSTANCE_ID
Jika Anda tidak mengetahui ID tampilan, gunakan perintah
bigtable authorized-views list
untuk melihat daftar semua tampilan tabel yang diotorisasi.gcloud bigtable instances tables authorized-views list \ --instance=INSTANCE_ID \ --table=TABLE_ID
Gunakan perintah
bigtable authorized-views set-iam-policy
:gcloud bigtable authorized-views set-iam-policy TABLE_ID \ AUTHORIZED_VIEW_ID --instance=INSTANCE_ID POLICY_FILE
Berikan hal berikut:
INSTANCE_ID
: ID permanen untuk instance.TABLE_ID
: ID permanen untuk tabelAUTHORIZED_VIEW_ID
: ID permanen untuk tampilanPOLICY_FILE
: Jalur ke file JSON atau YAML lokal yang berisi kebijakan IAM yang valid.
IAM Conditions
Dengan IAM Conditions, Anda dapat menentukan dan menerapkan kontrol akses berbasis atribut bersyarat untuk beberapa resource Google Cloud, termasuk resource Bigtable.
Di Bigtable, Anda dapat menerapkan akses bersyarat berdasarkan atribut berikut:
- Atribut tanggal/waktu: Gunakan untuk menetapkan akses sementara (akan berakhir), terjadwal, atau berdurasi terbatas ke resource Bigtable. Misalnya, Anda dapat mengizinkan pengguna mengakses tabel hingga tanggal tertentu.
- Atribut resource: Gunakan untuk mengonfigurasi akses bersyarat berdasarkan nama resource, jenis resource, atau atribut layanan resource. Di Bigtable, Anda dapat menggunakan atribut instance, cluster, tabel, cadangan, dan tampilan sah untuk mengonfigurasi akses bersyarat. Misalnya, Anda dapat mengizinkan pengguna untuk mengelola tabel hanya pada tabel yang dimulai dengan awalan tertentu, atau Anda dapat mengizinkan pengguna untuk hanya mengakses tabel tertentu.
Untuk mengetahui informasi selengkapnya tentang Kondisi IAM, lihat Ringkasan kondisi.
Langkah selanjutnya
Pelajari IAM lebih lanjut.