엔드포인트 프로토콜 선택

Dataproc Metastore 서비스는 엔드포인트 프로토콜을 사용해서 저장된 Hive Metastore 메타데이터에 대해 액세스 권한을 클라이언트에 제공합니다.

통신 환경설정에 맞게 Dataproc Metastore 서비스의 엔드포인트 프로토콜을 선택할 수 있습니다. Apache Thrift 또는 gRPC 중에서 선택할 수 있습니다.

Thrift는 기존 엔드포인트 프로토콜이므로, 기본 옵션입니다. gRPC는 보안이 더 뛰어나고 다른 Google Cloud 제품들과의 제휴 통합을 사용할 수 있습니다.

gRPC 네트워크 구성

gRPC 엔드포인트는 모든 VPC에서 연결될 수 있으므로, gRPC 기반 서비스에 대해 공유 VPC를 구성하거나 네트워크 구성을 설정할 필요가 없습니다. 서비스 포함 프로젝트가 VPC-SC 서비스 경계에 있어서 경계에 있는 프로젝트에 속하는 VPC에서 엔드포인트에 연결할 수 있는 경우는 예외입니다.

신규 및 기존 Dataproc Metastore 서비스의 엔드포인트 프로토콜 선택

Google Cloud Console을 사용하여 만들거나 업데이트할 때는 Dataproc Metastore 서비스에 대해 엔드포인트 프로토콜을 선택할 수 있습니다.

새 서비스에 대한 엔드포인트 프로토콜 선택

새 서비스에 대한 엔드포인트 프로토콜을 선택하려면 다음 안내를 따르세요.

Console

  1. Cloud Console에서 Dataproc Metastore 페이지를 엽니다.

    Cloud Console에서 Dataproc Metastore 열기

  2. Dataproc Metastore 페이지 상단에서 만들기 버튼을 클릭합니다. 서비스 만들기 페이지가 열립니다.

  3. 원하는 대로 서비스를 구성합니다.

  4. 엔드포인트 프로토콜에서 Thrift 또는 gRPC를 선택합니다. Thrift는 기본 엔드포인트 프로토콜입니다.

  5. 제출을 클릭합니다.

gcloud

  1. 다음 gcloud beta metastore services create 명령어를 실행합니다.

    gcloud beta metastore services create SERVICE \
       --endpoint-protocol=ENDPOINT_PROTOCOL ; default="thrift"
    

    다음을 바꿉니다.

    • SERVICE: 새 서비스 이름
    • ENDPOINT_PROTOCOL: 메타스토어 서비스 엔드포인트에 사용할 프로토콜입니다. thrift 또는 grpc를 지정할 수 있습니다.
  2. 만들기가 성공했는지 확인합니다.

기존 서비스에 대해 엔드포인트 프로토콜 선택

기존 서비스에 대해 엔드포인트 프로토콜을 선택하려면 다음 안내를 따르세요.

Console

  1. Cloud Console에서 Dataproc Metastore 페이지를 엽니다.

    Cloud Console에서 Dataproc Metastore 열기

  2. Dataproc Metastore 페이지에서 업데이트하려는 서비스 이름을 클릭합니다. 해당 서비스의 서비스 세부정보 페이지가 열립니다.

  3. 구성 탭에서 수정 버튼을 클릭합니다. 서비스 수정 페이지가 열립니다.

  4. 엔드포인트 프로토콜 섹션에서 Thrift 또는 gRPC로 선택을 업데이트합니다.

  5. 제출 버튼을 클릭하여 서비스를 업데이트합니다.

gcloud

  1. 다음 gcloud beta metastore services update 명령어를 실행합니다.

    gcloud beta metastore services update SERVICE \
       --endpoint-protocol=ENDPOINT_PROTOCOL
    

    다음을 바꿉니다.

    • SERVICE: 서비스 이름입니다.
    • ENDPOINT_PROTOCOL: 메타스토어 서비스 엔드포인트에 사용할 프로토콜입니다. thrift 또는 grpc를 지정할 수 있습니다.
  2. 업데이트가 성공했는지 확인합니다.

엔드포인트 프로토콜 선택 후

gRPC 지원 서비스의 경우 저장된 메타데이터에 대한 액세스는 데이터베이스 및 테이블의 IAM 권한으로 보호됩니다. 역할은 다음과 같습니다.

  • roles/metastore.metadataViewer: 메타데이터 및 메타데이터 IAM 정책에 대한 읽기 전용 액세스 권한입니다.
  • roles/metastore.metadataEditor: 메타데이터에 대한 읽기-쓰기 액세스 권한입니다. 메타데이터 IAM 정책에 대해서는 읽기 전용 액세스 권한입니다.
  • roles/metastore.metadataOwner: 메타데이터에 대한 읽기-쓰기 액세스 권한입니다. 메타데이터 IAM 정책에 대해서는 읽기-쓰기 액세스 권한입니다.

리소스에 대해 액세스 권한을 부여하도록 IAM 정책을 설정해야 합니다. setIamPolicygetIamPolicies를 사용해서 metastore.databasesmetastore.tables 권한을 부여합니다.

IAM 정책 설정으로 메타데이터 역할 부여

다음 안내에서는 데이터베이스 및 테이블 수준에서 메타데이터 역할을 부여하는 방법을 보여줍니다.

gcloud

  • 데이터베이스 수준 액세스:

    다음 gcloud metastore services databases 명령어를 실행하여 데이터베이스 수준에서 메타데이터 역할을 부여합니다.

    gcloud beta metastore services databases add-iam-policy-binding --project PROJECT --location LOCATION --service SERVICE_ID DATABASE_ID --role roles/metastore.metadataViewer --member="EMAIL_ID"
    
  • 테이블 수준 액세스:

    다음 gcloud metastore services databases tables 명령어를 실행하여 테이블 수준에서 메타데이터 역할을 부여합니다.

    gcloud beta metastore services databases tables add-iam-policy-binding --project PROJECT --location LOCATION --service SERVICE_ID --database DATABASE_ID TABLE_ID --role roles/metastore.metadataViewer --member="EMAIL_ID"
    

다음 단계