エンドポイント プロトコルを選択する

Dataproc Metastore サービスは、エンドポイント プロトコルを使用して、保存された Hive メタストア メタデータへのクライアント アクセスを提供します。

通信の好みに合わせて、Dataproc Metastore サービスのエンドポイント プロトコルを選択できます。Apache Thrift または gRPC を選択できます。

Thrift はレガシー エンドポイント プロトコルであるため、これがデフォルトのオプションです。gRPC はより安全であり、他の Google Cloud プロダクトとの連携統合を使用できます。

gRPC ネットワークの構成

gRPC エンドポイントにはどの VPC からでもアクセスできるため、共有 VPC の構成や、gRPC ベースのサービス用のネットワーク構成の設定は必要ありません。例外は、サービスを含むプロジェクトが VPC-SC サービス境界内にある場合で、その場合、エンドポイントには境界内のプロジェクトに属する VPC からアクセスできます。

新規および既存の Dataproc Metastore サービスのエンドポイント プロトコルを選択する

Google Cloud Console を使用して Dataproc Metastore サービスを作成または更新する際には、エンドポイント プロトコルを選択できます。

新しいサービスのエンドポイント プロトコルを選択する

新しいサービスのエンドポイント プロトコルを選択するには:

Console

  1. Cloud Console で、Dataproc Metastore ページを開きます。

    Cloud Console で Dataproc Metastore を開く

  2. Dataproc Metastore ページの上部にある [作成] ボタンをクリックします。[Create service] ページが開きます。

  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. [CONFIGURATION] タブで [編集] ボタンをクリックします。[Edit service] ページが開きます。

  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.databases 権限と metastore.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"
    

次のステップ