AWS Glue의 Lake Formation 권한 오류 문제를 해결하려면 어떻게 해야 합니까?

2분 분량
0

AWS Glue 크롤러 또는 ETL 작업이 AWS Lake Formation 권한 오류로 인해 실패합니다. 필요한 AWS Identity and Access Management(IAM) 권한을 구성했지만 오류가 발생합니다.

해결 방법

일반적인 권한 오류로는 기본 권한이 충분하지 않거나 다른 사용자에게 권한을 부여한 권한이 충분하지 않는 것이 있습니다.

기본 권한이 충분하지 않음

테이블을 쿼리하려는 역할의 기본 데이터베이스에 대한 권한을 제공해야 합니다. 이러한 권한이 없는 경우 Lake Formation에서 다음과 유사한 예외가 생성됩니다.

"AnalysisException: Unable to verify existence of default database: com.amazonaws.services.glue.model.AccessDeniedException: Insufficient Lake Formation permission(s) on default"

기본 권한 부여:

  1. 데이터 레이크 관리자로 Lake Formation 콘솔에 로그인합니다.
  2. 왼쪽 창에서 권한, 데이터 레이크 권한을 연 다음 권한 부여를 선택합니다.
  3. 데이터 레이크 권한 부여 페이지의 위탁자에서 Glue 작업의 위탁자 카테고리를 선택합니다.
  4. IAM 사용자 및 역할에서 IAM 역할을 하나 이상 선택합니다.
  5. LF-태그 또는 카탈로그 리소스에서 명명된 데이터 카탈로그 리소스를 선택한 다음 데이터베이스에서 기본을 선택합니다. 기본 데이터베이스가 보이지 않는 경우 이후의 설명과 같이 새로 생성합니다.
  6. 데이터 레이크 권한 부여 페이지의 데이터베이스 권한에서 데이터베이스 권한에 대해 설명을 선택합니다.
  7. 권한 부여 버튼을 선택합니다.
  8. AWS Glue에서 작업을 다시 실행하고 작업이 성공하는지 확인합니다.

아직 없는 경우 기본 데이터베이스 생성:

  1. 관리자 역할 및 작업을 열고 데이터베이스 생성자에서 권한 부여를 선택합니다.
  2. 권한 부여 대화 상자에서 Glue 역할을 선택합니다.
  3. 부여 가능한 권한에서 부여할 특정 액세스 권한에 대한 데이터베이스 생성 권한을 선택하고 권한 부여를 선택합니다. 이렇게 하면 Lake Formation에서 데이터베이스 생성자로서 AWS Glue 작업에 연결된 IAM 역할이 구성됩니다. 이후 Lake Formation에서 기본 데이터베이스(없는 경우)를 자동으로 생성하고, 역할에 필요한 권한을 부여합니다.
  4. AWS Glue에서 작업을 실행하고 작업이 성공하는지 확인합니다.

권한을 부여할 권한이 충분하지 않음

테이블에 권한을 부여할 때 AWS Glue 테이블에 대해 부여 가능한 권한이 있어야 합니다. 예를 들어 CloudFormation 템플릿 또는 CI/CD 파이프라인을 통해 권한을 부여하려면 부여 가능한 권한이 있어야 합니다. 부여 가능한 권한이 없는 경우 Lake Formation에서 다음과 같은 예외가 생성됩니다.

"AccessDeniedException: An error occurred (AccessDeniedException) when calling the GrantPermissions operation: Resource does not exist or requester is not authorized to access requested permissions."

  1. 명명된 리소스 방법을 사용하여 사용자 또는 역할에 대해 테이블 또는 데이터베이스에 부여 가능한 권한을 부여합니다.
  2. 이 사용자 또는 역할은 예를 들어 AWS CloudFormation 또는 CICD 파이프라인을 통해 다른 사용자 또는 역할에 권한을 부여할 수 있습니다.

관련 정보

Lake Formation 권한 관리

Amazon S3 위치 등록

AWS 공식
AWS 공식업데이트됨 4달 전