View a markdown version of this page

Konfigurasikan izin IAM untuk AWS Kualitas Data Lem - AWS Lem

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

Konfigurasikan izin IAM untuk AWS Kualitas Data Lem

Topik ini menyediakan informasi untuk membantu Anda memahami tindakan dan sumber daya yang dapat digunakan administrator IAM dalam kebijakan AWS Identity and Access Management (IAM) untuk Kualitas Data AWS Glue. Ini juga mencakup contoh kebijakan IAM dengan izin minimum yang Anda perlukan untuk menggunakan Kualitas Data AWS Glue dengan Katalog Data AWS Lem.

Untuk informasi tambahan tentang keamanan di AWS Glue, lihatKeamanan di AWS Glue.

Izin IAM untuk AWS Kualitas Data Lem

Tabel berikut mencantumkan izin yang dibutuhkan pengguna untuk melakukan operasi Kualitas Data AWS Glue tertentu. Untuk menetapkan otorisasi berbutir halus untuk Kualitas Data AWS Glue, Anda dapat menentukan tindakan ini di Action elemen pernyataan kebijakan IAM.

AWS Tindakan Kualitas Data Lem
Tindakan Deskripsi Jenis sumber daya
glue:CreateDataQualityRuleset Memberikan izin untuk membuat kumpulan aturan kualitas data. ::dataQualityRuleset/<name>
glue:DeleteDataQualityRuleset Memberikan izin untuk menghapus kumpulan aturan kualitas data. ::dataQualityRuleset/<name>
glue:GetDataQualityRuleset Memberikan izin untuk mengambil kumpulan aturan kualitas data. ::dataQualityRuleset/<name>
glue:ListDataQualityRulesets Memberikan izin untuk mengambil semua set aturan kualitas data. ::dataQualityRuleset/*
glue:UpdateDataQualityRuleset Memberikan izin untuk memperbarui kumpulan aturan kualitas data. ::dataQualityRuleset/<name>
glue:GetDataQualityResult Memberikan izin untuk mengambil hasil menjalankan tugas kualitas data. Tindakan IAM ini juga memberikan izin ke API berikut:
  • BatchGetDataQualityQualityResult

  • ListDataQualityStatistics

  • ListDataQualityStatisticAnnotations

::dataQualityRuleset/<name>
glue:ListDataQualityResults Memberikan izin untuk mengambil semua hasil menjalankan tugas kualitas data. ::dataQualityRuleset/*
glue:CancelDataQualityRuleRecommendationRun Memberikan izin untuk menghentikan menjalankan tugas rekomendasi kualitas data yang sedang berlangsung. ::dataQualityRuleset/*
glue:GetDataQualityRuleRecommendationRun Memberikan izin untuk mengambil tugas rekomendasi kualitas data yang dijalankan. ::dataQualityRuleset/*
glue:ListDataQualityRuleRecommendationRuns Memberikan izin untuk mengambil semua tugas rekomendasi kualitas data yang dijalankan. ::dataQualityRuleset/*
glue:StartDataQualityRuleRecommendationRun Memberikan izin untuk memulai menjalankan tugas rekomendasi kualitas data. ::dataQualityRuleset/*
glue:CancelDataQualityRulesetEvaluationRun Memberikan izin untuk menghentikan menjalankan tugas kualitas data yang sedang berlangsung. ::dataQualityRuleset/*
glue:GetDataQualityRulesetEvaluationRun Memberikan izin untuk mengambil tugas kualitas data yang dijalankan. ::dataQualityRuleset/*
glue:ListDataQualityRulesetEvaluationRuns Memberikan izin untuk mengambil semua tugas kualitas data yang dijalankan. ::dataQualityRuleset/*
glue:StartDataQualityRulesetEvaluationRun Memberikan izin untuk memulai menjalankan tugas kualitas data. ::dataQualityRuleset/<name>
glue:PublishDataQuality Memberikan izin untuk mempublikasikan hasil kualitas data. ::dataQualityRuleset/<name>
glue:GetDataQualityModel Memberikan izin untuk mengambil Model Kualitas Data. ::dataQualityRuleset/<name>, ::job/<name>
glue:GetDataQualityModelResult Memberikan izin untuk mengambil Hasil Model Kualitas Data. ::dataQualityRuleset/<name>, ::job/<name>
glue:PutDataQualityStatisticAnnotation Memberikan izin untuk menambahkan anotasi ke Statistik. Tindakan IAM ini juga memberikan izin ke API berikut:
  • BatchPutDataQualityStatisticAnnotation

::dataQualityRuleset/<name>, ::job/<name>
glue:PutDataQualityProfileAnnotation Memberikan izin untuk menempatkan anotasi ke semua Statistik di Profil. ::dataQualityRuleset/<name>, ::job/<name>

Pengaturan IAM diperlukan untuk penjadwalan evaluasi berjalan

Izin IAM

Untuk menjalankan evaluasi Kualitas Data terjadwal, Anda harus menambahkan IAM:PassRole tindakan ke kebijakan izin.

AWS EventBridge Izin yang diperlukan penjadwal
Tindakan Deskripsi Jenis sumber daya
iam:PassRole Memberikan izin bagi IAM untuk mengizinkan pengguna melewati peran yang disetujui. ARN dari peran yang digunakan untuk memanggil StartDataQualityRulesetEvaluationRun

Tanpa izin ini, kesalahan berikut terjadi:

"errorCode": "AccessDenied" "errorMessage": "User: arn:aws:sts::account_id:assumed-role/AWSGlueServiceRole is not authorized to perform: iam:PassRole on resource: arn:aws:iam::account_id:role/service-role/AWSGlueServiceRole because no identity-based policy allows the iam:PassRole action"

Entitas tepercaya IAM

Layanan AWS Glue dan AWS EventBridge Penjadwal perlu dicantumkan dalam entitas tepercaya untuk membuat dan menjalankan jadwalStartDataQualityEvaluationRun.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "Service": "scheduler.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Contoh kebijakan IAM

Peran IAM untuk AWS Kualitas Data Glue memerlukan jenis izin berikut:

  • Izin untuk AWS operasi Glue Data Quality sehingga Anda bisa mendapatkan aturan kualitas data yang direkomendasikan dan menjalankan tugas kualitas data terhadap tabel di Katalog Data AWS Glue. Contoh kebijakan IAM di bagian ini mencakup izin minimum yang diperlukan untuk operasi Kualitas Data AWS Glue.

  • Izin yang memberikan akses ke tabel Katalog Data Anda dan data yang mendasarinya. Izin ini bervariasi tergantung pada kasus penggunaan Anda. Misalnya, untuk data yang Anda katalogkan di Amazon S3, izin harus menyertakan akses ke Amazon S3.

    catatan

    Anda harus mengonfigurasi izin Amazon S3 selain izin yang dijelaskan di bagian ini.

Izin minimum untuk mendapatkan aturan kualitas data yang direkomendasikan

Kebijakan contoh ini mencakup izin yang Anda perlukan untuk menghasilkan aturan kualitas data yang direkomendasikan.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowGlueRuleRecommendationRunActions", "Effect": "Allow", "Action": [ "glue:GetDataQualityRuleRecommendationRun", "glue:PublishDataQuality", "glue:CreateDataQualityRuleset" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, { "Sid": "AllowCatalogPermissions", "Effect": "Allow", "Action": [ "glue:GetPartitions", "glue:GetTable" ], "Resource": [ "*" ] }, { "Sid": "AllowS3GetObjectToRunRuleRecommendationTask", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::aws-glue-*" }, { "Sid": "AllowPublishingCloudwatchLogs", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": "*" } ] }

Izin minimum untuk mendapatkan rekomendasi aturan kualitas data lanjutan

Anda harus memiliki iam:PassRole izin untuk peran rekomendasi. Peran tidak memerlukan Amazon Bedrock izin.

Kebijakan kepercayaan

Gunakan kebijakan kepercayaan ini untuk mengi AWS zinkan Glue mengambil peran rekomendasi untuk tabel sumber Anda.

Set el aws: SourceArn ke tabel sumber lengkap ARN. Gunakan ID akun dari ARN itu untuk aws: SourceAccount.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnEquals": { "aws:SourceArn": "arn:aws:glue:us-east-1:111122223333:table/database-name/table-name" } } } ] }

Kebijakan izin

Pada proses pertamaADVANCED, AWS Glue membuat sumber daya berikut di akun Anda:

  • Work glue-dataquality-sampling group Athena untuk menjalankan kueri untuk rekomendasi aturan.

  • Bucket aws-glue-dataquality-sampling-account-id-region Amazon S3 untuk menyimpan hasil kueri.

Untuk proses selanjutnya, AWS Glue menggunakan kembali workgroup dan bucket yang ada. Lihat perinciannya di Perlindungan data untuk rekomendasi aturan kualitas data lanjutan.

Lampirkan kebijakan izin berikut ke peran rekomendasi Anda.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCatalogRead", "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:GetPartitions", "glue:GetTable" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog", "arn:aws:glue:us-east-1:111122223333:database/database-name", "arn:aws:glue:us-east-1:111122223333:table/database-name/table-name" ] }, { "Sid": "AllowDataQualityRecommendationResults", "Effect": "Allow", "Action": "glue:PublishDataQuality", "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, { "Sid": "AllowDataAccess", "Effect": "Allow", "Action": [ "athena:CreateWorkGroup", "athena:GetQueryExecution", "athena:GetQueryResults", "athena:StartQueryExecution" ], "Resource": "arn:aws:athena:us-east-1:111122223333:workgroup/glue-dataquality-sampling" }, { "Sid": "AllowSourceRead", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::source-bucket", "arn:aws:s3:::source-bucket/*" ] }, { "Sid": "AllowSamplingBucket", "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:CreateBucket", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:PutLifecycleConfiguration", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::aws-glue-dataquality-sampling-111122223333-us-east-1", "arn:aws:s3:::aws-glue-dataquality-sampling-111122223333-us-east-1/athena-results/*" ] } ] }
catatan

Jika bucket ada, Anda dapat menghapus s3:CreateBucket dari kebijakan ini. Jika Anda menghapus ember, AWS Glue membutuhkan izin ini lagi. Semua izin lain dalam kebijakan ini tetap diperlukan untuk proses selanjutnya.

Izin tambahan

Jika kondisi dalam daftar ini berlaku, tambahkan izin terkait ke peran rekomendasi Anda.

  • Jika Formasi Danau mengontrol akses tabel, tambahkanlakeformation:GetDataAccess. Berikan peran DESCRIBE pada database dan DESCRIBE dan SELECT di atas meja.

  • Jika Anda menentukan konfigurasi keamanan kualitas data, tambahkan glue:GetSecurityConfiguration izin.

  • Jika Anda menentukanCreatedRulesetName, tambahkan glue:CreateDataQualityRuleset izin.

  • Jika Anda menentukan konfigurasi keamanan kualitas data dengan kunci yang dikelola pelanggan, tambahkan pernyataan berikut untuk kunci tersebut.

    { "Sid": "AllowDataQualityEncryption", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncrypt*" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id" }

    Peran rekomendasi Anda memerlukan tindakan ini untuk enkripsi hasil kueri dan enkripsi aset Kualitas Data AWS Glue. Kebijakan kunci juga harus memungkinkan tindakan ini untuk peran Anda. Lihat perinciannya di Kebijakan kunci.

  • Jika objek sumber menggunakan SSE-KMS, tambahkan pernyataan berikut.

    { "Sid": "AllowSourceDataDecryption", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-1:111122223333:key/source-key-id" }

    Kebijakan kunci sumber juga harus mengizinkan peran rekomendasi untuk mendekripsi objek sumber.

Izin minimum untuk menjalankan tugas kualitas data

Kebijakan contoh ini mencakup izin yang Anda perlukan untuk menjalankan tugas evaluasi kualitas data.

Pernyataan kebijakan berikut bersifat opsional, tergantung pada kasus penggunaan Anda:

  • AllowCloudWatchPutMetricDataToPublishTaskMetrics- Diperlukan jika Anda ingin mempublikasikan metrik menjalankan kualitas data ke Amazon CloudWatch.

  • AllowS3PutObjectToWriteTaskResults- Diperlukan jika Anda ingin menulis hasil menjalankan kualitas data ke Amazon S3.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowGlueGetDataQualityRuleset", "Effect": "Allow", "Action": [ "glue:GetDataQualityRuleset" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/YOUR-RULESET-NAME" }, { "Sid": "AllowGlueRulesetEvaluationRunActions", "Effect": "Allow", "Action": [ "glue:GetDataQualityRulesetEvaluationRun", "glue:PublishDataQuality" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, { "Sid": "AllowCatalogPermissions", "Effect": "Allow", "Action": [ "glue:GetPartitions", "glue:GetTable" ], "Resource": [ "*" ] }, { "Sid": "AllowS3GetObjectForRulesetEvaluationRun", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::aws-glue-*" }, { "Sid": "AllowCloudWatchPutMetricDataToPublishTaskMetrics", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": "Glue Data Quality" } } }, { "Sid": "AllowS3PutObjectToWriteTaskResults", "Effect": "Allow", "Action": [ "s3:PutObject*" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }

Izin minimum untuk menjalankan tugas ETL kualitas data

Kebijakan contoh ini mencakup izin yang Anda perlukan untuk menjalankan ETL Job berkualitas data.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowGluePublishDataQualityResult", "Effect": "Allow", "Action": [ "glue:PublishDataQuality" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, { "Sid": "AllowGlueGetDataQualityResult", "Effect": "Allow", "Action": [ "glue:GetDataQualityResult" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, { "Sid": "AllowGlueDataQualityStatisticAnnotation", "Effect": "Allow", "Action": [ "glue:PutDataQualityStatisticAnnotation" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*", "arn:aws:glue:us-east-1:111122223333::job/{JobName}" ] }, { "Sid": "AllowGlueDataQualityProfileAnnotation", "Effect": "Allow", "Action": [ "glue:PutDataQualityProfileAnnotation" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*", "arn:aws:glue:us-east-1:111122223333::job/{JobName}" ] } ] }