Kontrol akses Bigtable dengan IAM

Halaman ini menjelaskan opsi kontrol akses di Bigtable.

Ringkasan

Bigtable menggunakan Identity and Access Management (IAM) untuk kontrol akses. Anda menetapkan kebijakan IAM pada resource untuk mengontrol siapa yang memiliki akses apa ke resource mana.

Resource Bigtable diatur dalam hierarki. Project Google Cloud adalah induk dari instance Bigtable, yang merupakan induk dari cluster dan tabelnya. Tabel adalah induk tampilan yang diotorisasi, sedangkan cluster adalah induk cadangannya. Anda dapat mengonfigurasi kontrol akses di setiap tingkat.

Jika memiliki izin di tingkat tertentu, Anda akan otomatis memiliki izin di bawah tingkat tersebut. Misalnya, jika memiliki akses di tingkat project, Anda akan memiliki akses ke instance, cluster, tabel, dan tampilan yang diotorisasi dalam project tersebut. Jika Anda diberi akses ke tampilan yang diotorisasi, Anda tidak otomatis memiliki akses ke resource tingkat yang lebih tinggi yang merupakan induk dari tampilan yang diotorisasi, seperti tabel dan instance. Perilaku ini disebut pewarisan kebijakan.

Untuk informasi selengkapnya tentang hierarki IAM, lihat Pewarisan kebijakan IAM.

Berikut adalah beberapa contoh penggunaan kontrol akses di tingkat project:

  • Mengizinkan pengguna membaca dari, tetapi tidak menulis ke, tabel apa pun dalam project.
  • Mengizinkan pengguna membaca dari dan menulis ke tabel apa pun dalam project, tetapi tidak mengelola instance.
  • Izinkan pengguna membaca dari dan menulis ke tabel apa pun dalam project, serta mengelola instance.

Contoh penggunaan kontrol akses di tingkat instance mencakup hal berikut:

  • Mengizinkan pengguna membaca dari tabel apa pun hanya dalam satu instance dalam project yang memiliki beberapa instance.
  • Mengizinkan pengguna hanya mengelola satu instance dalam project yang memiliki beberapa instance.

Contoh penggunaan kontrol akses di tingkat tabel meliputi hal berikut:

  • 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 pencadangan 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 diizinkan, tetapi tidak mengubahnya.
  • Memungkinkan pengguna melihat data hanya dari salah satu dari beberapa tampilan tabel yang diotorisasi.

Untuk mengetahui 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 prinsipal 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 mengaktifkan API.

Enable the API

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; sebagai gantinya, Anda 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 Menghapus profil aplikasi Bigtable.
bigtable.appProfiles.get Mendapatkan informasi tentang profil aplikasi Bigtable.
bigtable.appProfiles.list Mencantumkan profil aplikasi Bigtable instance.
bigtable.appProfiles.update Memperbarui setelan untuk profil aplikasi Bigtable.
Nama izin pencadangan Deskripsi
bigtable.backups.create Membuat cadangan Bigtable.
bigtable.backups.delete Menghapus 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 Mendapatkan izin pemanggil pada pencadangan 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 Memperbarui setelan untuk cluster Bigtable.
Nama izin tablet panas Deskripsi
bigtable.hotTablets.list Mencantumkan tablet panas untuk cluster.
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 Membaca daftar kontrol akses (ACL) instance. Ditampilkan sebagai kebijakan IAM.
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 pramuat saluran.
bigtable.instances.setIamPolicy Memperbarui 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 sudah yang terbaru.
bigtable.tables.create Membuat tabel
bigtable.tables.delete Menghapus tabel.
bigtable.tables.generateConsistencyToken Buat token untuk memeriksa apakah tabel yang direplikasi sudah yang terbaru.
bigtable.tables.get Mendapatkan informasi tentang tabel, termasuk grup kolom dan setelannya masing-masing.
bigtable.tables.getIamPolicy Membaca ACL tabel. Ditampilkan sebagai kebijakan IAM.
bigtable.tables.list Mencantumkan tabel dalam instance.
bigtable.tables.mutateRows Mengubah baris dalam tabel, atau memotong 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 contoh 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 akses 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 Melihat kontrol akses untuk tampilan yang diotorisasi. Ditampilkan sebagai kebijakan IAM.
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 Dapatkan sampel kunci baris yang digunakan dalam tampilan yang diotorisasi.
bigtable.authorizedViews.setIamPolicy Memperbarui kebijakan kontrol akses untuk tampilan yang diotorisasi.
bigtable.authorizedViews.update Memperbarui setelan untuk tampilan yang diizinkan.

Peran yang telah ditetapkan

Setiap peran bawaan adalah paket berisi satu atau beberapa izin. Misalnya, roles/bigtable.reader menyediakan 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 mencantumkan peran bawaan untuk Bigtable, termasuk daftar izin yang terkait dengan setiap peran:

Role Permissions

(roles/bigtable.admin)

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:

  • Table

bigtable.*

  • bigtable.appProfiles.create
  • bigtable.appProfiles.delete
  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.appProfiles.update
  • bigtable.authorizedViews.create
  • bigtable.authorizedViews.createTagBinding
  • bigtable.authorizedViews.delete
  • bigtable.authorizedViews.deleteTagBinding
  • bigtable.authorizedViews.get
  • bigtable.authorizedViews.getIamPolicy
  • bigtable.authorizedViews.list
  • bigtable.authorizedViews.listEffectiveTags
  • bigtable.authorizedViews.listTagBindings
  • bigtable.authorizedViews.mutateRows
  • bigtable.authorizedViews.readRows
  • bigtable.authorizedViews.sampleRowKeys
  • bigtable.authorizedViews.setIamPolicy
  • bigtable.authorizedViews.update
  • bigtable.backups.create
  • bigtable.backups.delete
  • bigtable.backups.get
  • bigtable.backups.getIamPolicy
  • bigtable.backups.list
  • bigtable.backups.read
  • bigtable.backups.restore
  • bigtable.backups.setIamPolicy
  • bigtable.backups.update
  • bigtable.clusters.create
  • bigtable.clusters.delete
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.clusters.update
  • bigtable.hotTablets.list
  • bigtable.instances.create
  • bigtable.instances.createTagBinding
  • bigtable.instances.delete
  • bigtable.instances.deleteTagBinding
  • bigtable.instances.executeQuery
  • bigtable.instances.get
  • bigtable.instances.getIamPolicy
  • bigtable.instances.list
  • bigtable.instances.listEffectiveTags
  • bigtable.instances.listTagBindings
  • bigtable.instances.ping
  • bigtable.instances.setIamPolicy
  • bigtable.instances.update
  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list
  • bigtable.locations.list
  • bigtable.tables.checkConsistency
  • bigtable.tables.create
  • bigtable.tables.delete
  • bigtable.tables.generateConsistencyToken
  • bigtable.tables.get
  • bigtable.tables.getIamPolicy
  • bigtable.tables.list
  • bigtable.tables.mutateRows
  • bigtable.tables.readRows
  • bigtable.tables.sampleRowKeys
  • bigtable.tables.setIamPolicy
  • bigtable.tables.undelete
  • bigtable.tables.update

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/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:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.authorizedViews.readRows

bigtable.authorizedViews.sampleRowKeys

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.executeQuery

bigtable.instances.get

bigtable.instances.list

bigtable.instances.ping

bigtable.keyvisualizer.*

  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list

bigtable.locations.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

bigtable.tables.readRows

bigtable.tables.sampleRowKeys

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/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:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.authorizedViews.mutateRows

bigtable.authorizedViews.readRows

bigtable.authorizedViews.sampleRowKeys

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.executeQuery

bigtable.instances.get

bigtable.instances.list

bigtable.instances.ping

bigtable.keyvisualizer.*

  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list

bigtable.locations.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

bigtable.tables.mutateRows

bigtable.tables.readRows

bigtable.tables.sampleRowKeys

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/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:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.get

bigtable.instances.list

bigtable.instances.listEffectiveTags

bigtable.instances.listTagBindings

bigtable.locations.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.list

resourcemanager.projects.get

Peran khusus

Jika peran bawaan untuk Bigtable tidak memenuhi persyaratan bisnis Anda, Anda dapat menentukan peran khusus Anda sendiri dengan izin yang Anda tentukan.

Jika peran kustom Anda perlu mendukung akses ke konsol Google Cloud, Anda harus mengidentifikasi tugas yang akan dilakukan pengguna, lalu memastikan bahwa peran kustom memiliki izin yang diperlukan untuk setiap tugas, seperti yang ditunjukkan dalam tabel berikut. Jika peran kustom tidak memiliki semua izin yang diperlukan untuk suatu 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
  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.instances.get
  • bigtable.instances.list
  • bigtable.locations.list
  • bigtable.tables.get
  • bigtable.tables.list
  • resourcemanager.projects.get
Membuat instance atau cluster

Izin akses dasar, ditambah:

  • bigtable.clusters.create
  • bigtable.instances.create
Mengubah instance atau cluster

Izin akses dasar, ditambah:

  • bigtable.clusters.update
  • bigtable.instances.update
Mengelola konfigurasi replikasi

Izin akses dasar, ditambah:

  • bigtable.appProfiles.create
  • bigtable.appProfiles.delete
  • bigtable.appProfiles.update
Menghapus instance atau cluster

Izin akses dasar, ditambah:

  • bigtable.clusters.delete
  • bigtable.instances.delete
Memantau instance dengan melihat grafik

Izin akses dasar, ditambah:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list
Membuat dan memperbarui tabel

Izin akses dasar, ditambah:

  • bigtable.tables.create
  • bigtable.tables.update
Memulihkan cadangan

Izin akses dasar, ditambah:

  • bigtable.backups.list
  • bigtable.tables.create
  • bigtable.backups.restore

Pengelolaan IAM

Bagian ini menjelaskan cara mengelola peran IAM dan izin terkait di level project, instance, tabel, dan pencadangan.

Pengelolaan IAM tingkat project

Di tingkat 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 mengetahui petunjuk mendetail.

Setelah membuat project, Anda dapat memberikan peran IAM tingkat project kepada pengguna berdasarkan tingkat akses tertentu.

Peran yang diperlukan

Sebelum menetapkan peran IAM level instance, level tabel, level cadangan, atau level tampilan resmi untuk pengguna, pastikan pengguna memiliki setidaknya salah satu peran IAM level project berikut:

  • Bigtable Viewer (direkomendasikan)
  • Bigtable Reader
  • Bigtable User
  • Bigtable Administrator

Pilih peran tingkat project yang tidak memiliki lebih banyak izin daripada yang benar-benar diperlukan pengguna di semua instance, tabel, pencadangan, atau tampilan resmi dalam project. Oleh karena itu, Anda harus memberikan peran Bigtable Viewer dalam hampir semua kasus.

Jika pengguna tidak memiliki setidaknya salah satu peran tingkat project ini, pengguna tersebut tidak akan memiliki akses ke Bigtable melalui konsol Google Cloud. Konsol Google Cloud memerlukan salah satu peran tingkat project ini agar dapat mengambil informasi tentang instance, cluster, tabel, atau pencadangan atas nama pengguna.

Memberikan peran IAM tingkat instance

Di tingkat instance, Anda dapat memberikan peran bawaan Bigtable kepada pengguna atau akun layanan. Anda juga dapat memberikan peran kustom yang telah Anda tentukan.

Untuk memberikan peran bawaan atau khusus kepada pengguna atau akun layanan di tingkat instance:

Konsol

  1. Buka halaman instance Bigtable di konsol Google Cloud.

    Buka halaman instance

  2. Centang kotak di samping instance yang perannya ingin Anda kelola. Panel informasi akan muncul.

  3. Di panel informasi, klik Izin.

  4. Di bagian Add principals, mulai ketik alamat email pengguna atau akun layanan yang ingin Anda tambahkan, lalu klik alamat email pengguna atau akun layanan.

  5. Klik menu drop-down Select a role, lalu klik Bigtable untuk memilih peran yang telah ditetapkan atau Custom untuk memilih peran kustom.

  6. Klik nama setiap peran yang ingin Anda tetapkan.

  7. Klik Tambahkan. Pengguna atau akun layanan diberi peran yang Anda tentukan di tingkat instance.

gcloud

  1. Jika Anda tidak mengetahui ID instance, gunakan perintah bigtable instances list untuk melihat daftar instance project Anda:

    gcloud bigtable instances list
    
  2. 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 di tingkat tabel

Di tingkat tabel, Anda dapat memberikan peran predefinsi Bigtable kepada pengguna atau akun layanan. Anda juga dapat memberikan peran kustom yang telah Anda tentukan.

Untuk memberikan peran bawaan atau khusus kepada pengguna atau akun layanan di level tabel:

Konsol

  1. Buka halaman instance Bigtable di konsol Google Cloud.

    Buka halaman instance

  2. Klik nama instance yang berisi tabel yang IAM-nya Anda tetapkan.

  3. Pilih Tabel di panel navigasi kiri.

  4. Centang kotak di samping tabel yang perannya ingin Anda kelola. Panel informasi akan muncul.

  5. Di panel informasi, klik Izin.

  6. Di bagian Add principals, mulai ketik alamat email pengguna atau akun layanan yang ingin Anda tambahkan, lalu klik alamat email pengguna atau akun layanan.

  7. Klik menu drop-down Select a role, lalu klik Bigtable untuk memilih peran yang telah ditetapkan atau Custom untuk memilih peran kustom.

  8. Klik nama setiap peran yang ingin Anda tetapkan.

  9. Klik Tambahkan. Pengguna atau akun layanan diberi peran yang Anda tentukan di tingkat tabel.

gcloud

  1. Jika Anda tidak mengetahui ID instance, gunakan perintah bigtable instances list untuk melihat daftar instance project Anda:

    gcloud bigtable instances list
    
  2. 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.
  3. 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 yang telah ditentukan Bigtable kepada pengguna atau akun layanan. Anda juga dapat memberikan peran kustom yang telah Anda tentukan.

Untuk memberikan peran bawaan atau khusus kepada pengguna atau akun layanan di level pencadangan:

gcloud

  1. Jika Anda tidak mengetahui ID instance, gunakan perintah bigtable instances list untuk melihat daftar instance project Anda:

    gcloud bigtable instances list
    
  2. Jika Anda tidak mengetahui ID cadangan di instance, gunakan perintah bigtable instances backups list untuk melihat daftar cadangan di instance.

    gcloud bigtable backups list --instances=INSTANCE_ID
    

    Berikan hal berikut:

    • INSTANCE_ID: ID permanen untuk instance.
  3. 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 pencadangan.
    • INSTANCE_ID: ID permanen untuk instance.
    • TABLE_ID: ID permanen untuk tabel
    • POLICY_FILE: Jalur ke file JSON atau YAML lokal yang berisi kebijakan IAM yang valid.

Memberikan peran IAM tingkat tampilan yang diotorisasi

Di tingkat tampilan yang diotorisasi, Anda dapat memberikan salah satu peran standar Bigtable kepada pengguna atau akun layanan. Anda juga dapat memberikan peran khusus yang telah Anda tentukan.

Untuk memberikan peran bawaan atau khusus kepada pengguna atau akun layanan di tingkat tampilan yang diotorisasi, lakukan tindakan berikut:

Konsol

  1. Buka daftar instance Bigtable di konsol Google Cloud.

    Buka daftar instance

  2. Klik instance yang berisi tampilan yang diotorisasi.

  3. Di panel navigasi, klik Bigtable Studio.

  4. Di penjelajah, luaskan tabel dan Authorized views.

  5. Di samping tampilan yang diotorisasi yang ingin Anda ubah, klik menu tindakan more_vert, lalu klik Berikan akses.

  6. Tambahkan minimal satu akun utama dan pilih peran yang akan ditetapkan kepada akun utama atau grup akun utama tersebut.

  7. Opsional: Untuk memberikan akses untuk peran tambahan, klik Tambahkan peran lain, lalu masukkan akun utama dan peran untuk setiap peran tambahan.

  8. Klik Simpan.

gcloud

  1. Jika Anda tidak mengetahui ID instance, gunakan perintah bigtable instances list untuk melihat daftar instance project Anda:

    gcloud bigtable instances list
    
  2. 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
    
  3. 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
    
  4. 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 tabel
    • AUTHORIZED_VIEW_ID: ID permanen untuk tampilan
    • POLICY_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 kondisional berdasarkan atribut berikut:

  • Atribut tanggal/waktu: Gunakan untuk menetapkan akses sementara (kadaluwarsa), terjadwal, atau berdurasi terbatas ke resource Bigtable. Misalnya, Anda dapat mengizinkan pengguna untuk 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, pencadangan, dan tampilan yang diotorisasi untuk mengonfigurasi akses kondisional. Misalnya, Anda dapat mengizinkan pengguna mengelola tabel hanya pada tabel yang dimulai dengan awalan tertentu, atau Anda dapat mengizinkan pengguna hanya mengakses tabel tertentu.

Untuk mengetahui informasi selengkapnya tentang IAM Conditions, lihat Ringkasan kondisi.

Langkah selanjutnya

Pelajari IAM lebih lanjut.