기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon S3 위치 액세스
AWS Lake Formation 를 사용하면 (데이터 카탈로그)에 등록된 테이블의 Amazon Simple Storage Service(Amazon S3)에서 기본 AWS Glue Data Catalog 데이터 파일을 읽고 쓸 수 있습니다. 이렇게 하면 기존 Lake Formation 테이블 권한 부여를 사용하여 SQL 쿼리와 직접 파일 액세스 모두에 대한 단일 권한 집합이 제공됩니다. Lake Formation은 자격 증명 벤딩 기능을 데이터 카탈로그에 등록된 Amazon S3 위치로 확장합니다. 애플리케이션이 데이터 카탈로그 테이블의 기반이 되는 Amazon S3 파일에 대한 액세스를 요청하면 Lake Formation은 호출자의 기존 테이블 수준 권한을 평가하고, 권한이 있는 경우 해당 테이블의 등록된 위치에 대해 수명이 짧고 범위가 지정된 Amazon S3 자격 증명을 반환합니다.
Amazon S3 위치에 대한 직접 액세스 활성화
이 기능을 활성화하려면 다음 단계를 완료해야 합니다.
사전 조건
기능 플래그를 활성화하기 전에 다음 사전 조건을 완료합니다.
-
Amazon S3 위치 등록 - Amazon S3 위치의 데이터 카탈로그에서 테이블을 카탈로그화하고 Amazon S3 버킷 소유자 계정을 제공하여 Lake Formation에 등록합니다. 위치를 등록하면 해당 Amazon S3 경로와 해당 경로 아래의 모든 폴더가 등록됩니다. 자세한 내용은 Amazon S3 위치 등록 단원을 참조하십시오.
-
Lake Formation 권한 부여 - Lake Formation 콘솔 또는 APIs를 사용하여 데이터 과학자 및 애플리케이션에 테이블에 대한 Lake Formation
SELECT(또는SUPER) 권한을 부여합니다. Athena 또는 Amazon EMR과 같은 서비스를 통한 테이블 액세스에 이미 Lake Formation을 사용하는 경우 이미 구성되어 있습니다. -
전체 테이블 액세스와 애플리케이션 통합 활성화 - 전체 테이블 액세스와 애플리케이션 통합을 활성화하여 등록된 테이블 위치로 자격 증명 벤딩을 허용합니다. 자세한 내용은 전체 테이블 액세스를 위한 애플리케이션 통합 단원을 참조하십시오.
기능 플래그 활성화
지원되는 엔진에서 fs.s3a.lakeformation.access.grants.enabled 플래그를 활성화합니다.
fs.s3a.lakeformation.access.grants.enabled = true
-
Amazon EC2의 Amazon EMR – EMR 7.13 이상
-
Amazon EMR on EKS – EMR 7.13 이상
-
Amazon EMR Serverless – EMR 7.13 이상
구성이 완료되면 표준 APIs.
Amazon EMR 통합에 대한 자세한 내용은 Amazon EMR 관리 안내서의 Lake Formation 경로 기반 자격 증명 벤딩을 참조하세요.
작동 방식
Lake Formation 기반 Amazon S3 위치 액세스는 다음 흐름을 따릅니다.
-
보안 주체 또는 역할은 Amazon EMR Spark 작업 또는 데이터 처리 파이프라인과 같은 서비스를 통해 Amazon S3 데이터 파일에 대한 액세스를 요청합니다.
-
EMR과 통합된 AWS SDK 플러그인은 Amazon S3 요청을 가로채 Lake Formation
GetTemporaryDataLocationCredentialsAPI를 호출합니다. -
Lake Formation은 Amazon S3 경로가 등록된 위치 및 카탈로그화된 테이블에 해당하는지 확인하고 연결된 AWS Glue 테이블에 대한 호출자의 권한을 평가합니다.
-
호출자에게 전체 테이블 액세스 권한이 있는 해당 테이블에 대한
SELECT또는SUPER권한이 있는 경우 Lake Formation은 해당 Amazon S3 위치로 범위가 지정된 임시 자격 증명을 제공합니다.는 READ 자격 증명을SELECT부여하고는 READWRITE 자격 증명을SUPER부여합니다. -
플러그인은 이러한 자격 증명을 사용하여 Amazon S3 요청을 완료하고 Amazon S3는 애플리케이션에 데이터를 제공합니다.
-
모든 자격 증명 벤딩 작업은 CloudTrail에 로깅되어 데이터 액세스에 대한 감사 추적을 제공합니다.
이 프로세스는 사용자에게 투명하며 표준 파일 기반 APIs와 함께 기존 Lake Formation 권한을 사용하기만 하면 됩니다.
# Read raw data (Lake Formation-based S3 Location access) raw_df = spark.read.json("s3://finance-datalake/raw/transactions/dt=2024-03-21/") # Read governed data (Lake Formation-based S3 Location access) transactions_df = spark.read.parquet("s3://data-lake/transactions/year=2026/") # Write processed data (Lake Formation-based S3 Location access) processed_df.write \ .mode("append") \ .partitionBy("transaction_date") \ .parquet("s3://finance-datalake/processed/transactions/") print("ETL complete. Records written:", processed_df.count())
권한 요구 사항
이 기능은 현재 호출자에게 전체 테이블 액세스 권한이 있는 경우에만 자격 증명을 제공합니다. 즉, 행 또는 열 필터가 없는 모든 열SELECT에서 입니다. 테이블에 행 수준 또는 열 수준 필터가 적용된 경우 호출자는 해당 필터를 적용할 수 있는 Athena, Amazon EMR, AWS Glue또는 Amazon Redshift와 같은 신뢰할 수 있는 엔진을 계속 사용해야 합니다. 이렇게 하면 보안 경계가 일관되게 유지됩니다.
크로스 계정 액세스
Lake Formation Amazon S3 위치에 대한 간소화된 액세스는 교차 계정 공유 기능과 함께 작동합니다. Lake Formation을 통해 다른 AWS 계정과 테이블을 공유하는 경우 수신자는 동일한 전체 테이블 액세스 요구 사항에 따라 Lake Formation 권한을 사용하여 기본 Amazon S3 데이터 파일에 액세스할 수 있습니다.
이 기능은 교차 계정 액세스를 위한 Lake Formation의 리소스 링크 메커니즘을 지원합니다. 소비자 계정에 공유 테이블에 대한 권한이 있는 경우 Lake Formation은 등록된 계정의 Amazon S3 위치로 범위가 지정된 자격 증명을 제공하여 별도의 Amazon S3 버킷 정책 또는 교차 계정 IAM 역할 없이도 원활한 교차 계정 데이터 액세스를 가능하게 합니다.
중첩된 Amazon S3 위치
여러 테이블이 동일한 버킷의 중첩 위치를 가리키는 경우 Lake Formation은 다음 동작을 적용합니다.
-
에 액세스할 때 버킷 수준에서 등록된 테이블에 해당하는 권한을
s3://bucket받습니다. -
에 액세스할 때 해당 특정 경로에 등록된 테이블에 해당하는 권한을
s3://bucket/folder1받습니다. -
등록된 테이블(예:
s3://bucket/folder2)이 없는 폴더에 액세스하려면 가장 가까운 상위 등록 위치로부터 권한을 받습니다. -
여러 테이블이 동일한 위치에 등록된 경우 Lake Formation은 권한 충돌로 인해 오류를 반환합니다.
감사 및 규정 준수
모든 자격 증명 벤딩 작업은 CloudTrail에 로깅되어 데이터 액세스에 대한 감사 추적을 제공합니다. Lake Formation이 GetTemporaryDataLocationCredentials API를 통해 자격 증명을 제공하면 CloudTrail은 다음을 기록합니다.
-
보안 주체(사용자 또는 역할)
-
타임스탬프
-
Amazon S3 위치
-
연결된 AWS Glue 테이블
이러한 자격 증명으로 수행된 후속 Amazon S3 API 호출도 CloudTrail에 Amazon S3 데이터 이벤트로 기록되며 컨텍스트는 이를 Lake Formation 권한 부여에 다시 연결합니다. 이를 통해 감사자는 단일 CloudTrail 로그 스트림에서 누가 어떤 데이터에 언제 어떤 권한 경로를 통해 액세스했는지 완벽하게 파악할 수 있습니다.
지원되는 AWS 서비스
Lake Formation Amazon S3 위치에 대한 간소화된 액세스는 다음과 함께 작동합니다.
-
Amazon EC2의 Amazon EMR(EMR 7.13 이상)
-
Amazon EMR on EKS(EMR 7.13 이상)
-
Amazon EMR Serverless(EMR 7.13 이상)
타사 서비스를 위한 오픈 소스 플러그인
APIs 사용하거나에서 제공하는 오픈 소스 플러그인을 통해 Apache Spark 또는 Trino 애플리케이션을 통합할 수도 있습니다 AWS. 자세한 내용은 GitHub의 aws-lakeformation-accessgrants-plugin-java-v2
고려 사항
Amazon S3 위치에 자격 증명 벤딩을 사용할 때 다음 고려 사항에 유의하세요.
-
Amazon S3 위치에 대한 자격 증명 벤딩은 교차 리전에서 지원되지 않습니다.
-
자격 증명 벤딩은 테이블의 기본 위치로 포함된 Amazon S3 위치에 대해 지원됩니다.