AWS Glue Data Quality에 대한 IAM 권한 구성 - AWS Glue

AWS Glue Data Quality에 대한 IAM 권한 구성

이 주제에서는 IAM 관리자가 AWS Glue Data Quality에 대한 AWS Identity and Access Management(IAM) 정책에서 사용할 수 있는 작업과 리소스를 이해하는 데 도움이 되는 정보를 제공합니다. 또한 AWS Glue 데이터 카탈로그와 함께 AWS Glue Data Quality를 사용하는 데 필요한 최소 권한이 포함된 샘플 IAM 정책도 포함되어 있습니다.

AWS Glue의 보안에 대한 자세한 내용은 AWS Glue의 보안을(를) 참조하세요.

AWS Glue Data Quality에 대한 IAM 권한

다음 테이블에는 특정 AWS Glue Data Quality 작업을 수행하는 데 필요한 권한이 나와 있습니다. AWS Glue Data Quality에 대한 세분화된 권한 부여를 설정하려면 IAM 정책 명령문의 Action 요소에서 이러한 작업을 지정할 수 있습니다.

AWS Glue 데이터 품질 작업
작업 설명 리소스 유형
glue:CreateDataQualityRuleset 데이터 품질 규칙 세트를 생성할 수 있는 권한을 부여합니다. ::dataQualityRuleset/<name>
glue:DeleteDataQualityRuleset 데이터 품질 규칙 세트를 삭제할 수 있는 권한을 부여합니다. ::dataQualityRuleset/<name>
glue:GetDataQualityRuleset 데이터 품질 규칙 세트를 검색할 수 있는 권한을 부여합니다. ::dataQualityRuleset/<name>
glue:ListDataQualityRulesets 모든 데이터 품질 규칙 세트를 검색할 수 있는 권한을 부여합니다. ::dataQualityRuleset/*
glue:UpdateDataQualityRuleset 데이터 품질 규칙 세트를 업데이트할 수 있는 권한을 부여합니다. ::dataQualityRuleset/<name>
glue:GetDataQualityResult 데이터 품질 작업 실행 결과를 검색할 수 있는 권한을 부여합니다. 이 IAM 작업은 다음 API에 대한 권한도 제공합니다.
  • BatchGetDataQualityQualityResult

  • ListDataQualityStatistics

  • ListDataQualityStatisticAnnotations

::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 작업은 다음 API에 대한 권한도 제공합니다.
  • BatchPutDataQualityStatisticAnnotation

::dataQualityRuleset/<name>, ::job/<name>
glue:PutDataQualityProfileAnnotation 프로필의 모든 통계에 주석을 달 수 있는 권한을 부여합니다. ::dataQualityRuleset/<name>, ::job/<name>

평가 실행을 예약하는 데 필요한 IAM 설정

IAM 권한

예약된 데이터 품질 평가를 실행하려면 권한 정책에 IAM:PassRole 작업을 추가해야 합니다.

AWS EventBridge 스케줄러 필수 권한
작업 설명 리소스 유형
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 신뢰할 수 있는 엔터티

예약된 StartDataQualityEvaluationRun을 생성하고 실행하려면 AWS Glue 및 AWS EventBridge 스케줄러 서비스가 신뢰할 수 있는 엔티티에 나열되어야 합니다.

{ "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 데이터 카탈로그의 테이블에 대해 데이터 품질 작업을 실행할 수 있습니다. 이 섹션의 예제 IAM 정책에는AWS Glue Data Quality 작업에 필요한 최소 권한이 포함되어 있습니다.

  • 데이터 카탈로그 테이블 및 기본 데이터에 대한 액세스 권한을 부여하는 권한입니다. 이러한 권한은 사용 사례에 따라 다릅니다. 예를 들어 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}" ] } }