쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

세분화된 액세스 제어를 위해 AWS Lake Formation과 함께 AWS Glue 사용

포커스 모드
세분화된 액세스 제어를 위해 AWS Lake Formation과 함께 AWS Glue 사용 - AWS Glue

개요

AWS Glue 버전 5.0 이상을 사용하면 AWS Lake Formation을 사용하여 S3에서 지원하는 Data Catalog 테이블에 세분화된 액세스 제어를 적용할 수 있습니다. 이 기능을 사용하면 Apache Spark용 AWS Glue 작업 내에서 read 쿼리에 대한 테이블, 행, 열 및 셀 수준 액세스 제어를 구성할 수 있습니다. Lake Formation 및 이를 AWS Glue와 함께 사용하는 방법에 대해 자세히 알아보려면 다음 섹션을 참조하세요.

AWS Glue를 AWS Lake Formation과 함께 사용하면 추가 요금이 발생합니다.

AWS Glue에서 AWS Lake Formation을 사용하는 방식

AWS Glue를 Lake Formation과 함께 사용하면 AWS Glue에서 작업을 실행하는 경우 Lake Formation 권한 제어를 적용하기 위해 각 Spark 작업에 권한 계층을 적용할 수 있습니다. AWS Glue는 Spark 리소스 프로파일을 사용하여 작업을 효과적으로 실행하도록 두 개의 프로파일을 생성합니다. 사용자 프로파일은 사용자 제공 코드를 실행하는 반면, 시스템 프로필은 Lake Formation 정책을 적용합니다. 자세한 내용은 What is AWS Lake Formation고려 사항 및 제한 사항을 참조하세요.

Lake Formation이 활성화된 각 작업에는 사용자 프로파일과 시스템 프로파일에 대해 하나씩, 두 개의 Spark 드라이버가 사용됩니다.

다음 개요에서는 AWS Glue가 Lake Formation 보안 정책에 따라 보호되는 데이터에 액세스하는 방법을 설명합니다.

다이어그램은 AWS Glue StartJobRun API에서 세분화된 액세스 제어가 작동하는 방식을 보여줍니다.
  1. 사용자가 AWS Lake Formation이 활성화된 AWS Glue 작업에서 StartJobRun API를 호출합니다.

  2. AWS Glue는 사용자 드라이버로 작업을 전송하고 사용자 프로파일에서 작업을 실행합니다. 사용자 드라이버는 태스크를 시작하고, 실행기를 요청하며, S3 또는 Glue Catalog에 액세스할 수 없는 린 버전의 Spark를 실행합니다. 작업 계획을 빌드합니다.

  3. AWS Glue는 시스템 드라이버라는 두 번째 드라이버를 설정하고 시스템 프로파일(권한 있는 자격 증명 포함)에서 실행합니다. AWS Glue는 통신을 위해 두 드라이버 사이에서 암호화된 TLS 채널을 설정합니다. 사용자 드라이버는 채널을 사용하여 작업 계획을 시스템 드라이버로 전송합니다. 시스템 드라이버는 사용자가 제출한 코드를 실행하지 않습니다. 전체 Spark를 실행하고 S3 및 데이터 액세스를 위해 Data Catalog와 통신합니다. 실행기를 요청하고 작업 계획을 일련의 실행 단계로 컴파일합니다.

  4. 그런 다음, AWS Glue는 사용자 드라이버 또는 시스템 드라이버를 사용하여 실행기에서 단계를 실행합니다. 모든 단계의 사용자 코드는 사용자 프로파일 실행기에서만 실행됩니다.

  5. AWS Lake Formation에서 보호하는 Data Catalog 테이블에서 데이터를 읽는 단계 또는 보안 필터를 적용하는 단계는 시스템 실행기로 위임됩니다.

작업 런타임 역할 IAM 권한

Lake Formation 권한은 AWS Glue 데이터 카탈로그 리소스, Amazon S3 위치 및 해당 위치의 기본 데이터에 대한 액세스를 제어합니다. IAM 권한은 Lake Formation 및 AWS Glue API와 리소스에 대한 액세스를 제어합니다. Data Catalog의 테이블에 액세스할 수 있는 Lake Formation 권한이 있더라도(SELECT) glue:Get* API 작업에 IAM 권한이 없으면 작업이 실패합니다.

다음은 S3의 스크립트에 액세스할 수 있는 IAM 권한을 제공하는 방법, S3에 로그 업로드, AWS Glue API 권한 및 Lake Formation에 액세스할 수 있는 권한에 대한 정책 예제입니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ScriptAccess", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::*.amzn-s3-demo-bucket/scripts", "arn:aws:s3:::*.amzn-s3-demo-bucket/*" ] }, { "Sid": "LoggingAccess", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/logs/*" ] }, { "Sid": "GlueCatalogAccess", "Effect": "Allow", "Action": [ "glue:Get*", "glue:Create*", "glue:Update*" ], "Resource": ["*"] }, { "Sid": "LakeFormationAccess", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": ["*"] } ] }

작업 런타임 역할에 대한 Lake Formation 권한 설정

먼저 Lake Formation에 Hive 테이블의 위치를 등록합니다. 그런 다음, 원하는 테이블에서 작업 런타임 역할에 대한 권한을 생성합니다. Lake Formation에 대한 자세한 내용은 AWS Lake Formation 개발자 안내서의 What is AWS Lake Formation?을 참조하세요.

Lake Formation 권한을 설정한 후 AWS Glue에서 Spark 작업을 제출할 수 있습니다.

작업 실행 제출

Lake Formation 권한 부여 설정을 완료한 후 AWS Glue에서 Spark 작업을 제출할 수 있습니다. Iceberg 작업을 실행하려면 다음과 같은 Spark 구성을 제공해야 합니다. Glue 작업 파라미터를 통해 구성하려면 다음 파라미터를 입력합니다.

  • 키:

    --conf
  • 값:

    spark.sql.catalog.spark_catalog=org.apache.iceberg.spark.SparkSessionCatalog --conf spark.sql.catalog.spark_catalog.warehouse=<S3_DATA_LOCATION> --conf spark.sql.catalog.spark_catalog.glue.account-id=<ACCOUNT_ID> --conf spark.sql.catalog.spark_catalog.client.region=<REGION> --conf spark.sql.catalog.spark_catalog.glue.endpoint=https://glue.<REGION>.amazonaws.com

오픈 테이블 형식 지원

AWS Glue 버전 5.0 이상에는 Lake Formation을 기반으로 하는 세분화된 액세스 제어에 대한 지원이 포함되어 있습니다. AWS Glue는 Hive 및 Iceberg 테이블 유형을 지원합니다. 다음 표에서는 지원되는 모든 옵션을 설명합니다.

운영 Hive Iceberg
DDL 명령 IAM 역할 권한만 있음 IAM 역할 권한만 있음
증분 쿼리 해당 사항 없음 완전 지원
시간 이동 쿼리 이 테이블 형식에 해당되지 않음 완전 지원
메타데이터 테이블 이 테이블 형식에 해당되지 않음 지원되지만 특정 테이블은 숨겨집니다. 자세한 내용은 고려 사항 및 제한 사항을 참조하세요.
DML INSERT IAM 권한만 있음 IAM 권한만 있음
DML UPDATE 이 테이블 형식에 해당되지 않음 IAM 권한만 있음
DML DELETE 이 테이블 형식에 해당되지 않음 IAM 권한만 있음
읽기 작업 완전 지원 완전 지원
저장 프로시저 해당 사항 없음 register_tablemigrate를 제외하고 지원됩니다. 자세한 내용은 고려 사항 및 제한 사항을 참조하세요.
프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.