

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 에 대해 알려진 문제 AWS Lake Formation
<a name="limitations"></a>

이러한 알려진 문제를 검토합니다 AWS Lake Formation.

**Topics**
+ [테이블 메타데이터 필터링 제한](#issue-table-metadata-avro)
+ [제외된 열의 이름 바꾸기 관련 문제](#issue-rename-column)
+ [CSV 테이블의 열 삭제 관련 문제](#issue-csv-schema)
+ [테이블 파티션을 공통 경로 아래에 추가해야 함](#issue-table-partitions)
+ [워크플로 생성 중 데이터베이스 생성 관련 문제](#issue-create-table-permission)
+ [사용자를 삭제하고 다시 생성할 때 발생하는 문제](#issue-recreate-user)
+ [데이터 카탈로그 API 작업은 `IsRegisteredWithLakeFormation` 파라미터 값을 업데이트하지 않습니다.](#issue-get-tables-parameter)
+ [Lake Formation 작업은 AWS Glue 스키마 레지스트리를 지원하지 않습니다.](#not-support-GlueSchemaRegistry.title)

## 테이블 메타데이터 필터링 제한
<a name="issue-table-metadata-avro"></a>

AWS Lake Formation 열 수준 권한을 사용하여 테이블의 특정 열에 대한 액세스를 제한할 수 있습니다. 사용자가 콘솔이나 `glue:GetTable`과 같은 API를 사용하여 테이블에 대한 메타데이터를 검색하면 테이블 객체의 열 목록에는 액세스 권한이 있는 필드만 포함됩니다. 이 메타데이터 필터링의 제한을 이해해야 합니다.

Lake Formation은 통합 서비스에 열 권한에 대한 메타데이터를 제공하지만 쿼리 응답의 실제 열 필터링은 통합 서비스의 책임입니다. Amazon Athena, Amazon Redshift Spectrum 및 Amazon EMR을 포함하여 열 수준 필터링을 지원하는 Lake Formation 클라이언트는 Lake Formation에 등록된 열 권한을 기반으로 데이터를 필터링합니다. 사용자는 액세스 권한이 없는 데이터를 읽을 수 없습니다. 현재 AWS Glue ETL은 열 필터링을 지원하지 않습니다.

**참고**  
 EMR 클러스터는 AWS에서 완전히 관리되지 않습니다. 따라서 EMR 관리자는 데이터에 대한 무단 액세스를 방지하기 위해 클러스터를 적절하게 보호해야 합니다.

특정 애플리케이션이나 형식은 열 이름 및 유형을 비롯한 추가 메타데이터를 `Parameters` 맵에 테이블 속성으로 저장할 수 있습니다. 이러한 속성은 수정되지 않은 상태로 반환되며 모든 열에 대해 `SELECT` 권한이 있는 사용자라면 누구나 액세스할 수 있습니다.

예를 들어 [Avro SerDe](https://docs.aws.amazon.com/athena/latest/ug/supported-serdes.html)는 테이블 스키마의 JSON 표현을 `avro.schema.literal`이라는 테이블 속성에 저장합니다. 이 속성은 테이블에 액세스할 수 있는 모든 사용자가 사용할 수 있습니다. 테이블 속성에 민감한 정보를 저장하지 않는 것이 좋으며, 사용자가 Avro 형식 테이블의 전체 스키마를 학습할 수 있다는 점에 유의해야 합니다. 이 제한은 테이블 관련 메타데이터에만 적용됩니다.

AWS Lake Formation 호출자가 테이블의 모든 열에 대한 `SELECT` 권한이 없는 경우 `glue:GetTable` 또는 유사한 요청에 응답할 `spark.sql.sources.schema` 때 로 시작하는 테이블 속성을 제거합니다. 이렇게 하면 사용자가 Apache Spark로 생성된 테이블에 대한 추가 메타데이터에 액세스할 수 없게 됩니다. Amazon EMR에서 실행할 때 Apache Spark 애플리케이션은 여전히 이러한 테이블을 읽을 수 있지만 특정 최적화가 적용되지 않을 수 있으며 대/소문자를 구분하는 열 이름은 지원되지 않습니다. 사용자가 테이블의 모든 열에 액세스할 수 있는 경우 Lake Formation은 모든 테이블 속성이 포함된 수정되지 않은 테이블을 반환합니다.

## 제외된 열의 이름 바꾸기 관련 문제
<a name="issue-rename-column"></a>

열 수준 권한을 사용하여 열을 제외한 다음 열 이름을 바꾸면 해당 열이 더 이상 쿼리에서 제외되지 않습니다(예: `SELECT *`).

## CSV 테이블의 열 삭제 관련 문제
<a name="issue-csv-schema"></a>

CSV 형식으로 데이터 카탈로그 테이블을 생성한 다음 스키마에서 열을 삭제하면 쿼리에서 잘못된 데이터가 반환되고 열 수준 권한이 준수되지 않을 수 있습니다.

해결 방법: 새 테이블을 대신 생성합니다.

## 테이블 파티션을 공통 경로 아래에 추가해야 함
<a name="issue-table-partitions"></a>

Lake Formation은 테이블의 모든 파티션이 테이블의 위치 필드에 설정된 공통 경로 아래에 있을 것으로 예상합니다. 크롤러를 사용하여 카탈로그에 파티션을 추가하면 원활하게 작동합니다. 그러나 파티션을 수동으로 추가할 때 이러한 파티션이 상위 테이블에 설정된 위치에 있지 않으면 데이터 액세스가 작동하지 않습니다.

## 워크플로 생성 중 데이터베이스 생성 관련 문제
<a name="issue-create-table-permission"></a>

Lake Formation 콘솔을 사용하여 청사진에서 워크플로를 생성할 때 대상 데이터베이스를 생성할 수 있습니다(대상 데이터베이스가 없는 경우). 이렇게 하면 로그인한 사용자에게 생성된 데이터베이스에 대한 `CREATE_TABLE` 권한이 부여됩니다. 워크플로가 생성하는 크롤러는 워크플로 역할로 테이블을 생성하려고 시도합니다. 하지만 이 역할에는 데이터베이스에 대한 `CREATE_TABLE` 권한이 없기 때문에 실패합니다.

해결 방법: 워크플로를 설정하는 동안 콘솔을 통해 데이터베이스를 생성하는 경우 워크플로를 실행하기 전에 워크플로와 관련된 역할에 방금 생성한 데이터베이스에 대한 `CREATE_TABLE` 권한을 부여해야 합니다.

## 사용자를 삭제하고 다시 생성할 때 발생하는 문제
<a name="issue-recreate-user"></a>

다음 시나리오에서는 `lakeformation:ListPermissions`에서 반환된 잘못된 Lake Formation 권한이 발생합니다.

1. 사용자를 생성하고 Lake Formation 권한을 부여합니다.

1. 사용자를 삭제합니다.

1. 같은 이름으로 사용자를 다시 생성합니다.

`ListPermissions`은 두 개의 항목을 반환합니다. 하나는 이전 사용자용이고 다른 하나는 새 사용자용입니다. 이전 사용자에게 부여된 권한을 취소하려고 하면 새 사용자의 권한이 취소됩니다.

## 데이터 카탈로그 API 작업은 `IsRegisteredWithLakeFormation` 파라미터 값을 업데이트하지 않습니다.
<a name="issue-get-tables-parameter"></a>

`GetTables` 및 `SearchTables`와 같은 데이터 카탈로그 API 작업은 `IsRegisteredWithLakeFormation` 파리미터 값을 업데이트하지 않고 기본값인 false를 반환한다는 알려진 제한 사항이 있습니다. `IsRegisteredWithLakeFormation` 파라미터의 올바른 값을 보려면 `GetTable` API를 사용하는 것이 좋습니다.

## Lake Formation 작업은 AWS Glue 스키마 레지스트리를 지원하지 않습니다.
<a name="not-support-GlueSchemaRegistry.title"></a>

Lake Formation 작업은 [스키마 레지스터](https://docs.aws.amazon.com/glue/latest/dg/schema-registry.html)에서 `StorageDescriptor` 사용할 `SchemaReference`에가 포함된 AWS Glue 테이블을 지원하지 않습니다.