Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konfigurasikan akses ke database dan tabel di AWS Glue Data Catalog
Jika Anda menggunakan AWS Glue Data Catalog dengan Amazon Athena, Anda dapat menentukan kebijakan tingkat sumber daya untuk database dan tabel objek Katalog Data yang digunakan di Athena.
catatan
Topik ini membahas keamanan tingkat database dan tabel. Untuk informasi tentang mengonfigurasi keamanan tingkat kolom, baris, dan sel, lihat Pemfilteran data dan keamanan tingkat sel di Lake Formation.
Anda menentukan izin tingkat sumber daya dalam kebijakan berbasis identitas. IAM
penting
Bagian ini membahas izin tingkat sumber daya dalam kebijakan berbasis identitas. IAM Kebijakan ini berbeda dengan kebijakan berbasis sumber daya. Untuk informasi selengkapnya tentang perbedaan, lihat Kebijakan berbasis identitas dan kebijakan berbasis sumber daya di Panduan Pengguna. IAM
Lihat topik berikut untuk tugas berikut:
Untuk melakukan tugas ini | Lihat topik berikut: |
---|---|
Membuat IAM kebijakan yang mendefinisikan akses ke sumber daya | Membuat IAM kebijakan di Panduan IAM Pengguna. |
Pelajari tentang IAM kebijakan berbasis identitas yang digunakan AWS Glue | Kebijakan berbasis identitas (IAMkebijakan) di AWS Glue Panduan Pengembang. |
Di bagian ini
Batasan
Pertimbangkan batasan berikut ketika Anda menggunakan database dan kontrol akses tingkat tabel untuk AWS Glue Data Catalog dan Athena:
-
IAMKelompok kerja Athena yang diaktifkan Pusat Identitas mengharuskan Lake Formation dikonfigurasi untuk menggunakan IAM identitas Pusat Identitas. Untuk informasi selengkapnya, lihat Mengintegrasikan Pusat IAM Identitas di AWS Lake Formation Panduan Pengembang.
-
Anda dapat membatasi akses hanya ke basis data dan tabel. Kontrol ini berlaku di tingkat tabel. Anda tidak dapat membatasi akses ke partisi individu dalam tabel. Untuk informasi selengkapnya, lihat Tentang kontrol akses untuk partisi tabel dan versi di AWS Glue.
-
Bagian AWS Glue Data Catalog berisi sumber daya berikut:
CATALOG
,DATABASE
,TABLE
, danFUNCTION
.catatan
Dari daftar ini, sumber daya yang umum antara Athena dan AWS Glue Data Catalog adalah
TABLE
,DATABASE
, danCATALOG
untuk setiap akun.Function
spesifik untuk AWS Glue. Untuk menghapus tindakan di Athena, Anda harus menyertakan izin AWS Glue tindakan. Lihat Contoh izin database dan tingkat tabel.Hierarki adalah sebagai berikut:
CATALOG
adalah leluhur dari semuaDATABASES
di setiap akun, dan masing-masingDATABASE
adalah leluhur untuk semuaTABLES
danFUNCTIONS
. Misalnya, untuk tabel bernamatable_test
yang tergolong dalam basis datadb
dalam katalog di akun Anda, nenek moyangnyadb
dan katalog di akun Anda. Untukdb
database, nenek moyangnya adalah katalog di akun Anda, dan keturunannya adalah tabel dan fungsi. Untuk informasi selengkapnya tentang struktur hierarkis sumber daya, lihat Daftar Katalog Data ARNs di AWS Glue Panduan Pengembang. -
Untuk tindakan Athena yang tidak dihapus pada sumber daya, seperti
CREATE DATABASE
,CREATE TABLE
,SHOW DATABASE
,SHOW TABLE
, atauALTER TABLE
, Anda memerlukan izin untuk memanggil tindakan ini pada sumber daya (tabel atau basis data) dan semua nenek moyang sumber daya dalam Katalog Data. Misalnya, untuk tabel, nenek moyangnya adalah basis data yang menjadi miliknya, dan katalog untuk akun tersebut. Untuk basis data, nenek moyangnya adalah katalog untuk akun. Lihat Contoh izin database dan tingkat tabel. -
Untuk tindakan hapus di Athena, seperti
DROP DATABASE
atauDROP TABLE
, Anda juga memerlukan izin untuk memanggil tindakan hapus pada semua leluhur dan keturunan sumber daya di Katalog Data. Misalnya, untuk menghapus basis data Anda memerlukan izin pada basis data, katalog, yang merupakan nenek moyangnya, dan semua tabel dan fungsi yang ditetapkan pengguna, yang merupakan keturunannya. Meja tidak memiliki keturunan. Untuk menjalankanDROP TABLE
, Anda memerlukan izin untuk tindakan ini di atas tabel, basis data yang dimiliki, dan katalog. Lihat Contoh izin database dan tingkat tabel.
Konfigurasi AWS Glue akses ke katalog dan database Anda per Wilayah AWS
Bagi Athena untuk bekerja dengan AWS Glue, kebijakan yang memberikan akses ke database Anda dan AWS Glue Data Catalog di akun Anda per Wilayah AWS diperlukan. Untuk membuat database, CreateDatabase
izin juga diperlukan. Dalam contoh kebijakan berikut, ganti Wilayah AWS, Akun AWS ID, dan nama database dengan nama Anda sendiri.
{ "Sid": "DatabasePermissions", "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:GetDatabases", "glue:CreateDatabase" ], "Resource": [ "arn:aws:glue:
us-east-1
:123456789012
:catalog", "arn:aws:glue:us-east-1
:123456789012
:database/default
" ] }
Tentang kontrol akses untuk partisi tabel dan versi di AWS Glue
Masuk AWS Glue, tabel dapat memiliki partisi dan versi. Versi tabel dan partisi tidak dianggap sebagai sumber daya independen di AWS Glue. Akses ke versi tabel dan partisi diberikan dengan memberikan akses pada tabel dan sumber daya leluhur untuk tabel.
Untuk keperluan kontrol akses, izin akses berikut berlaku:
-
Kontrol berlaku di tingkat tabel. Anda dapat membatasi akses hanya ke basis data dan tabel. Misalnya, jika Anda mengizinkan akses ke tabel dipartisi, akses ini berlaku untuk semua partisi dalam tabel. Anda tidak dapat membatasi akses ke partisi individu dalam tabel.
penting
Untuk menjalankan tindakan di AWS Glue pada partisi, izin untuk tindakan partisi diperlukan di tingkat katalog, database, dan tabel. Memiliki akses ke partisi dalam tabel tidak cukup. Misalnya, untuk berjalan
GetPartitions
di atas tabelmyTable
dalam databasemyDB
, Anda harus memberikanglue:GetPartitions
izin pada katalog,myDB
database, danmyTable
sumber daya. -
Kontrol akses tidak berlaku untuk versi tabel. Seperti halnya partisi, akses ke versi tabel sebelumnya diberikan melalui akses ke versi APIs tabel di AWS Glue di atas meja, dan ke meja leluhur.
Untuk informasi tentang izin pada AWS Glue tindakan, lihat AWS Glue APIizin: Tindakan dan referensi sumber daya di AWS Glue Panduan Pengembang.
Contoh izin database dan tingkat tabel
Tabel berikut mencantumkan contoh kebijakan IAM berbasis identitas yang memungkinkan akses ke database dan tabel di Athena. Kami merekomendasikan bahwa Anda mulai dengan contoh-contoh ini dan, tergantung pada kebutuhan Anda, menyesuaikan mereka untuk mengizinkan atau menolak tindakan tertentu untuk basis data tertentu dan tabel.
Contoh-contoh ini termasuk akses ke database dan katalog sehingga Athena dan AWS Glue bisa bekerja sama. Untuk beberapa AWS Wilayah, sertakan kebijakan serupa untuk setiap database dan katalog Anda, satu baris untuk setiap Wilayah.
Dalam contoh, ganti example_db
database dan test
tabel dengan database dan nama tabel Anda sendiri.
DDLpernyataan | Contoh kebijakan IAM akses yang memberikan akses ke sumber daya |
---|---|
ALTER DATABASE | Memungkinkan Anda untuk mengubah properti untukexample_db basis data.
|
CREATE DATABASE | Memungkinkan Anda untuk membuat basis data bernamaexample_db .
|
CREATE TABLE | Memungkinkan Anda untuk membuat tabel bernamatest diexample_db basis data.
|
DROP DATABASE | Memungkinkan Anda untuk menjatuhkanexample_db database, termasuk semua tabel di dalamnya.
|
DROP TABLE | Memungkinkan Anda untuk menjatuhkan tabel dipartisi bernamatest diexample_db basis data. Jika tabel Anda tidak memiliki partisi, jangan sertakan tindakan partisi.
|
MSCK REPAIR TABLE | Memungkinkan Anda memperbarui metadata katalog setelah menambahkan partisi kompatibel Hive ke tabel yang disebutkan test dalam database. example_db
|
SHOW DATABASES | Memungkinkan Anda untuk membuat daftar semua database di AWS Glue Data Catalog.
|
SHOW TABLES | Memungkinkan Anda untuk daftar semua tabel diexample_db basis data.
|