

# Lake Formation 및 Athena 사용자 권한 관리
<a name="lf-athena-user-permissions"></a>

Lake Formation은 Lake Formation에 등록된 Amazon S3 데이터 스토어 또는 페더레이션된 카탈로그를 쿼리할 수 있도록 자격 증명을 공급합니다. 이전에 IAM 정책을 사용하여 Amazon S3에서 카탈로그 또는 데이터 위치를 읽을 수 있는 권한을 허용하거나 거부한 경우 Lake Formation 권한을 대신 사용할 수 있습니다. 그러나 다른 IAM 권한이 여전히 필요합니다.

IAM 정책을 사용할 때마다 IAM 모범 사례를 따라야 합니다. 자세한 내용은 *IAM 사용 설명서*의 [IAM 보안 모범 사례](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)를 참조하세요.

다음 단원에서는 Athena를 사용하여 Lake Formation에 등록된 데이터를 쿼리하는 데 필요한 권한을 요약합니다. 자세한 정보는 *AWS Lake Formation 개발자 안내서*의 [AWS Lake Formation의 보안](https://docs.aws.amazon.com/lake-formation/latest/dg/security.html)을 참조하세요.

**Topics**
+ [Lake Formation 및 Athena에 대한 자격 증명 기반 권한](#lf-athena-user-permissions-identity-based)
+ [Athena 쿼리 결과 위치에 대한 Amazon S3 권한](#lf-athena-user-permissions-query-results-locations)
+ [쿼리 기록에 대한 Athena 작업 그룹 멤버십](#lf-athena-user-permissions-workgroup-memberships-query-history)
+ [데이터에 대한 Lake Formation 권한](#lf-athena-user-permissions-data)
+ [Amazon S3 위치에 쓸 수 있는 IAM 권한](#lf-athena-user-permissions-s3-write)
+ [암호화된 데이터, 메타데이터 및 Athena 쿼리 결과에 대한 권한](#lf-athena-user-permissions-encrypted)
+ [외부 계정의 Amazon S3 버킷에 대한 리소스 기반 권한(선택 사항)](#lf-athena-user-permissions-s3-cross-account)

## Lake Formation 및 Athena에 대한 자격 증명 기반 권한
<a name="lf-athena-user-permissions-identity-based"></a>

Athena를 사용하여 Lake Formation에 등록된 데이터를 쿼리하는 사용자는 `lakeformation:GetDataAccess` 작업을 허용하는 IAM 권한 정책이 있어야 합니다. 이 작업을 허용하는 정책은 [AWS 관리형 정책: AmazonAthenaFullAccess](security-iam-awsmanpol.md#amazonathenafullaccess-managed-policy)입니다. 인라인 정책을 사용하는 경우 이 작업을 허용하도록 권한 정책을 업데이트하세요.

Lake Formation에서 *데이터 레이크 관리자*는 데이터베이스 및 테이블과 같은 메타데이터 객체를 생성하고, 다른 사용자에게 Lake Formation 권한을 부여하며, 새로운 Amazon S3 위치 또는 데이터 카탈로그를 등록할 수 있는 권한이 있습니다. 새 위치를 등록하려면 Lake Formation의 서비스 연결 역할에 대한 권한이 필요합니다. 자세한 내용은 *AWS Lake Formation 개발자 안내서*의 [데이터 레이크 관리자 생성](https://docs.aws.amazon.com/lake-formation/latest/dg/getting-started-setup.html#create-data-lake-admin) 및 [Lake Formation의 서비스 연결 역할 권한](https://docs.aws.amazon.com/lake-formation/latest/dg/service-linked-roles.html#service-linked-role-permissions)을 참조하세요.

Lake Formation 사용자는 Athena를 사용하여 데이터 레이크 관리자가 부여한 Lake Formation 권한에 따라 데이터베이스, 테이블, 테이블 열, 기본 Amazon S3 데이터 스토어 또는 카탈로그를 쿼리할 수 있습니다. 사용자는 데이터베이스나 테이블을 만들거나 Lake Formation에 새 Amazon S3 위치를 등록할 수 없습니다. 자세한 내용은 *AWS Lake Formation 개발자 안내서*의 [데이터 레이크 사용자 생성](https://docs.aws.amazon.com/lake-formation/latest/dg/cloudtrail-tut-create-lf-user.html)을 참조하세요.

Athena에서 Athena 작업 그룹에 대한 권한을 포함하여 자격 증명 기반 권한 정책은 여전히 Amazon Web Services 계정 사용자의 Athena 작업에 대한 액세스를 제어합니다. 또한 Athena 드라이버에서 사용할 수 있는 SAML 기반 인증을 통해 연합 액세스가 제공될 수 있습니다. 자세한 내용은 [작업 그룹을 사용하여 쿼리 액세스 및 비용 제어](workgroups-manage-queries-control-costs.md), [IAM 정책을 사용하여 작업 그룹 액세스 제어](workgroups-iam-policy.md), [Athena API에 대한 페더레이션 액세스 활성화](access-federation-saml.md) 단원을 참조하세요.

자세한 내용은 *AWS Lake Formation 개발자 안내서*의 [Lake Formation 권한 부여](https://docs.aws.amazon.com/lake-formation/latest/dg/lake-formation-permissions.html)를 참조하세요.

## Athena 쿼리 결과 위치에 대한 Amazon S3 권한
<a name="lf-athena-user-permissions-query-results-locations"></a>

Amazon S3의 Athena 쿼리 결과 위치는 Lake Formation에 등록할 수 없습니다. Lake Formation 권한은 이러한 위치에 대한 액세스를 제한하지 않습니다. 액세스를 제한하지 않는 한 Athena 사용자는 데이터에 대한 Lake Formation 권한이 없어도 쿼리 결과 파일과 메타데이터에 액세스할 수 있습니다. 이를 방지하려면 작업 그룹을 사용하여 쿼리 결과의 위치를 지정하고 작업 그룹 구성원에 맞게 Lake Formation 권한을 조정하는 것이 좋습니다. 그런 다음 IAM 권한 정책을 사용하여 쿼리 결과 위치에 대한 액세스를 제한할 수 있습니다. 쿼리 결과에 대한 자세한 내용은 [쿼리 결과 및 최근 쿼리 작업](querying.md) 단원을 참조하세요.

## 쿼리 기록에 대한 Athena 작업 그룹 멤버십
<a name="lf-athena-user-permissions-workgroup-memberships-query-history"></a>

Athena 쿼리 기록은 저장된 쿼리 및 전체 쿼리 문자열 목록을 드러냅니다. 작업 그룹을 사용하여 쿼리 기록에 대한 액세스를 분리하지 않으면 Lake Formation에서 데이터를 쿼리할 권한이 없는 Athena 사용자가 열 이름, 선택 기준 등을 비롯해 해당 데이터에 대해 실행되는 쿼리 문자열을 볼 수 있습니다. 작업 그룹을 사용하여 쿼리 기록을 분리하고 Athena 작업 그룹 구성원에 맞게 Lake Formation 권한을 조정하여 액세스를 제한하는 것이 좋습니다. 자세한 내용은 [작업 그룹을 사용하여 쿼리 액세스 및 비용 제어](workgroups-manage-queries-control-costs.md) 섹션을 참조하세요.

## 데이터에 대한 Lake Formation 권한
<a name="lf-athena-user-permissions-data"></a>

Lake Formation을 사용할 수 있는 기본 권한 외에도 Athena 사용자는 쿼리하는 리소스에 액세스할 수 있는 Lake Formation 권한이 있어야 합니다. 이러한 권한은 Lake Formation 관리자가 부여하고 관리합니다. 자세한 내용은 *AWS Lake Formation 개발자 안내서*의 [메타데이터 및 데이터에 대한 보안 및 액세스 제어](https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html#security-data-access-permissions)를 참조하세요.

## Amazon S3 위치에 쓸 수 있는 IAM 권한
<a name="lf-athena-user-permissions-s3-write"></a>

Amazon S3에 대한 Lake Formation 권한에는 Amazon S3에 쓸 수 있는 권한이 포함되어 있지 않습니다. CTAS(Create Table As Statements)에는 테이블의 Amazon S3 위치에 대한 쓰기 액세스 권한이 필요합니다. Lake Formation에 등록된 데이터에 대해 CTAS 쿼리를 실행하려면 Athena 사용자는 데이터 위치를 읽을 수 있는 적절한 Lake Fomation 권한과 더불어 테이블의 Amazon S3 위치에 쓸 수 있는 IAM 권한이 있어야 합니다. 자세한 내용은 [쿼리 결과에서 테이블 생성(CTAS)](ctas.md) 단원을 참조하세요.

## 암호화된 데이터, 메타데이터 및 Athena 쿼리 결과에 대한 권한
<a name="lf-athena-user-permissions-encrypted"></a>

Amazon S3의 기본 소스 데이터와 Lake Formation에 등록된 카탈로그의 메타데이터를 암호화할 수 있습니다. Athena를 사용하여 Lake Formation에 등록된 데이터를 쿼리할 때 Athena가 쿼리 결과의 암호화를 처리하는 방식에는 변화가 없습니다. 자세한 내용은 [Amazon S3에 저장된 Athena 쿼리 결과 암호화](encrypting-query-results-stored-in-s3.md) 섹션을 참조하세요.
+ **소스 데이터 암호화** – Amazon S3 데이터 위치 소스 데이터의 암호화가 지원됩니다. Lake Formation에 등록된 암호화 Amazon S3 위치를 쿼리하는 Athena 사용자는 데이터를 암호화하고 해독할 수 있는 권한이 필요합니다. 요구 사항에 대한 자세한 내용은 [지원되는 Amazon S3 암호화 옵션](encryption.md#encryption-options-S3-and-Athena) 및 [Amazon S3의 암호화 데이터 권한](encryption.md#permissions-for-encrypting-and-decrypting-data) 섹션을 참조하세요.
+ **메타데이터 암호화** - AWS Glue Data Catalog의 메타데이터를 암호화할 수 있습니다. Athena를 사용하는 보안 주체의 경우, 자격 증명 기반 정책에서 메타데이터 암호화에 사용된 키에 대한 `"kms:GenerateDataKey"`, `"kms:Decrypt"` 및 `"kms:Encrypt"` 작업을 허용해야 합니다. 자세한 내용은 *AWS Glue 개발자 안내서*의 [데이터 카탈로그 암호화](https://docs.aws.amazon.com/glue/latest/dg/encrypt-glue-data-catalog.html)와 [Athena에서 AWS Glue Data Catalog의 암호화된 메타데이터에 대한 액세스 구성](access-encrypted-data-glue-data-catalog.md) 단원을 참조하세요.

## 외부 계정의 Amazon S3 버킷에 대한 리소스 기반 권한(선택 사항)
<a name="lf-athena-user-permissions-s3-cross-account"></a>

다른 계정에서 Amazon S3 데이터 위치를 쿼리하려면 리소스 기반 IAM 정책(버킷 정책)이 해당 위치에 대한 액세스를 허용해야 합니다. 자세한 내용은 [Athena에서 Amazon S3 버킷에 대한 크로스 계정 액세스 구성](cross-account-permissions.md) 섹션을 참조하세요.

다른 계정의 카탈로그에 액세스하는 방법에 대한 자세한 내용은 [옵션 A: Athena에서 크로스 계정 데이터 카탈로그 액세스 구성](lf-athena-limitations-cross-account.md#lf-athena-limitations-cross-account-glue) 섹션을 참조하세요.