Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan AWS Glue Data Catalog tampilan
Fitur ini dalam rilis pratinjau dan dapat berubah. Untuk informasi selengkapnya, lihat bagian Beta dan Pratinjau di dokumen Ketentuan AWS Layanan |
Gunakan AWS Glue Data Catalog tampilan saat Anda menginginkan satu tampilan umum AWS layanan seperti Amazon Athena dan Amazon Redshift. Dalam tampilan Katalog Data, izin akses ditentukan oleh pengguna yang membuat tampilan, bukan pengguna yang menanyakan tampilan. Metode pemberian izin ini disebut semantik definer.
Kasus penggunaan berikut menunjukkan bagaimana Anda dapat menggunakan tampilan Katalog Data.
-
Kontrol akses yang lebih besar — Anda membuat tampilan yang membatasi akses data berdasarkan tingkat izin yang dibutuhkan pengguna. Misalnya, Anda dapat menggunakan tampilan Katalog Data untuk mencegah karyawan yang tidak bekerja di departemen sumber daya manusia (SDM) melihat informasi yang dapat diidentifikasi secara pribadi.
-
Pastikan catatan lengkap — Dengan menerapkan filter tertentu ke tampilan Katalog Data Anda, Anda memastikan bahwa catatan data dalam tampilan Katalog Data selalu lengkap.
-
Keamanan yang ditingkatkan — Dalam tampilan Katalog Data, definisi kueri yang membuat tampilan harus utuh agar tampilan dibuat. Hal ini membuat tampilan Data Catalog kurang rentan terhadap perintah SQL dari aktor jahat.
-
Mencegah akses ke tabel yang mendasari — Semantik definer memungkinkan pengguna mengakses tampilan tanpa membuat tabel yang mendasarinya tersedia bagi mereka. Hanya pengguna yang mendefinisikan tampilan yang memerlukan akses ke tabel.
Definisi tampilan Katalog Data disimpan dalam format AWS Glue Data Catalog. Ini berarti Anda dapat menggunakan AWS Lake Formation untuk memberikan akses melalui hibah sumber daya, hibah kolom, atau kontrol akses berbasis tag. Untuk informasi selengkapnya tentang pemberian dan pencabutan akses di Lake Formation, lihat Memberikan dan mencabut izin pada sumber daya Katalog Data di Panduan Pengembang.AWS Lake Formation
Izin
Tampilan Katalog Data memerlukan tiga peran:Lake Formation Admin
,Definer
, danInvoker
.
-
Lake Formation Admin
— Memiliki akses untuk mengonfigurasi semua izin Lake Formation. -
Definer
— Membuat tampilan Katalog Data.Definer
Peran harus memilikiSELECT
izin penuh yang dapat diberikan pada semua tabel yang mendasari referensi definisi tampilan. -
Invoker
— Dapat menanyakan tampilan Katalog Data atau memeriksa metadatanya. Untuk menampilkan pemanggil kueri, Anda dapat menggunakan fungsiinvoker_principal()
DHTML. Untuk informasi selengkapnya, lihat invoker_principal ().
Hubungan kepercayaan Definer
peran harus memungkinkan sts:AssumeRole
tindakan untuk kepala layanan AWS Glue dan Lake Formation, seperti pada contoh berikut.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "glue.amazonaws.com", "lakeformation.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Izin IAM untuk akses Athena juga diperlukan. Untuk informasi selengkapnya, lihat AWS kebijakan terkelola untuk Amazon Athena.
Batasan
-
Tampilan Katalog Data tidak dapat mereferensikan tampilan lain.
-
Anda dapat mereferensikan hingga 10 tabel dalam definisi tampilan.
-
Tabel yang mendasari harus terdaftar di Lake Formation.
-
DEFINER
Kepala sekolah hanya dapat menjadi peran IAM. -
DEFINER
Peran harus memiliki izin penuhSELECT
(dapat diberikan) pada tabel yang mendasarinya. -
UNPROTECTED
Tampilan Katalog Data tidak didukung. -
Fungsi yang ditentukan pengguna (UDF) tidak didukung dalam definisi tampilan.
-
Sumber data federasi Athena tidak dapat digunakan dalam tampilan Katalog Data.
-
Tampilan Katalog Data tidak didukung untuk Hive metastor eksternal.
-
Athena menampilkan pesan kesalahan saat mendeteksi tampilan basi. Tampilan basi dilaporkan saat salah satu hal berikut terjadi:
-
Tampilan referensi tabel atau basis data yang tidak ada.
-
Perubahan skema atau metadata dibuat dalam tabel direferensikan.
-
Sebuah tabel direferensikan dijatuhkan dan diciptakan dengan skema yang berbeda atau konfigurasi.
-
Membuat tampilan Katalog Data
Contoh sintaks berikut menunjukkan bagaimana pengguna Definer
peran menciptakan tampilan orders_by_date
Data Catalog. Contoh mengasumsikan bahwa Definer
peran memiliki SELECT
izin penuh pada orders
tabel dalam database. default
CREATE PROTECTED MULTI DIALECT VIEW orders_by_date SECURITY DEFINER AS SELECT orderdate, sum(totalprice) AS price FROM orders WHERE order_city = 'SEATTLE' GROUP BY orderdate
Menanyakan tampilan Katalog Data
Setelah tampilan dibuat, Lake Formation
Admin
dapat memberikan SELECT
izin pada tampilan Katalog Data ke Invoker
prinsipal. Invoker
Prinsipal kemudian dapat menanyakan tampilan tanpa memiliki akses ke tabel dasar yang mendasari yang direferensikan oleh tampilan. Berikut ini adalah contoh Invoker
query.
SELECT * from orders_by_date where price > 5000
Memperbarui tampilan Katalog Data
Lake Formation Admin
Atau Definer
dapat menggunakan ALTER VIEW
UPDATE DIALECT
sintaks untuk memperbarui definisi tampilan. Contoh berikut memodifikasi definisi tampilan untuk memilih kolom dari returns
tabel bukan orders
tabel.
ALTER VIEW orders_by_date UPDATE DIALECT AS SELECT return_date, sum(totalprice) AS price FROM returns WHERE order_city = 'SEATTLE' GROUP BY orderdate
Untuk informasi selengkapnya tentang sintaks untuk membuat dan mengelola tampilan Katalog Data, lihatGlue Data Catalog tampilan sintaks.