Saat menggunakan Hologres untuk mempercepat kueri pada data MaxCompute melalui tabel eksternal, izin yang tidak mencukupi dapat menyebabkan kesalahan. Bagian berikut menjelaskan kesalahan izin MaxCompute umum di Hologres, penyebabnya, serta solusinya.
Hologres mengakses data MaxCompute melalui tabel eksternal. Izin untuk tabel MaxCompute dikelola oleh administrator MaxCompute di sisi MaxCompute. Jika terjadi kesalahan izin, Anda biasanya perlu memberikan atau mengubah izin tersebut di MaxCompute.
Rangkuman masalah
Daftar berikut merangkum kesalahan izin MaxCompute umum di Hologres dan menautkan ke solusinya.
You have NO privilege 'odps:Select' on xxxsaat melakukan kueri pada tabel eksternalThe sensitive label of column 'xxx' is 2, but your effective label is 0You have NO privilege 'odps:Select' on xxxsaat mengakses tabel lintas proyekYou have NO privilege 'odps:List' on xxxsaat membuat tabel eksternalAccess denied by project ip white listsaat membuat tabel eksternal
Kueri tabel eksternal gagal: You have NO privilege 'odps:Select' on xxx
Masalah
Setelah membuat tabel eksternal di Konsol Hologres, Anda melakukan kueri pada tabel tersebut dan menerima kesalahan berikut: You have NO privilege 'odps:Select' on xxx.
Penyebab
Akun saat ini tidak memiliki izin SELECT pada tabel MaxCompute.
Solusi
Minta administrator MaxCompute untuk memberikan izin SELECT pada tabel tersebut kepada akun Anda di MaxCompute. Untuk informasi selengkapnya, lihat Berikan izin di MaxCompute.
Setelah izin diberikan, lakukan kueri ulang pada tabel eksternal untuk memastikan kesalahan tidak muncul lagi.
Kueri tabel eksternal gagal: The sensitive label of column 'xxx' is 2, but your effective label is 0
Masalah
Setelah membuat tabel eksternal di Konsol Hologres, Anda melakukan kueri pada tabel tersebut dan menerima kesalahan berikut: The sensitive label of column 'xxx' is 2, but your effective label is 0.
Penyebab
Akun saat ini hanya memiliki izin pada beberapa kolom dari tabel MaxCompute.
Solusi
Anda dapat menggunakan salah satu metode berikut untuk mengatasi masalah ini:
(Direkomendasikan) Upgrade instans Hologres Anda ke V0.8 atau versi yang lebih baru. Ini merupakan solusi utama jika instans Anda mendukung upgrade tersebut. Cari dan bergabunglah dengan kelompok pengguna Hologres untuk meminta upgrade. Untuk informasi selengkapnya, lihat Bergabung dengan kelompok pengguna Hologres.
Jika Anda tidak dapat melakukan upgrade instans, tambahkan parameter berikut sebelum menjalankan kueri.
set hg_experimental_enable_odps_executor=on;
set hg_experimental_enable_query_master=on;Jika Anda dapat memperoleh izin pada semua kolom, minta administrator MaxCompute untuk memberikan akses penuh ke semua kolom kepada akun Anda. Untuk informasi selengkapnya, lihat Berikan izin di MaxCompute.
Setelah menerapkan metode yang dipilih, lakukan kueri ulang pada tabel eksternal untuk memastikan kueri berhasil.
Akses lintas proyek gagal: You have NO privilege 'odps:Select' on xxx
Masalah
Akun Anda sudah memiliki izin SELECT pada tabel MaxCompute, tetapi menerima kesalahan berikut saat mengakses tabel MaxCompute lintas proyek: You have NO privilege 'odps:Select' on xxx.
Penyebab
Meskipun akun Anda memiliki izin SELECT pada tabel MaxCompute, akses lintas proyek tetap gagal karena MaxCompute menggunakan otorisasi berbasis proyek untuk akses lintas proyek.
Solusi
Jika MaxCompute menggunakan otorisasi berbasis proyek, tambahkan pernyataan SET berikut sebelum pernyataan SQL Anda di Hologres. Ganti <holoprojectname> dengan nama proyek Hologres Anda.
-- Untuk instans V0.7, jalankan pernyataan berikut untuk memberikan izin
set seahawks.seahawks_internal_current_odps_project='<holoprojectname>';
-- Untuk instans V0.8, jalankan pernyataan berikut untuk memberikan izin
set hg_experimental_odps_current_project_name = '<holoprojectname>';Setelah menambahkan pernyataan SET, jalankan kueri lintas proyek lagi untuk memastikan kesalahan tidak muncul lagi.
Pembuatan tabel eksternal gagal: You have NO privilege 'odps:List' on xxx
Masalah
Saat menggunakan HoloWeb atau DataStudio di Konsol Hologres untuk membuat tabel eksternal melalui antarmuka visual, kesalahan berikut dikembalikan: You have NO privilege 'odps:List' on xxx.
Penyebab
Akun Anda tidak memiliki izin LIST untuk melihat semua tabel di MaxCompute.
Solusi
Minta administrator MaxCompute untuk memberikan izin LIST kepada akun Anda agar dapat melihat semua tabel di MaxCompute. Untuk informasi selengkapnya, lihat Berikan izin di MaxCompute.
Gunakan pernyataan SQL untuk membuat tabel eksternal dan melakukan kueri data, bukan menggunakan antarmuka visual. Untuk informasi selengkapnya, lihat Buat tabel eksternal menggunakan SQL.
Setelah menerapkan metode yang dipilih, coba buat ulang tabel eksternal untuk memastikan kesalahan tidak muncul lagi.
Pembuatan tabel eksternal gagal: Access denied by project ip white list
Masalah
Saat menggunakan HoloWeb di Konsol Hologres untuk membuat tabel eksternal, kesalahan berikut dikembalikan: Access denied by project ip white list: sourceIP:'xxxx' is not in white list. project: xxxx.
Penyebab
Proyek MaxCompute saat ini dikonfigurasi untuk akses berbasis daftar putih, dan HoloWeb tidak termasuk dalam daftar putih tersebut.
Solusi
Saat fitur daftar putih alamat IP diaktifkan untuk proyek MaxCompute, hanya alamat IP yang ada dalam daftar putih yang dapat mengakses proyek tersebut. Meskipun memiliki ID AccessKey dan Rahasia AccessKey yang valid, permintaan dari alamat IP yang tidak termasuk dalam daftar putih akan ditolak. Tambahkan alamat IP dari pesan kesalahan ke daftar putih proyek MaxCompute. Untuk informasi selengkapnya, lihat Atur daftar putih alamat IP.
Setelah alamat IP ditambahkan ke daftar putih, coba buat ulang tabel eksternal untuk memastikan kesalahan tidak muncul lagi.
Pembuatan tabel eksternal gagal: You don't exist in project xxx
Masalah
Saat membuat tabel eksternal, kesalahan berikut dikembalikan: You don't exist in project xxx.
Penyebab
Akun yang membuat tabel eksternal tidak memiliki izin untuk mengakses proyek MaxCompute yang ditentukan.
Solusi
Verifikasi nama proyek MaxCompute yang ingin Anda akses. Jika nama proyek salah, gunakan nama proyek yang benar. Jika nama proyek sudah benar tetapi kesalahan tetap muncul, berikan izin kepada akun dalam pesan kesalahan untuk mengakses proyek MaxCompute tersebut. Untuk informasi selengkapnya, lihat Tambahkan pengguna ke proyek MaxCompute.
Setelah izin diberikan, coba buat ulang tabel eksternal untuk memastikan kesalahan telah teratasi.