本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 AWS Glue Data Quality 的IAM許可
本主題提供的資訊可協助您了解IAM管理員可以在 AWS Identity and Access Management (IAM) AWS Glue Data Quality 政策中使用的動作和資源。它還包括具有使用 AWS Glue Data Quality 與 AWS Glue Data Catalog 所需的最低許可的範例IAM政策。
如需 AWS Glue 中安全性的其他資訊,請參閱 中的安全性 AWS Glue。
IAM AWS Glue Data Quality 的許可
下表列出使用者執行特定 AWS Glue Data Quality 操作所需的許可。若要設定 AWS Glue Data Quality 的精細授權,您可以在IAM政策陳述式的 Action
元素中指定這些動作。
動作 | 描述 | 資源類型 |
---|---|---|
glue:CreateDataQualityRuleset |
准許建立資料品質規則集。 | ::dataQualityRuleset/<name> |
glue:DeleteDataQualityRuleset |
准許刪除資料品質規則集。 | ::dataQualityRuleset/<name> |
glue:GetDataQualityRuleset |
准許擷取資料品質規則集。 | ::dataQualityRuleset/<name> |
glue:ListDataQualityRulesets |
准許擷取所有資料品質規則集。 | ::dataQualityRuleset/* |
glue:UpdateDataQualityRuleset |
准許更新資料品質規則集。 | ::dataQualityRuleset/<name> |
glue:GetDataQualityResult |
准許擷取資料品質任務執行結果。此IAM動作也提供下列 的許可APIS:
|
::dataQualityRuleset/<name> |
glue:ListDataQualityResults |
准許擷取所有資料品質任務執行結果。 | ::dataQualityRuleset/* |
glue:CancelDataQualityRuleRecommendationRun |
准許停止進行中的資料品質建議任務執行。 | ::dataQualityRuleset/* |
glue:GetDataQualityRuleRecommendationRun |
准許擷取資料品質建議任務執行。 | ::dataQualityRuleset/* |
glue:ListDataQualityRuleRecommendationRuns |
准許擷取所有資料品質建議任務執行。 | ::dataQualityRuleset/* |
glue:StartDataQualityRuleRecommendationRun |
准許啟動資料品質建議任務執行。 | ::dataQualityRuleset/* |
glue:CancelDataQualityRulesetEvaluationRun |
准許停止進行中的資料品質任務執行。 | ::dataQualityRuleset/* |
glue:GetDataQualityRulesetEvaluationRun |
准許擷取資料品質任務執行。 | ::dataQualityRuleset/* |
glue:ListDataQualityRulesetEvaluationRuns |
准許擷取所有資料品質任務執行。 | ::dataQualityRuleset/* |
glue:StartDataQualityRulesetEvaluationRun |
准許啟動資料品質任務執行。 | ::dataQualityRuleset/<name> |
glue:PublishDataQuality |
准許發佈資料品質結果。 | ::dataQualityRuleset/<name> |
glue:GetDataQualityModel |
准許擷取資料品質模型。 | ::dataQualityRuleset/<name>,
::job/<name>
|
glue:GetDataQualityModelResult |
准許擷取資料品質模型結果。 | ::dataQualityRuleset/<name>,
::job/<name>
|
glue:PutDataQualityStatisticAnnotation |
准許將註釋新增至統計資料。此IAM動作也提供下列 的許可APIS:
|
::dataQualityRuleset/<name>,
::job/<name>
|
glue:PutDataQualityProfileAnnotation |
准許將註釋放入設定檔中的所有統計資料。 | ::dataQualityRuleset/<name>,
::job/<name>
|
IAM 排程評估執行所需的設定
IAM 許可
若要執行排程的資料品質評估執行,您必須將 IAM:PassRole
動作新增至許可政策。
動作 | 描述 | 資源類型 |
---|---|---|
iam:PassRole |
准許 IAM 允許使用者傳遞已核准的角色。 | ARN 用於呼叫 的角色 StartDataQualityRulesetEvaluationRun |
如果沒有這些許可,會發生下列錯誤:
"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"
IAM 信任的實體
AWS Glue 和 AWS EventBridge Scheduler 服務需要列在信任的實體中,才能建立和執行排程的 StartDataQualityEvaluationRun
。
{ "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" } ] }
範例IAM政策
AWS Glue Data Quality IAM的角色需要下列類型的許可:
-
AWS Glue Data Quality 操作的許可,以便您可以取得建議的資料品質規則,並根據 AWS Glue Data Catalog 中的資料表執行資料品質任務。本節中的範例IAM政策包含 AWS Glue Data Quality 操作所需的最低許可。
-
授予 Data Catalog 資料表和基礎資料存取權的許可。這些許可視乎您的使用案例而有所差異。例如,針對您在 Amazon S3 中編目的資料,許可應包括對 Amazon S3 的存取權。
注意
除了在本節中描述的許可之外,您還必須設定 Amazon S3 許可。
取得建議資料品質規則的最低許可
此範例政策包括產生建議資料品質規則所需的許可。
{ "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-*" }, { // Optional for Logs "Sid": "AllowPublishingCloudwatchLogs", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": "*" }, ] }
執行資料品質任務的最低許可。
此範例政策包括執行資料品質評估任務所需的許可。
視乎您的使用案例,以下政策陳述式為選用:
-
AllowCloudWatchPutMetricDataToPublishTaskMetrics
- 如果您想要將資料品質執行指標發佈至 Amazon CloudWatch,則為必要項目。 -
AllowS3PutObjectToWriteTaskResults
- 如果您想要將資料品質執行結果寫入 Amazon S3,則為必要選項。
{ "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:::<YOUR-BUCKET-NAME>
/*" } ] }
執行資料品質ETL任務的最小許可
此範例政策包含執行資料品質ETL任務所需的許可。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGluePublishDataQualityResult", "Effect": "Allow", "Action": [ "glue:PublishDataQuality" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, //Optional to retrieve results, observation generation, //dynamic rules and DetectAnomalies { "Sid": "AllowGlueGetDataQualityResult", "Effect": "Allow", "Action": [ "glue:GetDataQualityResult" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, //Optional to allow annotating statistics { "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}" ] }, //Optional to allow annotating all statistics in a profile { "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}" ] } }