

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定 Glue Data Quality AWS 的 IAM 許可
<a name="data-quality-authorization"></a>

本主題提供的資訊可協助您了解 IAM 管理員可在 Glue Data Quality 的 AWS Identity and Access Management (IAM) AWS 政策中使用的動作和資源。它還包括範例 IAM 政策，具有使用 AWS Glue Data Quality 搭配 AWS Glue Data Catalog 所需的最低許可。

如需 Glue AWS 中安全性的其他資訊，請參閱 [中的安全性 AWS Glue](security.md)。

## Glue Data Quality AWS 的 IAM 許可
<a name="data-quality-authorization-permissions"></a>

下表列出使用者執行特定 AWS Glue Data Quality 操作所需的許可。若要設定 Glue Data Quality AWS 的精細授權，您可以在 IAM 政策陳述式的 `Action`元素中指定這些動作。


**AWS Glue Data Quality 動作**  

| Action | Description | 資源類型 | 
| --- | --- | --- | 
| glue:CreateDataQualityRuleset | 准許建立資料品質規則集。 | ::dataQualityRuleset/<name> | 
| glue:DeleteDataQualityRuleset | 准許刪除資料品質規則集。 | ::dataQualityRuleset/<name> | 
| glue:GetDataQualityRuleset | 准許擷取資料品質規則集。 | ::dataQualityRuleset/<name> | 
| glue:ListDataQualityRulesets | 准許擷取所有資料品質規則集。 | ::dataQualityRuleset/\$1 | 
| glue:UpdateDataQualityRuleset | 准許更新資料品質規則集。 | ::dataQualityRuleset/<name> | 
| glue:GetDataQualityResult |  准許擷取資料品質任務執行結果。此 IAM 動作也提供下列 APIS 的許可：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/data-quality-authorization.html)  | ::dataQualityRuleset/<name> | 
| glue:ListDataQualityResults | 准許擷取所有資料品質任務執行結果。 | ::dataQualityRuleset/\$1 | 
| glue:CancelDataQualityRuleRecommendationRun | 准許停止進行中的資料品質建議任務執行。 | ::dataQualityRuleset/\$1 | 
| glue:GetDataQualityRuleRecommendationRun | 准許擷取資料品質建議任務執行。 | ::dataQualityRuleset/\$1 | 
| glue:ListDataQualityRuleRecommendationRuns | 准許擷取所有資料品質建議任務執行。 | ::dataQualityRuleset/\$1 | 
| glue:StartDataQualityRuleRecommendationRun | 准許啟動資料品質建議任務執行。 | ::dataQualityRuleset/\$1 | 
| glue:CancelDataQualityRulesetEvaluationRun | 准許停止進行中的資料品質任務執行。 | ::dataQualityRuleset/\$1 | 
| glue:GetDataQualityRulesetEvaluationRun | 准許擷取資料品質任務執行。 | ::dataQualityRuleset/\$1 | 
| glue:ListDataQualityRulesetEvaluationRuns | 准許擷取所有資料品質任務執行。 | ::dataQualityRuleset/\$1 | 
| glue:StartDataQualityRulesetEvaluationRun | 准許啟動資料品質任務執行。 | ::dataQualityRuleset/<name> | 
| glue:PublishDataQuality | 准許發布資料品質結果。 | ::dataQualityRuleset/<name> | 
| glue:GetDataQualityModel | 准許擷取資料品質模型。 | ::dataQualityRuleset/<name>, ::job/<name>  | 
| glue:GetDataQualityModelResult | 准許擷取資料品質模型結果。 | ::dataQualityRuleset/<name>, ::job/<name>  | 
| glue:PutDataQualityStatisticAnnotation |  准許將註釋新增至統計資料。此 IAM 動作也提供下列 APIS 的許可：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/data-quality-authorization.html)  | ::dataQualityRuleset/<name>, ::job/<name>  | 
| glue:PutDataQualityProfileAnnotation | 准許將註釋放入設定檔中的所有統計資料。 | ::dataQualityRuleset/<name>, ::job/<name>  | 

## 排程評估執行所需的 IAM 設定
<a name="data-quality-iam-setup-evaluation-runs"></a>

### IAM 許可
<a name="data-quality-iam-setup-evaluation-runs-permissions"></a>

若要執行排程的資料品質評估執行，您必須將 `IAM:PassRole` 動作新增至許可政策。


**AWS EventBridge 排程器所需的許可**  

| Action | Description | 資源類型 | 
| --- | --- | --- | 
| iam:PassRole | 授予 IAM 許可，以允許使用者傳遞核准的角色。 | 用於呼叫 StartDataQualityRulesetEvaluationRun 之角色的 ARN | 

如果沒有這些許可，會發生下列錯誤：

```
"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 受信任的實體
<a name="data-quality-iam-setup-evaluation-runs-trusted-entities"></a>

Glue AWS 和 AWS EventBridge 排程器服務需要列在信任的實體中，才能建立和執行排定的 `StartDataQualityEvaluationRun`。

------
#### [ 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"
    }
  ]
}
```

------

## 範例 IAM 政策
<a name="data-quality-authorization-example-policy"></a>

Glue Data Quality AWS 的 IAM 角色需要以下類型的許可：
+ Glue Data Quality AWS 操作的許可，讓您可以取得建議的資料品質規則，並針對 Glue Data Catalog AWS 中的資料表執行資料品質任務。本節中的範例 IAM 政策包含 Glue Data Quality AWS 操作所需的最低許可。
+ 授予 Data Catalog 資料表和基礎資料存取權的許可。這些許可視乎您的使用案例而有所差異。例如，針對您在 Amazon S3 中編目的資料，許可應包括對 Amazon S3 的存取權。
**注意**  
除了在本節中描述的許可之外，您還必須設定 Amazon S3 許可。

### 取得建議資料品質規則的最低許可
<a name="example-policy-get-dq-rule-recommendations"></a>

此範例政策包括產生建議資料品質規則所需的許可。

------
#### [ 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": "*"
    }
  ]
}
```

------

### 執行資料品質任務的最低許可。
<a name="example-policy-run-dq-task"></a>

此範例政策包括執行資料品質評估任務所需的許可。

視乎您的使用案例，以下政策陳述式為選用：
+ `AllowCloudWatchPutMetricDataToPublishTaskMetrics` - 如果您想要將資料品質執行指標發佈至 Amazon CloudWatch，則為必要項目。
+ `AllowS3PutObjectToWriteTaskResults` - 如果您想要將資料品質執行結果寫入 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/*"
    }
  ]
}
```

------

### 執行資料品質 ETL 任務的最低許可
<a name="example-policy-run-dq-etl-job"></a>

 此範例政策包括執行資料品質 ETL 任務所需的許可。

------
#### [ 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}"
      ]
    }
	]
}
```

------