기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon EMR Spark용 Lake Formation을 사용한 S3 경로 기반 액세스
Amazon EMR 릴리스 7.13.0 이상에서는 AWS Lake Formation Access Grants 플러그인을 사용하여 Lake Formation에 등록된 S3 경로에 대한 임시 자격 증명을 얻을 수 있습니다. 이를 통해 S3 경로를 직접 참조하는 Spark 쿼리는 전체 테이블 액세스(FTA)에서 제공하는 기존 테이블 이름 기반 자격 증명 벤딩 외에도 Lake Formation 벤딩 자격 증명을 사용할 수 있습니다.
Lake Formation Access Grants 플러그인은 Spark의 S3A 파일 시스템과 통합됩니다. 활성화되면 S3A는 플러그인을 사용하여 Lake Formation GetTemporaryDataLocationCredentials API를 호출하여 Lake Formation 등록 테이블에 속하는 S3 경로에 대한 임시 자격 증명을 가져옵니다.
이 플러그인은 Spark 작업이 테이블 이름을 사용하는 대신 S3 경로를 직접 참조(예: spark.read.parquet("s3a://my-bucket/my-table/"))하여 데이터를 읽거나 쓸 때 유용합니다. 또한 플러그인은 Lake Formation 액세스가 거부될 때 S3 Access Grants 또는 IAM 역할 자격 증명으로의 선택적 폴백을 지원합니다.
전체 테이블 액세스(FTA)와의 관계
기존 전체 테이블 액세스 기능은 테이블 이름을 기반으로 자격 증명을 제공하는 GetTemporaryGlueTableCredentials API를 사용합니다. Lake Formation Access Grants 플러그인은 S3 경로를 기반으로 자격 증명을 제공하는 GetTemporaryDataLocationCredentials API를 사용합니다.
두 기능을 함께 사용할 수 있습니다. 둘 다 활성화하면 테이블 이름 쿼리에 FTA 자격 증명이 우선하고 플러그인은 직접 S3 경로 쿼리를 처리합니다.
사전 조건
Lake Formation Access Grants 플러그인을 사용하기 전에 다음 단계를 완료하세요.
Lake Formation Access Grants 플러그인 활성화
플러그인을 활성화하려면 Spark 세션에서 다음 S3A 구성 속성을 설정합니다.
| 속성 | 기본값 | 설명 |
|---|---|---|
fs.s3a.lakeformation.access.grants.enabled |
FALSE |
Lake Formation Access Grants 플러그인을 활성화합니다. |
fs.s3a.lakeformation.access.grants.fallback.to.iam |
FALSE |
Lake Formation에서 액세스를 거부하는 경우 S3 Access Grants 또는 IAM 역할 자격 증명으로 폴백을 활성화합니다. |
폴백 동작
fs.s3a.lakeformation.access.grants.fallback.to.iam를 로 설정하면 Lake Formation에서 액세스를 거부하는 경우 플러그인true은 폴백 체인을 사용합니다. 이는 일부 S3 경로가 Lake Formation에 등록되고 다른 경로가 S3 Access Grants 또는 IAM 정책을 통해 관리되는 시나리오에서 유용합니다.
폴백이 활성화되면 플러그인은 다음 순서로 자격 증명을 얻으려고 시도합니다.
-
Lake Formation - 플러그인이 GetTemporaryDataLocationCredentials를 호출합니다. Lake Formation에서 액세스 권한을 부여하면 플러그인이 해당 자격 증명을 반환합니다.
-
S3 Access Grants - Lake Formation이 액세스를 거부하는 경우 플러그인은 S3 Access Grants가 요청된 경로에 대한 자격 증명을 제공할 수 있는지 확인합니다. S3 Access Grants 인스턴스가 경로를 덮고 호출자에게 일치하는 권한이 있는 경우 플러그인은 이러한 자격 증명을 사용합니다.
-
IAM 역할 - Lake Formation과 S3 Access Grants가 모두 액세스를 거부하는 경우 플러그인은 작업에 연결된 IAM 역할 자격 증명으로 돌아갑니다.
고려 사항 및 제한 사항
-
플러그인은 Apache Hive, Apache Hudi 및 Delta Lake 테이블 형식을 지원합니다. Apache Iceberg는 현재 지원되지 않습니다.
-
플러그인은 현재 Amazon EMR Spark FGAC(Fine-Grained Access Control) 모드에서 지원되지 않습니다.
-
경로 기반 자격 증명 벤딩에는 테이블과 Glue 데이터 카탈로그의 S3 위치 간에 AWS 1:1 매핑이 필요합니다.