Memecahkan Masalah 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.

Memecahkan Masalah Lake Formation

Jika Anda mengalami masalah saat bekerja dengan AWS Lake Formation, lihat topik di bagian ini.

Pemecahan masalah umum

Gunakan informasi di sini untuk membantu Anda mendiagnosis dan memperbaiki berbagai masalah Lake Formation.

Kesalahan: Izin Lake Formation tidak mencukupi <Amazon S3 location>

Upaya dilakukan untuk membuat atau mengubah sumber daya Katalog Data tanpa izin lokasi data di lokasi Amazon S3 yang ditunjukkan oleh sumber daya.

Jika database atau tabel Katalog Data menunjuk ke lokasi Amazon S3, saat Anda memberikan izin Lake Formation CREATE_TABLE atauALTER, Anda juga harus memberikan DATA_LOCATION_ACCESS izin pada lokasi tersebut. Jika Anda memberikan izin ini ke akun eksternal atau organisasi, Anda harus menyertakan opsi hibah.

Setelah izin ini diberikan ke akun eksternal, administrator data lake di akun tersebut kemudian harus memberikan izin kepada prinsipal (pengguna atau peran) di akun tersebut. Saat memberikan DATA_LOCATION_ACCESS izin yang diterima dari akun lain, Anda harus menentukan ID katalog (ID AWS akun) dari akun pemilik. Akun pemilik adalah akun yang mendaftarkan lokasi.

Untuk informasi selengkapnya, silakan lihat Kontrol akses data yang mendasari dan Memberikan izin lokasi data.

Kesalahan: “Izin kunci enkripsi tidak memadai untuk GlueAPI”

Upaya dilakukan untuk memberikan izin Lake Formation tanpa izin AWS Identity and Access Management (IAM) pada kunci AWS KMS enkripsi untuk Katalog Data terenkripsi.

Kueri saya Amazon Athena atau Amazon Redshift yang menggunakan manifes gagal

Lake Formation tidak mendukung kueri yang menggunakan manifes.

Kesalahan: “Izin Lake Formation tidak mencukupi: Wajib membuat tag di katalog”

Pengguna/peran harus menjadi administrator data lake.

Kesalahan saat menghapus administrator danau data yang tidak valid

Anda harus menghapus semua administrator danau data yang tidak valid (IAMperan yang dihapus yang didefinisikan sebagai administrator data lake) secara bersamaan. Jika Anda mencoba menghapus administrator danau data yang tidak valid secara terpisah, Lake Formation menampilkan kesalahan utama yang tidak valid.

Memecahkan masalah akses lintas akun

Gunakan informasi di sini untuk membantu Anda mendiagnosis dan memperbaiki masalah akses lintas akun.

Saya memberikan izin Lake Formation lintas akun tetapi penerima tidak dapat melihat sumber daya

  • Apakah pengguna di akun penerima adalah administrator danau data? Hanya administrator data lake yang dapat melihat sumber daya pada saat berbagi.

  • Apakah Anda berbagi dengan akun di luar organisasi Anda dengan menggunakan metode sumber daya bernama? Jika demikian, administrator data lake dari akun penerima harus menerima undangan berbagi sumber daya di AWS Resource Access Manager (AWS RAM).

    Untuk informasi selengkapnya, lihat Menerima undangan berbagi sumber daya dari AWS RAM.

  • Apakah Anda menggunakan kebijakan sumber daya tingkat akun (Katalog Data) di AWS Glue? Jika ya, maka jika Anda menggunakan metode sumber daya bernama, Anda harus menyertakan pernyataan khusus dalam kebijakan yang mengizinkan AWS RAM untuk berbagi kebijakan atas nama Anda.

    Untuk informasi selengkapnya, lihat Mengelola izin lintas akun menggunakan keduanya AWS Glue dan Lake Formation.

  • Apakah Anda memiliki izin AWS Identity and Access Management (IAM) yang diperlukan untuk memberikan akses lintas akun?

    Untuk informasi selengkapnya, lihat Prasyarat.

  • Sumber daya yang Anda berikan izin tidak boleh memiliki izin Lake Formation yang diberikan kepada grup. IAMAllowedPrincipals

  • Apakah ada deny pernyataan tentang sumber daya dalam kebijakan tingkat akun?

Prinsipal di akun penerima dapat melihat sumber daya Katalog Data tetapi tidak dapat mengakses data yang mendasarinya

Prinsipal di akun penerima harus memiliki izin AWS Identity and Access Management () IAM yang diperlukan. Untuk detailnya, lihat Mengakses data dasar tabel bersama.

Kesalahan: “Asosiasi gagal karena pemanggil tidak diotorisasi” saat menerima undangan berbagi AWS RAM sumber daya

Setelah memberikan akses ke sumber daya ke akun yang berbeda, ketika akun penerima mencoba menerima undangan berbagi sumber daya, tindakan gagal.

$ aws ram get-resource-share-associations --association-type PRINCIPAL --resource-share-arns arn:aws:ram:aws-region:444444444444:resource-share/e1d1f4ba-xxxx-xxxx-xxxx-xxxxxxxx5d8d { "resourceShareAssociations": [ { "resourceShareArn": "arn:aws:ram:aws-region:444444444444:resource-share/e1d1f4ba-xxxx-xxxx-xxxx-xxxxxxxx5d8d ", "resourceShareName": "LakeFormation-MMCC0XQBH3Y", "associatedEntity": "5815803XXXXX", "associationType": "PRINCIPAL", "status": "FAILED", "statusMessage": "Association failed because the caller was not authorized.", "creationTime": "2021-07-12T02:20:10.267000+00:00", "lastUpdatedTime": "2021-07-12T02:20:51.830000+00:00", "external": true } ] }

Kesalahan terjadi karena glue:PutResourcePolicy dipanggil oleh AWS Glue ketika akun penerima menerima undangan berbagi sumber daya. Untuk mengatasi masalah, izinkan glue:PutResourcePolicy tindakan dengan peran yang diasumsikan yang digunakan oleh akun produsen/pemberi.

Kesalahan: “Tidak berwenang untuk memberikan izin untuk sumber daya”

Upaya dilakukan untuk memberikan izin lintas akun pada database atau tabel yang dimiliki oleh akun lain. Ketika database atau tabel dibagikan dengan akun Anda, sebagai administrator data lake, Anda dapat memberikan izin hanya kepada pengguna di akun Anda.

Kesalahan: “Akses ditolak untuk mengambil informasi AWS Organisasi”

Akun Anda adalah akun manajemen AWS Organizations dan Anda tidak memiliki izin yang diperlukan untuk mengambil informasi organisasi, seperti unit organisasi di akun.

Untuk informasi selengkapnya, lihat Required permissions for cross-account grants.

Kesalahan: “Organisasi <organization-ID>tidak ditemukan”

Upaya dilakukan untuk berbagi sumber daya dengan organisasi, tetapi berbagi dengan organisasi tidak diaktifkan. Aktifkan berbagi sumber daya dengan organisasi.

Untuk informasi selengkapnya, lihat Aktifkan Berbagi dengan AWS Organizations di Panduan AWS RAM Pengguna.

Kesalahan: “Izin Lake Formation tidak mencukupi: Kombinasi ilegal”

Pengguna membagikan sumber daya Katalog Data sementara izin Lake Formation diberikan kepada IAMAllowedPrincipals grup untuk sumber daya. Pengguna harus mencabut semua izin Lake Formation IAMAllowedPrincipals sebelum membagikan sumber daya.

ConcurrentModificationException pada pemberian/pencabutan permintaan ke akun eksternal

Ketika pengguna membuat beberapa hibah bersamaan dan/atau mencabut permintaan izin untuk prinsipal pada kebijakan LF-tag, maka Lake Formation melempar. ConcurrentModificationException Pengguna perlu menangkap pengecualian dan mencoba kembali permintaan hibah/pencabutan yang gagal. Menggunakan versi batch dari RevokePermissions API operasiGrantPermissions/- BatchGrantPermissionsdan BatchRevokePermissionsmeringankan masalah ini sampai batas tertentu dengan mengurangi jumlah permintaan hibah/pencabut bersamaan.

Kesalahan saat menggunakan Amazon EMR untuk mengakses data yang dibagikan melalui lintas akun

Saat Anda menggunakan Amazon EMR untuk mengakses data yang dibagikan dengan Anda dari akun lain, beberapa pustaka Spark akan mencoba memanggil Glue:GetUserDefinedFunctions API operasi. Karena izin AWS RAM terkelola versi 1 dan 2 tidak mendukung tindakan ini, Anda menerima pesan galat berikut:

"ERROR: User: arn:aws:sts::012345678901:assumed-role/my-spark-role/i-06ab8c2b59299508a is not authorized to perform: glue:GetUserDefinedFunctions on resource: arn:exampleCatalogResource because no resource-based policy allows the glue:GetUserDefinedFunctions action"

Untuk mengatasi kesalahan ini, administrator data lake yang membuat pembagian sumber daya harus memperbarui izin AWS RAM terkelola yang dilampirkan ke pembagian sumber daya. Versi 3 dari izin AWS RAM terkelola memungkinkan prinsipal untuk melakukan tindakan. glue:GetUserDefinedFunctions

Jika Anda membuat pembagian sumber daya baru, Lake Formation menerapkan versi terbaru dari izin AWS RAM terkelola secara default, dan tidak ada tindakan yang diperlukan oleh Anda. Untuk mengaktifkan akses data lintas akun untuk pembagian sumber daya yang ada, Anda perlu memperbarui izin AWS RAM terkelola ke versi 3.

Anda dapat melihat AWS RAM izin yang ditetapkan ke sumber daya yang dibagikan dengan Anda di AWS RAM. Izin berikut disertakan dalam versi 3:

Databases AWSRAMPermissionGlueDatabaseReadWriteForCatalog AWSRAMPermissionGlueDatabaseReadWrite Tables AWSRAMPermissionGlueTableReadWriteForCatalog AWSRAMPermissionGlueTableReadWriteForDatabase AllTables AWSRAMPermissionGlueAllTablesReadWriteForCatalog AWSRAMPermissionGlueAllTablesReadWriteForDatabase
Untuk memperbarui versi izin AWS RAM terkelola dari pembagian sumber daya yang ada

Anda (administrator data lake) dapat memperbarui izin AWS RAM terkelola ke versi yang lebih baru dengan mengikuti petunjuk di Panduan AWS RAM Pengguna atau Anda dapat mencabut semua izin yang ada untuk jenis sumber daya dan memberikannya kembali. Jika Anda mencabut izin, AWS RAM menghapus pembagian AWS RAM sumber daya yang terkait dengan jenis sumber daya. Saat Anda memberikan kembali izin, AWS RAM buat pembagian sumber daya baru yang melampirkan versi terbaru izin terkelola. AWS RAM

Memecahkan masalah cetak biru dan alur kerja

Gunakan informasi di sini untuk membantu Anda mendiagnosis dan memperbaiki masalah cetak biru dan alur kerja.

Cetak biru saya gagal dengan “User: <user- ARN > is not authorized to perform: iam: PassRole on resource:<role- >” ARN

Upaya dilakukan untuk membuat cetak biru oleh pengguna yang tidak memiliki izin yang cukup untuk lulus peran yang dipilih.

Perbarui IAM kebijakan pengguna agar dapat meneruskan peran, atau minta pengguna memilih peran lain dengan izin peran sandi yang diperlukan.

Untuk informasi selengkapnya, lihat Referensi persona dan IAM izin Lake Formation.

Alur kerja saya gagal dengan “User: <user- ARN > is not authorized to perform: iam: PassRole on resource:<role- >” ARN

Peran yang Anda tentukan untuk alur kerja tidak memiliki kebijakan inline yang memungkinkan peran untuk lulus sendiri.

Untuk informasi selengkapnya, lihat (Opsional) Buat IAM peran untuk alur kerja.

Perayap dalam alur kerja saya gagal dengan “Sumber daya tidak ada atau pemohon tidak diizinkan untuk mengakses izin yang diminta”

Salah satu kemungkinan penyebabnya adalah bahwa peran yang diteruskan tidak memiliki izin yang cukup untuk membuat tabel di database target. Berikan peran CREATE_TABLE izin pada database.

Perayap di alur kerja saya gagal dengan “Terjadi kesalahan (AccessDeniedException) saat memanggil CreateTable operasi...”

Salah satu kemungkinan penyebabnya adalah bahwa peran alur kerja tidak memiliki izin lokasi data pada lokasi penyimpanan target. Berikan izin lokasi data ke peran tersebut.

Untuk informasi selengkapnya, lihat DATA_LOCATION_ACCESS.