Pertimbangan dan batasan untuk menanyakan data yang terdaftar di Lake Formation - Amazon Athena

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

Pertimbangan dan batasan untuk menanyakan data yang terdaftar di Lake Formation

Pertimbangkan hal berikut saat menggunakan Athena untuk kueri data yang terdaftar di Lake Formation. Untuk informasi tambahan, lihat Masalah yang diketahui AWS Lake Formationdi AWS Lake Formation Panduan Pengembang.

Metadata kolom terlihat oleh pengguna yang tidak sah dalam beberapa keadaan dengan Avro dan kustom SerDe

Otorisasi level kolom Lake Formation mencegah pengguna mengakses data dalam kolom yang pengguna tidak memiliki izin Lake Formation. Namun, dalam situasi tertentu, pengguna dapat mengakses metadata yang menjelaskan semua kolom dalam tabel, termasuk kolom yang mereka tidak memiliki izin untuk data.

Hal ini terjadi ketika metadata kolom disimpan dalam properti tabel untuk tabel menggunakan format penyimpanan Apache Avro atau menggunakan kustom Serializer/Deserializer (SerDe) di mana skema tabel didefinisikan dalam properti tabel bersama dengan definisi. SerDe Saat menggunakan Athena dengan Lake Formation, sebaiknya Anda meninjau isi properti tabel yang Anda daftarkan dengan Lake Formation dan, jika memungkinkan, batasi informasi yang tersimpan di properti tabel untuk mencegah metadata sensitif terlihat oleh pengguna.

Memahami Formasi Danau dan Pemandangan

Untuk data yang terdaftar di Lake Formation, pengguna Athena dapat membuatVIEWhanya jika mereka memiliki izin Lake Formation ke tabel, kolom, dan sumber lokasi data Amazon S3 tempatVIEWdidasarkan. SetelahVIEWdibuat di Athena, izin Lake Formation dapat diterapkan keVIEW. Izin level kolom tidak tersedia untukVIEW. Pengguna yang memiliki izin Lake Formation keVIEWtetapi tidak memiliki izin ke tabel dan kolom tempat tampilan didasarkan tidak dapat menggunakanVIEWuntuk kueri data. Namun, pengguna dengan campuran izin ini dapat menggunakan pernyataan sepertiDESCRIBE VIEW,SHOW CREATE VIEW, danSHOW COLUMNSUntuk melihatVIEWMetadata. Untuk alasan ini, pastikan untuk menyelaraskan izin Lake Formation untuk setiapVIEWdengan izin tabel yang mendasari. Filter sel yang didefinisikan pada tabel tidak berlaku VIEW untuk tabel itu. Nama tautan sumber daya harus memiliki nama yang sama dengan sumber daya di akun asal. Ada batasan tambahan saat bekerja dengan tampilan dalam pengaturan lintas akun. Untuk informasi selengkapnya tentang menyiapkan izin untuk tampilan bersama di seluruh akun, lihatKonfigurasikan akses Katalog Data lintas akun.

Dukungan gunung es DDL

Athena saat ini tidak mendukung DDL operasi di tabel Gunung Es yang lokasinya terdaftar di Lake Formation. Mencoba menjalankan DDL kueri di salah satu tabel Iceberg ini dapat mengembalikan kesalahan akses Amazon S3 yang ditolak atau gagal dengan batas waktu kueri. DDLoperasi pada tabel Iceberg mengharuskan pengguna untuk memiliki akses langsung Amazon S3 ke lokasi tabel Iceberg.

Kontrol akses halus Formasi Danau dan kelompok kerja Athena

Pengguna di workgroup Athena yang sama dapat melihat data yang telah dikonfigurasi oleh kontrol akses berbutir halus Lake Formation agar dapat diakses oleh workgroup. Untuk informasi selengkapnya tentang menggunakan kontrol akses berbutir halus di Lake Formation, lihat Mengelola kontrol akses berbutir halus menggunakan AWS Lake Formationdi AWS Blog Data Besar.

Lokasi hasil kueri Athena di Amazon S3 tidak terdaftar di Lake Formation

Hasil kueri lokasi di Amazon S3 untuk Athena tidak dapat didaftarkan dengan Lake Formation. Izin Lake Formation tidak membatasi akses ke lokasi ini. Kecuali Anda membatasi akses, pengguna Athena dapat mengakses file hasil kueri dan metadata saat mereka tidak memiliki izin Lake Formation untuk data tersebut. Untuk menghindari hal ini, kami sarankan Anda menggunakan grup kerja untuk menentukan lokasi untuk hasil kueri dan menyelaraskan keanggotaan grup kerja dengan Lake Formation izin. Anda kemudian dapat menggunakan kebijakan IAM izin untuk membatasi akses ke lokasi hasil kueri. Untuk informasi selengkapnya tentang string kueri, lihat Bekerja dengan hasil kueri dan kueri terbaru.

Gunakan workgroup Athena untuk membatasi akses ke riwayat kueri

Sejarah kueri Athena mengekspos daftar kueri disimpan dan string kueri lengkap. Kecuali Anda menggunakan grup kerja untuk memisahkan akses ke riwayat kueri, pengguna Athena yang tidak berwenang untuk meminta data di Lake Formation dapat melihat string kueri yang dijalankan pada data tersebut, termasuk nama kolom, kriteria pemilihan, dan sebagainya. Kami menyarankan Anda menggunakan grup kerja untuk memisahkan riwayat permintaan, dan menyelaraskan keanggotaan Athena grup kerja dengan izin Lake Formation untuk membatasi akses. Untuk informasi selengkapnya, lihat Gunakan kelompok kerja untuk mengontrol akses kueri dan biaya.

Query CSE _ tabel KMS terenkripsi terdaftar dengan Lake Formation

Open Table Format (OTF) tabel seperti Apache Iceberg yang memiliki karakteristik berikut tidak dapat ditanyakan dengan Athena:

  • Tabel didasarkan pada lokasi data Amazon S3 yang terdaftar di Lake Formation.

  • Objek di Amazon S3 dienkripsi menggunakan enkripsi sisi klien (). CSE

  • Enkripsi menggunakan AWS KMS kunci yang dikelola pelanggan ()CSE_KMS.

Untuk menanyakan OTF non-tabel yang dienkripsi dengan CSE_KMS kunci), tambahkan blok berikut ke kebijakan AWS KMS kunci yang Anda gunakan untuk CSE enkripsi. <KMS_KEY_ARN> adalah ARN dari AWS KMS kunci yang mengenkripsi data. <IAM-ROLE-ARN> adalah IAM peran ARN yang mendaftarkan lokasi Amazon S3 di Lake Formation.

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "kms:Decrypt", "Resource": "<KMS-KEY-ARN>", "Condition": { "ArnLike": { "aws:PrincipalArn": "<IAM-ROLE-ARN>" } } }

Lokasi data yang dipartisi yang terdaftar dengan Lake Formation harus dalam subdirektori tabel

tabel dipartisi terdaftar dengan Lake Formation harus memiliki data dipartisi dalam direktori yang subdirektori dari tabel di Amazon S3. Misalnya, tabel dengan lokasis3://amzn-s3-demo-bucket/mytabledan partisis3://amzn-s3-demo-bucket/mytable/dt=2019-07-11,s3://amzn-s3-demo-bucket/mytable/dt=2019-07-12, dan sebagainya dapat didaftarkan dengan Lake Formation dan bertanya menggunakan Athena. Di sisi lain, tabel dengan lokasis3://amzn-s3-demo-bucket/mytabledan partisi yang terletak dis3://amzn-s3-demo-bucket/dt=2019-07-11,s3://amzn-s3-demo-bucket/dt=2019-07-12, dan sebagainya, tidak dapat didaftarkan di Lake Formation. Karena partisi tersebut bukan subdirektori daris3://amzn-s3-demo-bucket/mytable, mereka juga tidak dapat dibaca dari Athena.

Buat tabel sebagai kueri select (CTAS) memerlukan izin tulis Amazon S3

Buat Tabel Sebagai Pernyataan (CTAS) memerlukan akses tulis ke lokasi tabel Amazon S3. Untuk menjalankan CTAS kueri pada data yang terdaftar di Lake Formation, pengguna Athena harus IAM memiliki izin untuk menulis ke tabel lokasi Amazon S3 selain izin Lake Formation yang sesuai untuk membaca lokasi data. Untuk informasi selengkapnya, lihat Membuat tabel dari hasil query (CTAS).

DESCRIBEIzin diperlukan pada database default

DESCRIBEIzin Lake Formation diperlukan pada default database sehingga Lake Formation dapat melihatnya. Contoh berikut AWS CLI perintah memberikan DESCRIBE izin pada default database kepada pengguna datalake_user1 di AWS akun111122223333.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DESCRIBE" --resource '{ "Database": {"Name":"default"}}

Untuk informasi lebih lanjut, lihat DESCRIBEdi AWS Lake Formation Panduan Pengembang.