Mengakses tabel Amazon S3 menggunakan titik akhir AWS GlueIceberg REST - Amazon Simple Storage Service

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

Mengakses tabel Amazon S3 menggunakan titik akhir AWS GlueIceberg REST

Setelah bucket tabel S3 Anda terintegrasi dengan AWS Glue Data Catalog Anda dapat menggunakan AWS GlueIceberg REST titik akhir untuk terhubung ke tabel S3 Anda dari klien yang Apache Iceberg kompatibel, seperti atau. PyIceberg Spark AWS Glue Iceberg RESTEndpoint mengimplementasikan spesifikasi Iceberg REST Catalog Open API yang menyediakan antarmuka standar untuk berinteraksi dengan tabel. Iceberg Untuk mengakses tabel S3 menggunakan titik akhir, Anda perlu mengonfigurasi izin melalui kombinasi kebijakan dan hibah IAM. AWS Lake Formation Bagian berikut menjelaskan cara mengatur akses, termasuk membuat peran IAM yang diperlukan, mendefinisikan kebijakan yang diperlukan, dan menetapkan izin Lake Formation untuk akses database dan tingkat tabel.

Untuk panduan ujung ke ujung yang menggunakanPyIceberg, lihat Mengakses data di Tabel Amazon S3 PyIceberg menggunakan melalui titik akhir. AWS GlueIceberg REST

Buat peran IAM untuk klien Anda

Untuk mengakses tabel melalui AWS Glue titik akhir, Anda perlu membuat peran IAM dengan izin ke dan tindakan Lake AWS Glue Formation. Prosedur ini menjelaskan cara membuat peran ini dan mengonfigurasi izinnya.

  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi di sebelah kiri, pilih Kebijakan.

  3. Pilih Buat kebijakan, lalu pilih JSON di editor kebijakan.

  4. Tambahkan kebijakan sebaris berikut yang memberikan izin untuk mengakses dan tindakan Lake AWS Glue Formation:

    JSON
  5. Setelah membuat kebijakan, buat peran IAM dan pilih Kebijakan kepercayaan khusus sebagai jenis entitas Tepercaya.

  6. Masukkan yang berikut ini untuk kebijakan kepercayaan kustom.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/<Admin_role>" }, "Action": "sts:AssumeRole", "Condition": {} } ] }

Tentukan akses di Lake Formation

Lake Formation menyediakan kontrol akses berbutir halus untuk tabel data lake Anda. Saat Anda mengintegrasikan bucket S3 Anda dengan AWS Glue Data Catalog, tabel Anda secara otomatis terdaftar sebagai sumber daya di Lake Formation. Untuk mengakses tabel ini, Anda harus memberikan izin Lake Formation tertentu ke identitas IAM Anda, selain izin kebijakan IAM-nya.

Langkah-langkah berikut menjelaskan cara menerapkan kontrol akses Lake Formation untuk memungkinkan Iceberg klien Anda terhubung ke tabel Anda. Anda harus masuk sebagai administrator data lake untuk menerapkan izin ini.

Izinkan mesin eksternal mengakses data tabel

Di Lake Formation, Anda harus mengaktifkan akses tabel penuh untuk mesin eksternal untuk mengakses data. Hal ini memungkinkan aplikasi pihak ketiga untuk mendapatkan kredensi sementara dari Lake Formation saat menggunakan peran IAM yang memiliki izin penuh pada tabel yang diminta.

Buka konsol Lake Formation di https://console.aws.amazon.com/lakeformation/.

  1. Buka konsol Lake Formation di https://console.aws.amazon.com/lakeformation/, dan masuk sebagai administrator danau data.

  2. Di panel navigasi di bawah Administrasi, pilih Pengaturan integrasi aplikasi.

  3. Pilih Izinkan mesin eksternal mengakses data di lokasi Amazon S3 dengan akses tabel penuh. Lalu, pilih Simpan.

Berikan izin Lake Formation pada sumber daya tabel Anda

Selanjutnya, berikan izin Lake Formation ke peran IAM yang Anda buat untuk klien yang kompatibel dengan Iceberg. Izin ini akan memungkinkan peran untuk membuat dan mengelola tabel di namespace Anda. Anda perlu memberikan izin database dan tingkat tabel. Untuk informasi selengkapnya, lihat Memberikan izin Lake Formation di atas meja atau database.

Siapkan lingkungan Anda untuk menggunakan titik akhir

Setelah Anda mengatur peran IAM dengan izin yang diperlukan untuk akses tabel, Anda dapat menggunakannya untuk menjalankan Iceberg klien dari mesin lokal Anda AWS CLI dengan mengonfigurasi peran Anda, menggunakan perintah berikut:

aws sts assume-role --role-arn "arn:aws:iam::<accountid>:role/<glue-irc-role>" --role-session-name <glue-irc-role>

Untuk mengakses tabel melalui AWS Glue REST titik akhir, Anda perlu menginisialisasi katalog di klien yang kompatibelIceberg. Inisialisasi ini memerlukan penentuan properti kustom, termasuk properti sigv4, URI titik akhir, dan lokasi gudang. Tentukan properti ini sebagai berikut:

  • Properti Sigv4 - Sigv4 harus diaktifkan, nama penandatanganan adalah glue

  • Lokasi gudang - Ini adalah ember meja Anda, yang ditentukan dalam format ini: <accountid>:s3tablescatalog/<table-bucket-name>

  • URI titik akhir - Lihat panduan referensi titik akhir AWS Glue layanan untuk titik akhir spesifik wilayah

Contoh berikut menunjukkan cara menginisialisasi pyIceberg katalog.

rest_catalog = load_catalog( s3tablescatalog, **{ "type": "rest", "warehouse": "<accountid>:s3tablescatalog/<table-bucket-name>", "uri": "https://glue.<region>.amazonaws.com/iceberg", "rest.sigv4-enabled": "true", "rest.signing-name": "glue", "rest.signing-region": region } )

Untuk informasi tambahan tentang implementasi AWS GlueIceberg REST titik akhir, lihat Menghubungkan ke Katalog Data menggunakan AWS GlueIceberg REST titik akhir di AWS Glue Panduan Pengguna.