Lake Formation 및 Athena 사용자 권한 관리
Lake Formation은 Lake Formation에 등록된 Amazon S3 데이터 스토어를 쿼리할 수 있도록 자격 증명을 공급합니다. 이전에 IAM 정책을 사용하여 Amazon S3에서 데이터 위치를 읽을 수 있는 권한을 허용하거나 거부한 경우 Lake Formation 권한을 대신 사용할 수 있습니다. 그러나 다른 IAM 권한이 여전히 필요합니다.
IAM 정책을 사용할 때마다 IAM 모범 사례를 따라야 합니다. 자세한 내용은 IAM 사용 설명서의 IAM 보안 모범 사례를 참조하세요.
다음 단원에서는 Athena를 사용하여 Lake Formation에 등록된 데이터를 쿼리하는 데 필요한 권한을 요약합니다. 자세한 정보는 AWS Lake Formation 개발자 안내서의 AWS Lake Formation의 보안을 참조하세요.
권한 요약
Lake Formation 및 Athena에 대한 자격 증명 기반 권한
Athena를 사용하여 Lake Formation에 등록된 데이터를 쿼리하는 사용자는 lakeformation:GetDataAccess
작업을 허용하는 IAM 권한 정책이 있어야 합니다. 이 작업을 허용하는 정책은 AWS 관리형 정책: AmazonAthenaFullAccess입니다. 인라인 정책을 사용하는 경우 이 작업을 허용하도록 권한 정책을 업데이트하세요.
Lake Formation에서 데이터 레이크 관리자는 데이터베이스 및 테이블과 같은 메타데이터 객체를 생성하고, 다른 사용자에게 Lake Formation 권한을 부여하며, 새로운 Amazon S3 위치를 등록할 수 있는 권한이 있습니다. 새 위치를 등록하려면 Lake Formation의 서비스 연결 역할에 대한 권한이 필요합니다. 자세한 내용은 AWS Lake Formation 개발자 안내서의 데이터 레이크 관리자 생성 및 Lake Formation의 서비스 연결 역할 권한을 참조하세요.
Lake Formation 사용자는 Athena를 사용하여 데이터 레이크 관리자가 부여한 Lake Formation 권한에 따라 데이터베이스, 테이블, 테이블 열 및 기본 Amazon S3 데이터 스토어를 쿼리할 수 있습니다. 사용자는 데이터베이스나 테이블을 만들거나 Lake Formation에 새 Amazon S3 위치를 등록할 수 없습니다. 자세한 내용은 AWS Lake Formation 개발자 안내서의 데이터 레이크 사용자 생성을 참조하세요.
Athena에서 Athena 작업 그룹에 대한 권한을 포함하여 자격 증명 기반 권한 정책은 여전히 Amazon Web Services 계정 사용자의 Athena 작업에 대한 액세스를 제어합니다. 또한 Athena 드라이버에서 사용할 수 있는 SAML 기반 인증을 통해 연합 액세스가 제공될 수 있습니다. 자세한 내용은 작업 그룹을 사용하여 쿼리 액세스 및 비용 제어, IAM 정책을 사용하여 작업 그룹 액세스 제어, Athena API에 대한 페더레이션 액세스 활성화 단원을 참조하세요.
자세한 내용은 AWS Lake Formation 개발자 안내서의 Lake Formation 권한 부여를 참조하세요.
Athena 쿼리 결과 위치에 대한 Amazon S3 권한
Amazon S3의 Athena 쿼리 결과 위치는 Lake Formation에 등록할 수 없습니다. Lake Formation 권한은 이러한 위치에 대한 액세스를 제한하지 않습니다. 액세스를 제한하지 않는 한 Athena 사용자는 데이터에 대한 Lake Formation 권한이 없어도 쿼리 결과 파일과 메타데이터에 액세스할 수 있습니다. 이를 방지하려면 작업 그룹을 사용하여 쿼리 결과의 위치를 지정하고 작업 그룹 구성원에 맞게 Lake Formation 권한을 조정하는 것이 좋습니다. 그런 다음 IAM 권한 정책을 사용하여 쿼리 결과 위치에 대한 액세스를 제한할 수 있습니다. 쿼리 결과에 대한 자세한 내용은 쿼리 결과 및 최근 쿼리 작업 단원을 참조하세요.
쿼리 기록에 대한 Athena 작업 그룹 멤버십
Athena 쿼리 기록은 저장된 쿼리 및 전체 쿼리 문자열 목록을 드러냅니다. 작업 그룹을 사용하여 쿼리 기록에 대한 액세스를 분리하지 않으면 Lake Formation에서 데이터를 쿼리할 권한이 없는 Athena 사용자가 열 이름, 선택 기준 등을 비롯해 해당 데이터에 대해 실행되는 쿼리 문자열을 볼 수 있습니다. 작업 그룹을 사용하여 쿼리 기록을 분리하고 Athena 작업 그룹 구성원에 맞게 Lake Formation 권한을 조정하여 액세스를 제한하는 것이 좋습니다. 자세한 내용은 작업 그룹을 사용하여 쿼리 액세스 및 비용 제어 단원을 참조하십시오.
데이터에 대한 Lake Formation 권한
Lake Formation을 사용할 수 있는 기본 권한 외에도 Athena 사용자는 쿼리하는 리소스에 액세스할 수 있는 Lake Formation 권한이 있어야 합니다. 이러한 권한은 Lake Formation 관리자가 부여하고 관리합니다. 자세한 내용은 AWS Lake Formation 개발자 안내서의 메타데이터 및 데이터에 대한 보안 및 액세스 제어를 참조하세요.
Amazon S3 위치에 쓸 수 있는 IAM 권한
Amazon S3에 대한 Lake Formation 권한에는 Amazon S3에 쓸 수 있는 권한이 포함되어 있지 않습니다. CTAS(Create Table As Statements)에는 테이블의 Amazon S3 위치에 대한 쓰기 액세스 권한이 필요합니다. Lake Formation에 등록된 데이터에 대해 CTAS 쿼리를 실행하려면 Athena 사용자는 데이터 위치를 읽을 수 있는 적절한 Lake Fomation 권한과 더불어 테이블의 Amazon S3 위치에 쓸 수 있는 IAM 권한이 있어야 합니다. 자세한 내용은 쿼리 결과에서 테이블 생성(CTAS) 단원을 참조하세요.
암호화된 데이터, 메타데이터 및 Athena 쿼리 결과에 대한 권한
Amazon S3의 기본 소스 데이터와 Lake Formation에 등록된 데이터 카탈로그의 메타데이터를 암호화할 수 있습니다. Athena를 사용하여 Lake Formation에 등록된 데이터를 쿼리할 때 Athena가 쿼리 결과의 암호화를 처리하는 방식에는 변화가 없습니다. 자세한 내용은 Amazon S3에 저장된 Athena 쿼리 결과 암호화 단원을 참조하십시오.
-
소스 데이터 암호화 – Amazon S3 데이터 위치 소스 데이터의 암호화가 지원됩니다. Lake Formation에 등록된 암호화 Amazon S3 위치를 쿼리하는 Athena 사용자는 데이터를 암호화하고 해독할 수 있는 권한이 필요합니다. 요구 사항에 대한 자세한 내용은 지원되는 Amazon S3 암호화 옵션 및 Amazon S3의 암호화 데이터 권한 섹션을 참조하세요.
-
메타데이터 암호화 – 데이터 카탈로그의 메타데이터를 암호화할 수 있습니다. Athena를 사용하는 보안 주체의 경우, 자격 증명 기반 정책에서 메타데이터 암호화에 사용된 키에 대한
"kms:GenerateDataKey"
,"kms:Decrypt"
및"kms:Encrypt"
작업을 허용해야 합니다. 자세한 내용은 AWS Glue 개발자 안내서의 데이터 카탈로그 암호화와 Athena에서 AWS Glue Data Catalog의 암호화된 메타데이터에 대한 액세스 구성 단원을 참조하세요.
외부 계정의 Amazon S3 버킷에 대한 리소스 기반 권한(선택 사항)
다른 계정에서 Amazon S3 데이터 위치를 쿼리하려면 리소스 기반 IAM 정책(버킷 정책)이 해당 위치에 대한 액세스를 허용해야 합니다. 자세한 내용은 Athena에서 Amazon S3 버킷에 대한 크로스 계정 액세스 구성 단원을 참조하세요.
다른 계정의 데이터 카탈로그에 액세스하는 방법에 대한 자세한 내용은 옵션 A: Athena에서 크로스 계정 데이터 카탈로그 액세스 구성 단원을 참조하세요.