Google Cloud Storage に接続するためのストレージ認証情報を作成する

この記事では、Google Cloud Storage に接続するためにUnity Catalogでストレージ認証情報を作成する方法について説明します。

テーブルとボリュームを保持する基盤となるクラウド ストレージへのアクセスを管理するために、Unity Catalog は次のオブジェクト タイプを使用します。

  • ストレージ資格情報は、クラウドストレージにアクセスするための長期的なクラウド資格情報をカプセル化します。

  • 外部ロケーションには、ストレージ資格情報とクラウドストレージパスへの参照が格納されています。

詳細については、 Unity Catalogを使用してクラウド オブジェクト ストレージに接続する」を参照してください。

Unity Catalog は、 Databricks on Google Cloudの 2 つのクラウド ストレージ オプション、Google Cloud Storage (GCS) バケットと Cloudflare R2 バケットをサポートしています。 Cloudflare R2は主に、データ下り料金を回避したいDelta Sharingユースケースを対象としています。 GCS は、他のほとんどのユースケースに適しています。 この記事では、GCS のストレージ認証情報の作成に焦点を当てます。 Cloudflare R2 については、「 Cloudflare R2 に接続するためのストレージ資格情報を作成する」を参照してください。

GCS バケットにアクセスするためのストレージ認証情報を作成するには、バケットの IAMroll を Databricks で生成された Google クラウド サービス アカウントに割り当てることで、Unity Catalog にバケットへの読み取りと書き込みの機能を与えます。

要件

Databricks の場合:

  • Databricks ワークスペースがUnity Catalogに対して有効になっています。

  • CREATE STORAGE CREDENTIAL ワークスペースにアタッチされているUnity Catalogメタストアに対する権限。 アカウント管理者とメタストア管理者には、デフォルトでこの権限が与えられます。

Google クラウド アカウントで:

  • データにアクセスするワークスペースと同じリージョンにある GCS バケット。

  • そのバケットのアクセス ポリシーを変更する権限。

カタログエクスプローラを使用したGoogleクラウドサービスアカウントの生成

  1. Unity Catalogが有効な Databricks ワークスペースに、メタストアに対するCREATE STORAGE CREDENTIAL権限を持つユーザーとしてログインします。

    メタストア管理者ロールとアカウント管理者ロールの両方に、この権限が含まれています。

  2. サイドバーで [カタログ アイコン カタログ ] をクリックします 。

  3. 画面の下部にある[ストレージ資格情報]をクリックします。

  4. [ + 追加 ] ボタンをクリックし、メニューから [ ストレージ資格情報の追加 ] を選択します。

    このオプションは、 CREATE STORAGE CREDENTIAL 権限がない場合には表示されません。

  5. [新しいストレージ認証情報の作成]ダイアログで、 [認証情報の種類]として[Google Cloud Storage]を選択します。

  6. [ストレージ資格情報名] とオプションのコメントを入力します。

  7. (オプション)このストレージ資格情報を使用する外部ロケーションへの読み取り専用アクセス権をユーザーに付与する場合は、[ 読み取り専用] を選択します。 詳細については、「 ストレージ資格情報を読み取り専用としてマークする」を参照してください。

  8. [保存]をクリックします。

    Databricks によってストレージ資格情報が作成され、Google クラウド サービス アカウントが生成されます。

  9. [ ストレージ資格情報が作成され ました] ダイアログで、サービス アカウント ID (電子メール アドレスの形式) をメモし、[ 完了] をクリックします。

サービス アカウントのアクセス許可を構成する

  1. Google Cloud コンソールに移動し、Databricks ワークスペースからアクセスする GCS バケットを開きます。

    バケットは Databricks ワークスペースと同じリージョンにある必要があります。

  2. [ アクセス許可 ] タブで、[ + アクセス権の付与 ] をクリックし、サービス アカウントに次のロールを割り当てます。

    • ストレージレガシーバケットリーダー

    • ストレージオブジェクト管理者

    サービスアカウントのメールアドレスをプリンシパル識別子として使用します。

これで、このストレージ資格情報を参照する 外部ロケーションを作成できます

次のステップ

ストレージ資格情報を使用するアクセス許可を表示、更新、削除、および他のユーザーに付与できます。 「 ストレージ資格情報の管理」を参照してください。

ストレージ資格情報を使用して外部ロケーションを定義できます。 「外部ロケーションを作成してクラウド ストレージを Databricks に接続する」を参照してください。