Membuat dan mengelola tampilan resmi

Dokumen ini menjelaskan cara menetapkan, membuat, dan melakukan operasi administratif lainnya pada tampilan yang diotorisasi menggunakan Google Cloud CLI. Sebelum membaca dokumen ini, Anda harus sudah memahami Ringkasan tampilan yang diizinkan.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk melakukan operasi administratif pada tampilan yang diizinkan, minta administrator Anda untuk memberi Anda peran IAM Bigtable Admin (roles/bigtable.admin) pada tabel yang mendasarinya. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk melakukan operasi administratif pada tampilan yang diotorisasi. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk melakukan operasi administratif pada tampilan yang diotorisasi :

  • bigtable.views.get
  • bigtable.views.list
  • bigtable.views.create
  • bigtable.views.update
  • bigtable.views.delete
  • bigtable.views.getIamPolicy
  • bigtable.views.setIamPolicy
  • bigtable.views.readRows
  • bigtable.views.sampleRowKeys
  • bigtable.views.mutateRows

Anda mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.

Untuk mempelajari cara mengelola peran IAM Bigtable pada tingkat tampilan yang diizinkan, lihat pengelolaan IAM tingkat tampilan yang diizinkan.

Membuat tampilan yang diotorisasi

Saat Anda membuat tampilan yang diotorisasi, pertimbangkan kueri yang akan dijalankan pada tampilan tersebut. Permintaan baca, tulis, dan hapus yang dikirim ke tampilan yang diizinkan hanya boleh merujuk ke data yang ada dalam tampilan yang diizinkan. Ini berarti, misalnya, jika Anda mencoba membaca, menulis, atau menghapus baris yang memiliki kolom dalam tabel yang tidak ada dalam tampilan yang diizinkan, permintaan akan gagal.

Untuk menghindari situasi ketika permintaan data ke tampilan yang diotorisasi gagal karena kolom telah ditambahkan ke tabel yang tidak ada dalam tampilan yang diizinkan, Anda dapat menentukan awalan penentu kolom kosong "" untuk grup kolom.

Anda dapat menentukan hingga 100 parameter definisi per tampilan yang diizinkan.

Jalankan perintah bigtable authorized-views create.

gcloud bigtable authorized-views create AUTHORIZED_VIEW_ID \
  --instance=INSTANCE_ID \
  --table=TABLE_ID \
  --definition-file=DEFINITION_FILE_PATH

Ganti kode berikut:

  • AUTHORIZED_VIEW_ID: ID permanen untuk tampilan yang diizinkan yang belum digunakan untuk tabel
  • INSTANCE_ID: ID permanen untuk instance yang berisi tabel
  • TABLE_ID: ID permanen tabel yang Anda buat tampilan resminya
  • DEFINITION_FILE_PATH: jalur ke representasi JSON valid yang diformat dari tampilan yang diotorisasi. Untuk contoh file definisi yang diformat dengan benar, lihat Contoh file definisi.

Anda juga dapat menjalankan perintah tanpa menyediakan file definisi. Dalam hal ini, gcloud CLI akan membuka editor dan meminta Anda untuk memasukkan nilai.

Untuk mengonfirmasi bahwa tampilan yang diizinkan telah dibuat, dapatkan daftar tampilan yang diizinkan untuk tabel tersebut.

Mengubah tampilan yang diizinkan

Ubah tampilan yang diizinkan menggunakan perintah bigtable authorized-views update.

gcloud bigtable authorized-views update AUTHORIZED_VIEW_ID \
  --instance=INSTANCE_ID \
  --table=TABLE_ID \
  --definition-file=DEFINITION_FILE_PATH

Ganti kode berikut:

  • AUTHORIZED_VIEW_ID: ID permanen untuk tampilan yang diizinkan
  • INSTANCE_ID: ID permanen untuk instance
  • TABLE_ID: ID permanen tabel sumber
  • DEFINITION_FILE_PATH: jalur ke representasi JSON valid yang diformat dari tampilan yang diotorisasi. Untuk contoh file definisi yang diformat dengan benar, lihat Contoh file definisi.

Anda juga dapat menjalankan perintah tanpa menyediakan file definisi. Dalam hal ini, gcloud CLI akan membuka editor dan meminta Anda untuk memasukkan nilai.

Opsional: Agar gcloud CLI tidak menampilkan permintaan konfirmasi yang menunjukkan perbedaan antara struktur tampilan yang diizinkan saat ini dan setelah update di-commit, tambahkan flag --no-interactive ke perintah.

Mengaktifkan atau menonaktifkan perlindungan penghapusan

Guna mengaktifkan perlindungan penghapusan untuk tampilan yang diotorisasi, tambahkan --deletion-protection ke perintah pembaruan.

Untuk menonaktifkan perlindungan penghapusan, tambahkan no-deletion-protection ke perintah update.

Menghapus tampilan yang diizinkan

Jika Anda menghapus tabel, semua tampilan tabel yang diotorisasi juga akan dihapus.

Jika Anda menghapus tampilan yang diotorisasi, Anda tidak dapat membatalkan penghapusannya. Namun, jika Anda menghapus tabel, kemudian membatalkan penghapusan tabel tersebut, semua tampilan tabel yang diotorisasi akan dipulihkan bersama dengan tabel tersebut. Kemudian, Anda harus mengonfigurasi ulang IAM untuk tampilan yang diotorisasi serta untuk tabel. Untuk mengetahui detailnya, lihat Membatalkan penghapusan tabel.

Hapus tampilan yang diizinkan menggunakan perintah bigtable instances tables authorized-views delete.

gcloud bigtable authorized-views delete AUTHORIZED_VIEW_ID \
  --instance=INSTANCE_ID \
  --table=TABLE_ID

Ganti kode berikut:

  • AUTHORIZED_VIEW_ID: ID permanen untuk tampilan yang diizinkan
  • INSTANCE_ID: ID permanen untuk instance
  • TABLE_ID: ID permanen tabel sumber

Opsional: Agar gcloud CLI tidak menampilkan permintaan konfirmasi yang mengharuskan Anda mengonfirmasi atau membatalkan penghapusan, tambahkan flag --nointeractive ke perintah.

Mendapatkan daftar tampilan yang diizinkan untuk tabel

Jalankan perintah bigtable authorized-views list:

gcloud bigtable authorized-views list \
  --instance=INSTANCE_ID \
  --table=TABLE_ID

Ganti kode berikut:

  • INSTANCE_ID: ID permanen untuk instance
  • TABLE_ID: ID permanen untuk tabel

Melihat detail tentang tampilan yang diizinkan

Untuk mendapatkan detail tentang tampilan yang diizinkan, jalankan perintah bigtable instances tables authorized-views describe:

gcloud bigtable authorized-views describe \
–-instance=INSTANCE_ID \
–-table=TABLE_ID \
–-view=AUTHORIZED_VIEW_ID

Ganti kode berikut:

  • INSTANCE_ID: ID permanen untuk instance
  • TABLE_ID: ID permanen untuk tabel
  • AUTHORIZED_VIEW_ID: ID permanen untuk tampilan yang diizinkan

Langkah selanjutnya