Izinkan akses ke Konektor Data Athena untuk Metastore Sarang Eksternal - Amazon Athena

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

Izinkan akses ke Konektor Data Athena untuk Metastore Sarang Eksternal

Contoh kebijakan izin dalam topik ini menunjukkan diperlukan tindakan diperbolehkan dan sumber daya yang mereka diizinkan. Periksa kebijakan ini dengan cermat dan modifikasi sesuai dengan kebutuhan Anda sebelum Anda melampirkan kebijakan izin serupa ke IAM identitas.

contoh
— Izinkan IAM kepala sekolah untuk menanyakan data menggunakan Athena Data Connector untuk External Hive Metastore

Kebijakan berikut dilampirkan pada IAM kepala sekolah selainAWS kebijakan terkelola: AmazonAthenaFullAccess, yang memberikan akses penuh ke tindakan Athena.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "lambda:GetFunction", "lambda:GetLayerVersion", "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:*:111122223333:function:MyAthenaLambdaFunction", "arn:aws:lambda:*:111122223333:function:AnotherAthenaLambdaFunction", "arn:aws:lambda:*:111122223333:layer:MyAthenaLambdaLayer:*" ] }, { "Sid": "VisualEditor2", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::MyLambdaSpillBucket/MyLambdaSpillLocation" } ] }
Penjelasan perizinan
Tindakan yang diizinkan Penjelasan
"s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload"

s3tindakan memungkinkan membaca dari dan menulis ke sumber daya yang ditentukan sebagai"arn:aws:s3:::MyLambdaSpillBucket/MyLambdaSpillLocation", di mana MyLambdaSpillLocation mengidentifikasi bucket tumpahan yang ditentukan dalam konfigurasi fungsi Lambda atau fungsi yang dipanggil. Bagian arn:aws:lambda:*:MyAWSAcctId:layer:MyAthenaLambdaLayer:* pengidentifikasi sumber daya hanya diperlukan jika Anda menggunakan lapisan Lambda untuk membuat dependensi runtime khusus untuk mengurangi ukuran artefak fungsi pada waktu penerapan. Parameter*di posisi terakhir adalah wildcard untuk versi layer.

"lambda:GetFunction", "lambda:GetLayerVersion", "lambda:InvokeFunction"
Memungkinkan kueri untuk memanggil AWS Lambda fungsi yang ditentukan dalam Resource blok. Misalnyaarn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunction, di mana MyAthenaLambdaFunction menentukan nama fungsi Lambda yang akan dipanggil. Beberapa fungsi dapat ditentukan seperti yang ditunjukkan pada contoh.
contoh
— Izinkan IAM kepala sekolah untuk membuat Konektor Data Athena untuk Metastore Sarang Eksternal

Kebijakan berikut dilampirkan pada IAM kepala sekolah selainAWS kebijakan terkelola: AmazonAthenaFullAccess, yang memberikan akses penuh ke tindakan Athena.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "lambda:GetFunction", "lambda:ListFunctions", "lambda:GetLayerVersion", "lambda:InvokeFunction", "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:PublishLayerVersion", "lambda:DeleteLayerVersion", "lambda:UpdateFunctionConfiguration", "lambda:PutFunctionConcurrency", "lambda:DeleteFunctionConcurrency" ], "Resource": "arn:aws:lambda:*:111122223333: function: MyAthenaLambdaFunctionsPrefix*" } ] }

Penjelasan Izin

Memungkinkan kueri untuk memanggil AWS Lambda fungsi untuk AWS Lambda fungsi yang ditentukan dalam Resource blok. Misalnyaarn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunction, di mana MyAthenaLambdaFunction menentukan nama fungsi Lambda yang akan dipanggil. Beberapa fungsi dapat ditentukan seperti yang ditunjukkan pada contoh.