사용자 인증 정보 벤더 제공 개요

Lakehouse 런타임 카탈로그 의 사용자 인증 정보 제공을 사용하면 스토리지 액세스를 위임하고 데이터 파일에 세분화된 권한을 적용할 수 있습니다. Lakehouse for Apache Iceberg의 일부인 이 기능을 사용하면 Cloud Storage에 저장된 테이블의 테이블 수준에서 ID 및 액세스 관리 (IAM) 정책을 관리할 수 있습니다.

gcloud CLI를 사용하여 이러한 정책을 가져오고 설정하여 리소스에 대한 액세스를 제어할 수 있습니다.

사용자 인증 정보 제공 작동 방식

사용자 인증 정보 제공을 사용하면 스토리지가 액세스되기 전에 정책을 적용하도록 작업 순서가 약간 변경됩니다.

  1. 요청: 사용자가 쿼리, DML 또는 DDL 작업과 같은 SQL 문을 지원되는 엔진에 제출합니다. 예를 들어 Apache Spark 또는 BigQuery입니다.
  2. 메타데이터 조회: 엔진이 Lakehouse 런타임 카탈로그에 테이블을 확인하는 요청을 보냅니다.
  3. 인증 및 정책: 카탈로그가 사용자를 인증하고 Google Cloud의 Lakehouse 리소스에 대한 IAM 권한을 확인합니다.
  4. 응답: 사용자 인증 정보 제공이 사용 설정되어 있으므로 카탈로그는 메타데이터와 수명이 짧은 스토리지 토큰 (범위가 축소된 스토리지 사용자 인증 정보)을 엔진에 반환합니다. 토큰은 테이블과 연결된 경로로 범위가 지정되고 최소한의 필수 권한 (예: 파일을 쓸 필요가 없는 쿼리의 읽기 전용 액세스)으로 범위가 축소됩니다.
  5. 액세스: 엔진은 이 토큰을 사용하여 Cloud Storage에서 직접 특정 승인된 파일을 읽거나 씁니다.
  6. 컴퓨팅: 엔진이 데이터를 처리하거나 작업을 실행하고 결과를 반환합니다.

지원되는 엔진

쿼리 엔진에서 사용자 인증 정보 제공을 사용하려면 Lakehouse Iceberg REST 카탈로그가 사용자 인증 정보 제공을 지원하도록 구성되어야 합니다.

  • 오픈소스 엔진: Apache Spark 및 Trino와 같은 지원되는 엔진은 카탈로그에서 제공하는 수명이 짧은 스토리지 토큰을 사용합니다. 클라이언트 애플리케이션은 X-Iceberg-Access-Delegation 헤더에서 사용자 인증 정보 제공 지원을 지정해야 합니다.
  • BigQuery: BigQuery는 최종 사용자 사용자 인증 정보 대신 Cloud Storage 액세스를 위해 제공된 사용자 인증 정보를 사용합니다.

필수 서비스 계정 권한

사용자 인증 정보 제공이 사용 설정된 경우 다음 서비스 계정에 필요한 역할이 있는지 확인합니다.

  • 자동 프로비저닝된 Lakehouse 런타임 카탈로그 서비스 계정: 연결된 모든 Cloud Storage 버킷에서 이 계정에 스토리지 객체 사용자 역할 (roles/storage.objectUser)을 부여해야 합니다. 이 액세스 권한이 없으면 제공된 사용자 인증 정보가 스토리지에서 읽거나 쓸 수 없습니다. 콘솔을 사용하는 경우 버킷 권한 설정을 클릭하면 이 역할이 확인됩니다.Google Cloud gcloud CLI, Terraform 또는 API의 경우 이 역할을 수동으로 부여해야 합니다.
  • 쿼리 엔진 서비스 계정: 쿼리 엔진 작업 (예: Managed Service for Apache Spark, Managed Service for Apache Spark 또는 Dataflow)을 실행하는 서비스 계정에는 쓰기 범위가 있는 제공된 사용자 인증 정보를 가져오려면 BigLake 편집자 역할 (roles/biglake.editor)이 필요합니다.

다음 단계