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 hati-hati dan memodifikasi mereka sesuai dengan kebutuhan Anda sebelum Anda melampirkan kebijakan izin yang sama untuk identitas IAM.

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

Kebijakan berikut dilampirkan pada utama IAM 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 MyLambdaSpillLocationmengidentifikasi keranjang tumpahan yang ditentukan dalam konfigurasi fungsi atau fungsi Lambda yang dipanggil. Pengenal sumber daya arn:aws:lambda: *: my:layer AWSAcctId:: MyAthenaLambdaLayer* diperlukan hanya 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"
Mengizinkan kueri untuk memanggil AWS Lambda fungsi yang ditentukan dalam blok. Resource Misalnyaarn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunction, di mana MyAthenaLambdaFunctionmenentukan nama fungsi Lambda yang akan dipanggil. Beberapa fungsi dapat ditentukan seperti yang ditunjukkan pada contoh.
contoh
— Izinkan prinsipal IAM untuk membuat Konektor Data Athena untuk Metastore Sarang Eksternal

Kebijakan berikut dilampirkan pada utama IAM 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 blok. Resource Misalnyaarn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunction, di mana MyAthenaLambdaFunctionmenentukan nama fungsi Lambda yang akan dipanggil. Beberapa fungsi dapat ditentukan seperti yang ditunjukkan pada contoh.