Masalah yang diketahui untuk AWS Lake Formation - AWS Lake Formation

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Masalah yang diketahui untuk AWS Lake Formation

Tinjau masalah yang diketahui ini untuk AWS Lake Formation.

Batasan pada penyaringan metadata tabel

AWS Lake Formation izin tingkat kolom dapat digunakan untuk membatasi akses ke kolom tertentu dalam tabel. Saat pengguna mengambil metadata tentang tabel menggunakan konsol atau API sepertiglue:GetTable, daftar kolom dalam objek tabel hanya berisi bidang yang dapat mereka akses. Penting untuk memahami keterbatasan penyaringan metadata ini.

Meskipun Lake Formation menyediakan metadata tentang izin kolom ke layanan terintegrasi, pemfilteran kolom yang sebenarnya dalam tanggapan kueri adalah tanggung jawab layanan terintegrasi. Klien Lake Formation yang mendukung pemfilteran tingkat kolom, termasuk Amazon Athena, Amazon Redshift Spectrum, dan Amazon EMR memfilter data berdasarkan izin kolom yang terdaftar di Lake Formation. Pengguna tidak akan dapat membaca data apa pun yang seharusnya tidak mereka akses. Saat ini, AWS Glue ETL tidak mendukung pemfilteran kolom.

catatan

Cluster EMR tidak sepenuhnya dikelola oleh. AWS Oleh karena itu, adalah tanggung jawab administrator EMR untuk mengamankan cluster dengan benar untuk menghindari akses data yang tidak sah.

Aplikasi atau format tertentu mungkin menyimpan metadata tambahan, termasuk nama dan jenis kolom, di Parameters peta sebagai properti tabel. Properti ini dikembalikan tanpa dimodifikasi dan dapat diakses oleh pengguna mana pun dengan SELECT izin pada kolom apa pun.

Misalnya, Avro SerDe menyimpan representasi JSON dari skema tabel dalam properti tabel bernamaavro.schema.literal, yang tersedia untuk semua pengguna dengan akses ke tabel. Kami menyarankan Anda menghindari menyimpan informasi sensitif dalam properti tabel dan menyadari bahwa pengguna dapat mempelajari skema lengkap tabel format Avro. Batasan ini khusus untuk metadata tentang tabel.

AWS Lake Formation menghapus properti tabel apa pun yang dimulai dengan spark.sql.sources.schema saat menanggapi permintaan glue:GetTable atau serupa jika pemanggil tidak memiliki SELECT izin pada semua kolom dalam tabel. Ini mencegah pengguna mendapatkan akses ke metadata tambahan tentang tabel yang dibuat dengan Apache Spark. Saat dijalankan di Amazon EMR, aplikasi Apache Spark masih dapat membaca tabel ini, tetapi pengoptimalan tertentu mungkin tidak diterapkan, dan nama kolom peka huruf besar/kecil tidak didukung. Jika pengguna memiliki akses ke semua kolom dalam tabel, Lake Formation mengembalikan tabel yang tidak dimodifikasi dengan semua properti tabel.

Masalah dengan mengganti nama kolom yang dikecualikan

Jika Anda menggunakan izin tingkat kolom untuk mengecualikan kolom dan kemudian mengganti nama kolom, kolom tidak lagi dikecualikan dari kueri, seperti. SELECT *

Masalah dengan menghapus kolom dalam tabel CSV

Jika Anda membuat tabel Katalog Data dengan format CSV dan kemudian menghapus kolom dari skema, kueri dapat menampilkan data yang salah, dan izin tingkat kolom mungkin tidak dipatuhi.

Solusi: Buat tabel baru sebagai gantinya.

Partisi tabel harus ditambahkan di bawah jalur umum

Lake Formation mengharapkan semua partisi tabel berada di bawah jalur umum yang diatur di bidang lokasi tabel. Saat Anda menggunakan crawler untuk menambahkan partisi ke katalog, ini berfungsi dengan mulus. Tetapi jika Anda menambahkan partisi secara manual, dan partisi ini tidak berada di bawah lokasi yang diatur dalam tabel induk, akses data tidak berfungsi.

Masalah dengan membuat database selama pembuatan alur kerja

Saat membuat alur kerja dari cetak biru menggunakan konsol Lake Formation, Anda dapat membuat database target jika tidak ada. Ketika Anda melakukannya, pengguna yang masuk mendapatkan CREATE_TABLE izin pada database yang dibuat. Namun, crawler yang dihasilkan alur kerja mengasumsikan peran alur kerja saat mencoba membuat tabel. Ini gagal karena peran tidak memiliki CREATE_TABLE izin pada database.

Solusi: Jika Anda membuat database melalui konsol selama penyiapan alur kerja, sebelum menjalankan alur kerja, Anda harus memberi peran yang terkait dengan alur kerja CREATE_TABLE izin pada database yang baru saja Anda buat.

Masalah dengan menghapus dan kemudian membuat ulang pengguna

Skenario berikut menghasilkan izin Lake Formation yang salah yang dikembalikan oleh: lakeformation:ListPermissions

  1. Buat pengguna dan berikan izin Lake Formation.

  2. Hapus pengguna.

  3. Buat ulang pengguna dengan nama yang sama.

ListPermissionsmengembalikan dua entri, satu untuk pengguna lama dan satu untuk pengguna baru. Jika Anda mencoba mencabut izin yang diberikan kepada pengguna lama, izin dicabut dari pengguna baru.

GetTablesdan SearchTables API tidak memperbarui nilai untuk IsRegisteredWithLakeFormation parameter

Ada batasan yang diketahui bahwa operasi API Katalog Data seperti GetTables dan SearchTables tidak memperbarui nilai untukIsRegisteredWithLakeFormation parameter, dan mengembalikan default, yang salah. Disarankan untuk menggunakan GetTable API untuk melihat nilai yang benar untukIsRegisteredWithLakeFormation parameter.

Operasi API Katalog Data tidak memperbarui nilai IsRegisteredWithLakeFormation parameter

Ada batasan yang diketahui bahwa operasi API Katalog Data seperti GetTables dan SearchTables tidak memperbarui nilai untuk IsRegisteredWithLakeFormation parameter, dan mengembalikan default, yang salah. Disarankan untuk menggunakan GetTable API untuk melihat nilai yang benar untuk IsRegisteredWithLakeFormation parameter.

Operasi Lake Formation tidak mendukung AWS Glue Schema Registry

Operasi Lake Formation tidak mendukung AWS Glue tabel yang berisi a SchemaReference dalam StorageDescriptor untuk digunakan dalam Schema Registery.