Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konfigurasikan akses lintas akun ke Katalog Data AWS Glue bersama menggunakan Amazon Athena
Denis Avdonin, Amazon Web Services
Ringkasan
Pola ini memberikan step-by-step petunjuk, termasuk contoh kebijakan AWS Identity and Access Management (IAM), untuk mengonfigurasi berbagi lintas akun dari kumpulan data yang disimpan dalam bucket Amazon Simple Storage Service (Amazon S3) dengan menggunakan AWS Glue Data Catalog. Anda dapat menyimpan dataset dalam bucket S3. Metadata dikumpulkan oleh crawler AWS Glue dan dimasukkan ke dalam AWS Glue Data Catalog. Bucket S3 dan AWS Glue Data Catalog berada di akun AWS yang disebut sebagai akun data. Anda dapat memberikan akses ke prinsipal IAM di akun AWS lain yang disebut sebagai akun konsumen. Pengguna dapat menanyakan data di akun konsumen dengan menggunakan mesin kueri tanpa server Amazon Athena.
Prasyarat dan batasan
Prasyarat
Versi produk
Pola ini bekerja dengan mesin Athena versi 2 dan mesin Athena versi 3 saja. Kami menyarankan Anda meningkatkan ke mesin Athena versi 3. Jika Anda tidak dapat meningkatkan dari mesin Athena versi 1 ke mesin Athena versi 3, ikuti pendekatan yang dibahas dalam Akses Katalog Data AWS Glue Lintas akun dengan Amazon Athena
Arsitektur
Tumpukan teknologi target
Amazon Athena
Amazon Simple Storage Service (Amazon S3)
AWS Glue
AWS Identity and Access Management (IAM)
AWS Key Management Service (AWS KMS)
Diagram berikut menunjukkan arsitektur yang menggunakan izin IAM untuk berbagi data dalam bucket S3 di satu akun AWS (akun data) dengan akun AWS lain (akun konsumen) melalui AWS Glue Data Catalog.

Diagram menunjukkan alur kerja berikut:
Kebijakan bucket S3 di akun data memberikan izin ke peran IAM di akun konsumen dan peran layanan crawler AWS Glue di akun data.
Kebijakan kunci AWS KMS di akun data memberikan izin untuk peran IAM di akun konsumen dan peran layanan crawler AWS Glue di akun data.
Crawler AWS Glue di akun data menemukan skema data yang disimpan di bucket S3.
Kebijakan sumber daya Katalog Data AWS Glue di akun data memberikan akses ke peran IAM di akun konsumen.
Pengguna membuat referensi katalog bernama di akun konsumen dengan menggunakan perintah AWS CLI.
Kebijakan IAM memberikan peran IAM dalam akses akun konsumen ke sumber daya di akun data. Kebijakan kepercayaan peran IAM memungkinkan pengguna di akun konsumen untuk mengambil peran IAM.
Seorang pengguna di akun konsumen mengasumsikan peran IAM dan mengakses objek dalam katalog data dengan menggunakan kueri SQL.
Mesin tanpa server Athena menjalankan kueri SQL.
catatan
Alat
Amazon Athena adalah layanan kueri interaktif yang membantu Anda menganalisis data secara langsung di Amazon S3 dengan menggunakan SQL standar.
Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.
AWS Glue adalah layanan ekstrak, transformasi, dan beban (ETL) yang dikelola sepenuhnya. Ini membantu Anda mengkategorikan, membersihkan, memperkaya, dan memindahkan data dengan andal antara penyimpanan data dan aliran data.
AWS Identity and Access Management (IAM) membantu Anda mengelola akses ke sumber daya AWS dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.
AWS Key Management Service (AWS KMS) membantu Anda membuat dan mengontrol kunci kriptografi untuk melindungi data Anda.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Berikan akses ke data di bucket S3. | Buat kebijakan bucket S3 berdasarkan template berikut dan tetapkan kebijakan ke bucket tempat data disimpan.
Kebijakan bucket memberikan izin untuk peran IAM di akun konsumen dan peran layanan crawler AWS Glue di akun data. | Administrator awan |
(Jika diperlukan) Berikan akses ke kunci enkripsi data. | Jika bucket S3 dienkripsi oleh kunci AWS KMS, berikan Perbarui kebijakan kunci dengan pernyataan berikut:
| Administrator awan |
Berikan akses crawler ke data. | Lampirkan kebijakan IAM berikut ke peran layanan crawler:
| Administrator awan |
(Jika diperlukan) Berikan akses crawler ke kunci enkripsi data. | Jika bucket S3 dienkripsi oleh kunci AWS KMS, berikan
| Administrator awan |
Berikan peran IAM di akun konsumen dan akses crawler ke katalog data. |
Kebijakan ini memungkinkan semua tindakan AWS Glue pada semua database dan tabel di akun data. Anda dapat menyesuaikan kebijakan agar hanya memberikan izin yang diperlukan kepada prinsipal konsumen. Misalnya, Anda dapat memberikan akses hanya-baca ke tabel atau tampilan tertentu dalam database. | Administrator awan |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat referensi bernama untuk katalog data. | Untuk membuat referensi katalog data bernama, gunakan CloudShellatau AWS CLI yang diinstal secara lokal untuk menjalankan perintah berikut:
| Administrator awan |
Berikan peran IAM dalam akses akun konsumen ke data. | Lampirkan kebijakan berikut ke peran IAM di akun konsumen untuk memberikan akses lintas akun peran ke data:
Selanjutnya, gunakan templat berikut untuk menentukan apa yang pengguna dapat menerima peran IAM dalam kebijakan kepercayaannya:
Terakhir, berikan izin pengguna untuk mengambil peran IAM dengan melampirkan kebijakan yang sama ke grup pengguna tempat mereka berada. | Administrator awan |
(Jika diperlukan) Berikan peran IAM dalam akses akun konsumen ke kunci enkripsi data. | Jika bucket S3 dienkripsi oleh kunci AWS KMS, berikan
| Administrator awan |
Beralih ke peran IAM di akun konsumen untuk mengakses data. | Sebagai konsumen data, beralihlah ke peran IAM untuk mengakses data di akun data. | Konsumen data |
Akses datanya. | Kueri data menggunakan Athena. Misalnya, buka editor kueri Athena dan jalankan kueri berikut:
Alih-alih menggunakan referensi katalog bernama, Anda juga dapat merujuk ke katalog dengan Nama Sumber Daya Amazon (ARN). catatanJika Anda menggunakan referensi katalog dinamis dalam kueri atau tampilan, kelilingi referensi dengan tanda kutip ganda yang diloloskan (\”). Misalnya:
Untuk informasi selengkapnya, lihat Akses lintas akun ke katalog data AWS Glue di Panduan Pengguna Amazon Athena. | Konsumen data |
Sumber daya terkait
Akses lintas akun ke katalog data AWS Glue (dokumentasi Athena)
(AWS CLI) (Referensi create-data-catalog Perintah AWS CLI)
Akses Katalog Data AWS Glue lintas akun dengan Amazon Athena
(AWS Big Data Blog) Praktik terbaik keamanan dalam IAM (dokumentasi IAM)
Informasi tambahan
Menggunakan Lake Formation sebagai alternatif untuk berbagi lintas akun
Anda juga dapat menggunakan AWS Lake Formation untuk berbagi akses ke objek katalog AWS Glue di seluruh akun. Lake Formation menyediakan kontrol akses berbutir halus pada tingkat kolom dan baris, kontrol akses berbasis tag, tabel yang diatur untuk transaksi ACID, dan fungsionalitas lainnya. Meskipun Lake Formation terintegrasi dengan baik dengan Athena, itu memang memerlukan konfigurasi tambahan dibandingkan dengan pendekatan IAM-only pola ini. Kami menyarankan Anda mempertimbangkan keputusan untuk menggunakan Lake Formation atau kontrol akses khusus IAM dalam konteks yang lebih luas dari keseluruhan arsitektur solusi Anda. Pertimbangan mencakup layanan lain apa yang terlibat dan bagaimana mereka berintegrasi dengan kedua pendekatan tersebut.