Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan Tabel Amazon S3 dengan layanan analitik AWS
Untuk membuat tabel di akun Anda dapat diakses oleh layanan AWS analitik, Anda mengintegrasikan bucket tabel Amazon S3 Anda dengan Amazon Lakehouse. SageMaker Integrasi ini memungkinkan layanan AWS analitik untuk secara otomatis menemukan dan mengakses data tabel Anda. Anda dapat menggunakan integrasi ini untuk bekerja dengan tabel Anda di layanan ini:
catatan
Integrasi ini menggunakan AWS Glue dan AWS Lake Formation layanan dan mungkin menimbulkan AWS Glue permintaan dan biaya penyimpanan. Untuk informasi selengkapnya, silakan lihat Harga AWS Glue
Harga tambahan berlaku untuk menjalankan kueri pada tabel S3 Anda. Untuk informasi selengkapnya, lihat informasi harga untuk mesin kueri yang Anda gunakan.
Bagaimana integrasi bekerja
Saat membuat bucket tabel di konsol, Amazon S3 memulai tindakan berikut untuk mengintegrasikan bucket tabel di Wilayah yang telah dipilih dengan layanan analitik: AWS
-
Membuat peran layanan baru AWS Identity and Access Management (IAM) yang memberikan akses Lake Formation ke semua bucket tabel Anda.
-
Menggunakan peran layanan, Lake Formation mendaftarkan bucket tabel di Wilayah saat ini. Hal ini memungkinkan Lake Formation untuk mengelola akses, izin, dan tata kelola untuk semua bucket tabel saat ini dan masa depan di Wilayah tersebut.
-
Menambahkan
s3tablescatalog
katalog ke AWS Glue Data Catalog dalam Wilayah saat ini. Menambahkans3tablescatalog
katalog memungkinkan semua bucket tabel, ruang nama, dan tabel diisi dalam Katalog Data.
catatan
Tindakan ini otomatis melalui konsol Amazon S3. Jika Anda melakukan integrasi ini secara terprogram, Anda harus secara manual mengambil semua tindakan ini.
Anda mengintegrasikan ember meja Anda sekali per AWS Wilayah. Setelah integrasi selesai, semua bucket tabel saat ini dan future, namespace, dan tabel ditambahkan ke AWS Glue Data Catalog dalam Region tersebut.
Ilustrasi berikut menunjukkan bagaimana s3tablescatalog
katalog secara otomatis mengisi bucket tabel, ruang nama, dan tabel di Wilayah saat ini sebagai objek yang sesuai dalam Katalog Data. Bucket meja diisi sebagai subkatalog. Ruang nama dalam keranjang tabel diisi sebagai database dalam subkatalog masing-masing. Tabel diisi sebagai tabel di database masing-masing.

Cara kerja izin
Sebaiknya integrasikan bucket tabel Anda dengan layanan AWS analitik sehingga Anda dapat bekerja dengan data tabel di seluruh layanan yang menggunakan AWS Glue Data Catalog sebagai penyimpanan metadata. Integrasi memungkinkan kontrol akses berbutir halus melalui. AWS Lake Formation Pendekatan keamanan ini berarti bahwa, selain izin AWS Identity and Access Management (IAM), Anda harus memberikan izin Lake Formation utama IAM Anda di tabel Anda sebelum Anda dapat bekerja dengannya.
Ada dua jenis izin utama di AWS Lake Formation:
-
Izin akses metadata mengontrol kemampuan untuk membuat, membaca, memperbarui, dan menghapus database dan tabel metadata di Katalog Data.
-
Izin akses data yang mendasari mengontrol kemampuan untuk membaca dan menulis data ke lokasi Amazon S3 yang mendasari yang ditunjuk oleh sumber daya Katalog Data.
Lake Formation menggunakan kombinasi model izinnya sendiri dan model izin IAM untuk mengontrol akses ke sumber daya Katalog Data dan data yang mendasarinya:
-
Agar permintaan mengakses sumber daya Katalog Data atau data yang mendasarinya berhasil, permintaan harus lulus pemeriksaan izin oleh IAM dan Lake Formation.
-
Izin IAM mengontrol akses ke Lake Formation dan AWS Glue APIs dan resource, sedangkan izin Lake Formation mengontrol akses ke sumber daya Katalog Data, lokasi Amazon S3, dan data yang mendasarinya.
Izin Lake Formation hanya berlaku di Wilayah di mana mereka diberikan, dan kepala sekolah harus diberi wewenang oleh administrator danau data atau kepala sekolah lain dengan izin yang diperlukan untuk diberikan izin Lake Formation.
Untuk informasi selengkapnya, lihat Ikhtisar izin Lake Formation di Panduan AWS Lake Formation Pengembang.
Pastikan Anda mengikuti langkah-langkah Prasyarat untuk integrasi dan Mengintegrasikan bucket tabel dengan AWS layanan analitik agar Anda memiliki izin yang sesuai untuk mengakses dan sumber daya tabel Anda, AWS Glue Data Catalog dan untuk bekerja dengan layanan AWS analitik.
penting
Jika Anda bukan pengguna yang melakukan integrasi bucket tabel dengan layanan AWS analitik untuk akun Anda, Anda harus diberikan izin Lake Formation yang diperlukan di atas meja. Untuk informasi selengkapnya, lihat Memberikan izin pada tabel atau database.
Prasyarat untuk integrasi
Prasyarat berikut diperlukan untuk mengintegrasikan bucket tabel dengan layanan analitik: AWS
Lampirkan kebijakan AWSLakeFormationDataAdmin AWS terkelola ke prinsipal AWS Identity and Access Management (IAM) Anda untuk menjadikan pengguna tersebut administrator data lake. Untuk informasi selengkapnya tentang cara membuat administrator data lake, lihat Membuat administrator data lake di Panduan AWS Lake Formation Pengembang.
-
Tambahkan izin untuk
glue:PassConnection
operasi ke kepala IAM Anda. -
Tambahkan izin untuk
lakeformation:RegisterResource
danlakeformation:RegisterResourceWithPrivilegedAccess
operasi ke kepala IAM Anda. Perbarui ke versi terbaru dari AWS Command Line Interface (AWS CLI).
penting
Saat membuat tabel, pastikan Anda menggunakan semua huruf kecil dalam nama tabel dan definisi tabel Anda. Misalnya, pastikan bahwa nama kolom Anda semua huruf kecil. Jika nama tabel atau definisi tabel berisi huruf kapital, tabel tidak didukung oleh AWS Lake Formation atau AWS Glue Data Catalog. Dalam hal ini, tabel Anda tidak akan terlihat oleh layanan AWS analitik seperti Amazon Athena, meskipun bucket tabel Anda terintegrasi dengan AWS layanan analitik.
Jika definisi tabel berisi huruf kapital, Anda menerima pesan galat berikut saat menjalankan SELECT
kueri di Athena: “GENERIC_INTERNAL_ERROR: Get table request failed: com.amazonaws.services.glue.model. ValidationException: Sumber Daya Federasi Tidak Didukung - Nama tabel atau kolom tidak valid
.”
Mengintegrasikan bucket tabel dengan AWS layanan analitik
Integrasi ini harus dilakukan satu kali per AWS Wilayah.
penting
Integrasi layanan AWS analitik sekarang menggunakan WithPrivilegedAccess
opsi dalam operasi registerResource
Lake Formation API untuk mendaftarkan bucket tabel S3. Integrasi juga sekarang membuat s3tablescatalog
katalog di AWS Glue Data Catalog dengan menggunakan AllowFullTableExternalDataAccess
opsi dalam operasi CreateCatalog
AWS Glue API.
Jika Anda mengatur integrasi dengan rilis pratinjau, Anda dapat terus menggunakan integrasi Anda saat ini. Namun, proses integrasi yang diperbarui memberikan peningkatan kinerja, jadi kami sarankan untuk bermigrasi. Untuk bermigrasi ke integrasi yang diperbarui, lihatMigrasi ke proses integrasi yang diperbarui.
Buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/
Di panel navigasi kiri, pilih Bucket tabel.
Pilih Buat ember meja.
Halaman bucket Create table terbuka.
Masukkan nama bucket Table dan pastikan kotak centang Aktifkan integrasi dipilih.
Pilih Buat ember meja. Amazon S3 akan mencoba mengintegrasikan bucket tabel Anda secara otomatis di Wilayah tersebut.
Pertama kali Anda mengintegrasikan bucket tabel di Wilayah mana pun, Amazon S3 membuat peran layanan IAM baru atas nama Anda. Peran ini memungkinkan Lake Formation mengakses semua bucket tabel di akun Anda dan akses federasi ke tabel Anda. AWS Glue Data Catalog
Untuk mengintegrasikan ember meja menggunakan AWS CLI
Langkah-langkah berikut menunjukkan cara menggunakan bucket tabel AWS CLI untuk mengintegrasikan. Untuk menggunakan langkah-langkah ini, ganti
dengan informasi Anda sendiri.user input placeholders
Buat ember meja.
aws s3tables create-table-bucket \ --region
us-east-1
\ --nameamzn-s3-demo-table-bucket
-
Buat peran layanan IAM yang memungkinkan Lake Formation mengakses sumber daya tabel Anda.
-
Buat file bernama
Role-Trust-Policy.json
yang berisi kebijakan kepercayaan berikut:{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccessPolicy", "Effect": "Allow", "Principal": { "Service": "lakeformation.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetContext", "sts:SetSourceIdentity" ], "Condition": { "StringEquals": { "aws:SourceAccount": "
111122223333
" } } } ] }Buat peran layanan IAM dengan menggunakan perintah berikut:
aws iam create-role \ --role-name
S3TablesRoleForLakeFormation
\ --assume-role-policy-document file://Role-Trust-Policy.json
-
Buat file bernama
LF-GluePolicy.json
yang berisi kebijakan berikut:{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationPermissionsForS3ListTableBucket", "Effect": "Allow", "Action": [ "s3tables:ListTableBuckets" ], "Resource": [ "*" ] }, { "Sid": "LakeFormationDataAccessPermissionsForS3TableBucket", "Effect": "Allow", "Action": [ "s3tables:CreateTableBucket", "s3tables:GetTableBucket", "s3tables:CreateNamespace", "s3tables:GetNamespace", "s3tables:ListNamespaces", "s3tables:DeleteNamespace", "s3tables:DeleteTableBucket", "s3tables:CreateTable", "s3tables:DeleteTable", "s3tables:GetTable", "s3tables:ListTables", "s3tables:RenameTable", "s3tables:UpdateTableMetadataLocation", "s3tables:GetTableMetadataLocation", "s3tables:GetTableData", "s3tables:PutTableData" ], "Resource": [ "arn:aws:s3tables:
us-east-1
:111122223333
:bucket/*" ] } ] }Lampirkan kebijakan ke peran dengan menggunakan perintah berikut:
aws iam put-role-policy \ --role-name
S3TablesRoleForLakeFormation
\ --policy-name LakeFormationDataAccessPermissionsForS3TableBucket \ --policy-document file://LF-GluePolicy.json
-
-
Buat file bernama
input.json
yang berisi berikut ini:{ "ResourceArn": "arn:aws:s3tables:
us-east-1
:111122223333
:bucket/*", "WithFederation": true, "RoleArn": "arn:aws:iam::111122223333
:role/S3TablesRoleForLakeFormation
" }Daftarkan bucket tabel dengan Lake Formation dengan menggunakan perintah berikut:
aws lakeformation register-resource \ --region
us-east-1
\ --with-privileged-access \ --cli-input-json file://input.json
-
Buat file bernama
catalog.json
yang berisi katalog berikut:{ "Name": "s3tablescatalog", "CatalogInput": { "FederatedCatalog": { "Identifier": "arn:aws:s3tables:
us-east-1
:111122223333
:bucket/*", "ConnectionName": "aws:s3tables" }, "CreateDatabaseDefaultPermissions":[], "CreateTableDefaultPermissions":[], "AllowFullTableExternalDataAccess": "True" } }Buat
s3tablescatalog
katalog dengan menggunakan perintah berikut. Membuat katalog ini mengisi dengan objek yang sesuai AWS Glue Data Catalog dengan bucket tabel, ruang nama, dan tabel.aws glue create-catalog \ --region
us-east-1
\ --cli-input-json file://catalog.json
Verifikasi bahwa
s3tablescatalog
katalog telah ditambahkan AWS Glue dengan menggunakan perintah berikut:aws glue get-catalog --catalog-id s3tablescatalog
Proses integrasi layanan AWS analitik telah diperbarui. Jika Anda telah menyiapkan integrasi dengan rilis pratinjau, Anda dapat terus menggunakan integrasi Anda saat ini. Namun, proses integrasi yang diperbarui memberikan peningkatan kinerja, jadi kami sarankan untuk bermigrasi dengan menggunakan langkah-langkah berikut. Untuk informasi selengkapnya tentang proses migrasi atau integrasi, lihat Membuat katalog Tabel Amazon S3 AWS Glue Data Catalog di Panduan AWS Lake Formation Pengembang.
-
Buka AWS Lake Formation konsol dihttps://console.aws.amazon.com/lakeformation/
, dan masuk sebagai administrator danau data. Untuk informasi selengkapnya tentang cara membuat administrator data lake, lihat Membuat administrator data lake di Panduan AWS Lake Formation Pengembang. -
Hapus
s3tablescatalog
katalog Anda dengan melakukan hal berikut:-
Di panel navigasi kiri, pilih Katalog.
-
Pilih tombol opsi di sebelah
s3tablescatalog
katalog dalam daftar Katalog. Dari menu Tindakan, pilih Hapus.
-
-
Batalkan pendaftaran lokasi data untuk
s3tablescatalog
katalog dengan melakukan hal berikut:-
Di panel navigasi kiri, buka bagian Administrasi, dan pilih Lokasi danau data.
-
Pilih tombol opsi di sebelah lokasi danau
s3tablescatalog
data, misalnya,s3://tables:
.region
:account-id
:bucket/* -
Pada menu Tindakan, pilih Hapus.
-
Di kotak dialog konfirmasi yang muncul, pilih Hapus.
-
-
Setelah menghapus
s3tablescatalog
katalog dan lokasi data lake, Anda dapat mengikuti langkah-langkah untuk mengintegrasikan bucket tabel Anda dengan layanan AWS analitik dengan menggunakan proses integrasi yang diperbarui.
catatan
Jika Anda ingin bekerja dengan tabel terenkripsi SSE-KMS dalam layanan AWS analitik terintegrasi, peran yang Anda gunakan harus memiliki izin untuk menggunakan kunci Anda AWS KMS untuk operasi enkripsi. Untuk informasi selengkapnya, lihat Memberikan izin kepada prinsipal IAM untuk bekerja dengan tabel terenkripsi dalam layanan analitik terintegrasi AWS.
Langkah selanjutnya
Membuat tautan sumber daya ke ruang nama tabel Anda (Amazon Data Firehose)
Untuk mengakses tabel Anda, Amazon Data Firehose memerlukan tautan sumber daya yang menargetkan namespace tabel Anda. Tautan sumber daya adalah objek Katalog Data yang bertindak sebagai alias atau penunjuk ke sumber daya Katalog Data lain, seperti database atau tabel. Tautan disimpan dalam Katalog Data akun atau Wilayah tempat pembuatannya. Untuk informasi selengkapnya, lihat Cara kerja tautan sumber daya di Panduan AWS Lake Formation Pengembang.
Setelah mengintegrasikan bucket tabel dengan layanan AWS analitik, Anda dapat membuat tautan sumber daya agar berfungsi dengan tabel di Amazon Data Firehose. Untuk informasi selengkapnya tentang membuat tautan ini, lihatStreaming data ke tabel dengan Amazon Data Firehose.
Memberikan izin Lake Formation pada sumber daya tabel Anda
Setelah bucket tabel Anda terintegrasi dengan layanan AWS analitik, Lake Formation mengelola akses ke sumber daya tabel Anda. Lake Formation menggunakan model izinnya sendiri (izin Lake Formation) yang memungkinkan kontrol akses berbutir halus untuk sumber daya Katalog Data. Lake Formation mengharuskan setiap kepala sekolah IAM (pengguna atau peran) diberi wewenang untuk melakukan tindakan pada sumber daya yang dikelola Lake Formation. Untuk informasi selengkapnya, lihat Ikhtisar izin Lake Formation di Panduan AWS Lake Formation Pengembang. Untuk informasi tentang berbagi data lintas akun, lihat Berbagi data lintas akun di Lake Formation di Panduan AWS Lake Formation Pengembang.
Sebelum kepala sekolah IAM dapat mengakses tabel di layanan AWS analitik, Anda harus memberi mereka izin Lake Formation pada sumber daya tersebut.
catatan
Jika Anda adalah pengguna yang melakukan integrasi bucket tabel, Anda sudah memiliki izin Lake Formation ke tabel Anda. Jika Anda satu-satunya kepala sekolah yang akan mengakses tabel Anda, Anda dapat melewati langkah ini. Anda hanya perlu memberikan izin Lake Formation di tabel Anda ke prinsipal IAM lainnya. Hal ini memungkinkan prinsipal lain untuk mengakses tabel saat menjalankan query. Untuk informasi selengkapnya, lihat Memberikan izin pada tabel atau database.
Anda harus memberikan izin Prinsipal Lake Formation IAM lainnya pada sumber daya tabel Anda untuk bekerja dengannya dalam layanan berikut:
-
Amazon Redshift
-
Amazon Data Firehose
-
Amazon QuickSight
-
Amazon Athena
Memberikan izin pada tabel atau database
Anda dapat memberikan izin utama Lake Formation pada tabel atau database dalam ember meja, baik melalui konsol Lake Formation atau. AWS CLI
catatan
Saat Anda memberikan izin Lake Formation pada sumber daya Katalog Data ke akun eksternal atau langsung ke kepala IAM di akun lain, Lake Formation menggunakan layanan AWS Resource Access Manager (AWS RAM) untuk membagikan sumber daya. Jika akun penerima hibah berada di organisasi yang sama dengan akun pemberi hibah, sumber daya bersama segera tersedia untuk penerima hibah. Jika akun penerima hibah tidak berada di organisasi yang sama, AWS RAM kirimkan undangan ke akun penerima hibah untuk menerima atau menolak hibah sumber daya. Kemudian, untuk membuat sumber daya bersama tersedia, administrator data lake di akun penerima hibah harus menggunakan AWS RAM konsol atau AWS CLI untuk menerima undangan. Untuk informasi selengkapnya tentang berbagi data lintas akun, lihat Berbagi data lintas akun di Lake Formation di Panduan AWS Lake Formation Pengembang.