Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menentukan sumber daya AWS Glue ARNs
DiAWS Glue, Anda dapat mengontrol akses ke sumber daya menggunakan kebijakan AWS Identity and Access Management (IAM). Dalam kebijakan, Anda menggunakan Amazon Resource Name (ARN) untuk mengidentifikasi sumber daya yang berlaku untuk kebijakan tersebut. Tidak semua sumber daya AWS Glue mendukungARNs.
Topik
Katalog Data ARNs
Sumber daya Katalog Data memiliki struktur hirarkis, dengan catalog
sebagai akar.
arn:aws:glue:
region
:account-id
:catalog
Setiap AWS akun memiliki satu Katalog Data di AWS Wilayah dengan ID akun 12 digit sebagai ID katalog. Sumber daya memiliki unik ARNs terkait dengan mereka, seperti yang ditunjukkan pada tabel berikut.
Jenis sumber daya | ARNformat |
---|---|
Katalog |
Misalnya: |
Basis Data |
Misalnya: |
Tabel |
Misalnya: |
Fungsi yang ditetapkan pengguna |
Misalnya: |
Koneksi |
Misalnya: |
Sesi Interaktif |
Misalnya: |
Untuk mengaktifkan kontrol akses berbutir halus, Anda dapat menggunakannya ARNs dalam kebijakan dan IAM kebijakan sumber daya untuk memberikan dan menolak akses ke sumber daya tertentu. Wildcard diperbolehkan dalam kebijakan tersebut. Misalnya, berikut ini ARN cocok dengan semua tabel dalam databasedefault
.
arn:aws:glue:us-east-1:123456789012:table/default/*
penting
Semua operasi yang dilakukan pada sumber daya Katalog Data memerlukan izin pada sumber daya dan semua pendahulu dari sumber daya tersebut. Misalnya, untuk membuat sebuah partisi untuk tabel memerlukan izin pada tabel, basis data, dan katalog di mana tabel berada. Contoh berikut menunjukkan izin yang diperlukan untuk membuat partisi pada tabel PrivateTable
di basis data PrivateDatabase
dalam Katalog Data.
{ "Sid": "GrantCreatePartitions", "Effect": "Allow", "Action": [ "glue:BatchCreatePartitions" ], "Resource": [ "arn:aws:glue:us-east-1:123456789012:table/PrivateDatabase/PrivateTable", "arn:aws:glue:us-east-1:123456789012:database/PrivateDatabase", "arn:aws:glue:us-east-1:123456789012:catalog" ] }
Selain izin pada sumber daya dan semua pendahulunya, semua operasi penghapusan memerlukan izin pada semua anak dari sumber daya tersebut. Misalnya, menghapus sebuah basis data memerlukan izin pada semua tabel dan fungsi yang ditetapkan pengguna dalam basis data tersebut, selain basis data dan katalog di mana basis data berada. Contoh berikut menunjukkan izin yang diperlukan untuk menghapus basis data PrivateDatabase
dalam Katalog Data.
{ "Sid": "GrantDeleteDatabase", "Effect": "Allow", "Action": [ "glue:DeleteDatabase" ], "Resource": [ "arn:aws:glue:us-east-1:123456789012:table/PrivateDatabase/*", "arn:aws:glue:us-east-1:123456789012:userDefinedFunction/PrivateDatabase/*", "arn:aws:glue:us-east-1:123456789012:database/PrivateDatabase", "arn:aws:glue:us-east-1:123456789012:catalog" ] }
Singkatnya, tindakan pada sumber daya Katalog Data mengikuti aturan izin berikut ini:
Tindakan pada katalog hanya memerlukan izin pada katalog saja.
Tindakan pada sebuah basis data memerlukan izin pada basis data dan katalog.
Menghapus tindakan pada sebuah basis data memerlukan izin pada basis data dan katalog ditambah pada semua tabel dan fungsi yang ditetapkan pengguna dalam basis data tersebut.
Tindakan pada sebuah tabel, partisi, atau versi tabel memerlukan izin pada tabel, basis data, dan katalog.
Tindakan pada fungsi yang ditetapkan pengguna memerlukan izin pada fungsi yang ditetapkan pengguna, basis data, dan katalog.
Tindakan pada sebuah koneksi memerlukan izin pada koneksi dan katalog.
ARNsuntuk objek non-katalog di AWS Glue
Beberapa AWS Glue sumber daya memungkinkan izin tingkat sumber daya untuk mengontrol akses menggunakan file. ARN Anda dapat menggunakan ini ARNs dalam IAM kebijakan Anda untuk mengaktifkan kontrol akses berbutir halus. Tabel berikut mencantumkan sumber daya yang dapat berisi sumber dayaARNs.
Jenis sumber daya | ARNformat |
---|---|
Crawler |
Misalnya: |
Pekerjaan |
Misalnya: |
Pemicu |
Misalnya: |
Titik akhir pengembangan |
Misalnya: |
Transformasi Machine Learning |
Misalnya: |
Kontrol akses untuk operasi tunggal AWS Glue API non-katalog
AWS GlueAPIoperasi tunggal non-katalog bertindak pada satu item (titik akhir pengembangan). Contohnya adalah GetDevEndpoint
, CreateUpdateDevEndpoint
, dan UpdateDevEndpoint
. Untuk operasi ini, kebijakan harus memasukkan API nama di "action"
blok dan sumber daya ARN di "resource"
blok.
Misalkan Anda ingin mengizinkan pengguna untuk memanggil operasi GetDevEndpoint
. Kebijakan berikut memberikan izin minimum yang diperlukan untuk titik akhir yang bernama myDevEndpoint-1
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "MinimumPermissions", "Effect": "Allow", "Action": "glue:GetDevEndpoint", "Resource": "arn:aws:glue:us-east-1:123456789012:devEndpoint/myDevEndpoint-1" } ] }
Kebijakan berikut memungkinkan akses UpdateDevEndpoint
ke sumber daya yang cocok dengan myDevEndpoint-
yang memiliki sebuah wildcard (*).
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PermissionWithWildcard", "Effect": "Allow", "Action": "glue:UpdateDevEndpoint", "Resource": "arn:aws:glue:us-east-1:123456789012:devEndpoint/myDevEndpoint-*" } ] }
Anda dapat menggabungkan dua kebijakan seperti dalam contoh berikut ini. Anda mungkin melihat EntityNotFoundException
untuk setiap titik akhir pengembangan yang namanya dimulai dengan A
. Namun, kesalahan akses ditolak akan dikembalikan ketika Anda mencoba untuk mengakses titik akhir pengembangan lainnya.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CombinedPermissions", "Effect": "Allow", "Action": [ "glue:UpdateDevEndpoint", "glue:GetDevEndpoint" ], "Resource": "arn:aws:glue:us-east-1:123456789012:devEndpoint/A*" } ] }
Kontrol akses untuk API operasi AWS Glue non-katalog yang mengambil beberapa item
Beberapa AWS Glue API operasi mengambil beberapa item (seperti beberapa titik akhir pengembangan); misalnya,. GetDevEndpoints
Untuk operasi ini, Anda hanya dapat menentukan sumber daya wildcard (*), dan tidak spesifikARNs.
Sebagai contoh, untuk memasukkan GetDevEndpoints
dalam kebijakan, sumber daya harus terlingkup ke wildcard (*). Operasi tunggal (GetDevEndpoint
, CreateDevEndpoint
, dan DeleteDevendpoint
) juga terlingkup untuk semua (*) sumber daya dalam contoh.
{ "Sid": "PluralAPIIncluded", "Effect": "Allow", "Action": [ "glue:GetDevEndpoints", "glue:GetDevEndpoint", "glue:CreateDevEndpoint", "glue:UpdateDevEndpoint" ], "Resource": [ "*" ] }
Kontrol akses untuk operasi AWS Glue non-katalog BatchGet API
Beberapa AWS Glue API operasi mengambil beberapa item (seperti beberapa titik akhir pengembangan); misalnya,. BatchGetDevEndpoints
Untuk operasi ini, Anda dapat menentukan ARN untuk membatasi ruang lingkup sumber daya yang dapat diakses.
Misalnya, untuk mengizinkan akses ke titik akhir pengembangan tertentu, sertakan BatchGetDevEndpoints
dalam kebijakan dengan sumber ARN dayanya.
{ "Sid": "BatchGetAPIIncluded", "Effect": "Allow", "Action": [ "glue:BatchGetDevEndpoints" ], "Resource": [ "arn:aws:glue:us-east-1:123456789012:devEndpoint/de1" ] }
Dengan kebijakan ini, Anda dapat berhasil mengakses titik akhir pengembangan bernama de1
. Namun, jika Anda mencoba untuk mengakses titik akhir pengembangan bernama de2
, maka kesalahan akan dikembalikan.
An error occurred (AccessDeniedException) when calling the BatchGetDevEndpoints operation: No access to any requested resource.
penting
Untuk pendekatan alternatif untuk menyiapkan IAM kebijakan, seperti penggunaan List
dan BatchGet
API operasi, lihatContoh kebijakan berbasis identitas untuk Glue AWS.