Unity Catalogを使用したクラウドオブジェクトストレージへの接続

この記事では、 Unity Catalogを使用してデータを操作するために必要なクラウド ストレージ接続の概要と、クラウド ストレージへのアクセス Unity Catalog 制御する方法に関する情報について説明します。

注:

ワークスペースが2024年3月6日より前に作成された場合は、Unity Catalogが有効になっていない可能性があります。アカウント管理者は、ワークスペースのUnity Catalogを有効にする必要があります。Unity Catalog のワークスペースを有効にするを参照してください。

Unity Catalog はクラウドストレージをどのように使用しますか?

Databricks では、Unity Catalog を使用して、クラウド オブジェクト ストレージに保存したすべてのデータへのアクセスを管理することをお勧めします。 Unity Catalog には、クラウド オブジェクト ストレージへの安全な接続を構成するための一連のツールが用意されています。 これらの接続は、次のアクションを完了するためのアクセスを提供します。

  • 生データをレイクハウスに取り込む

  • マネージドテーブル非構造化データのマネージドボリュームを Unity Catalog で管理されるクラウド ストレージで作成して読み取ります。

  • 登録するか、表形式データを含む 外部テーブル と非構造化データを含む 外部ボリューム を、クラウド プロバイダーを使用して管理されるクラウド ストレージに作成します。

  • 非構造化データの読み取りと書き込み (Unity Catalog ボリュームとして)。

具体的には、Unity Catalog は主に 2 つの方法でクラウド ストレージを使用します。

  • Databricksで作成するマネージドテーブルおよびマネージドボリューム (非構造化、非表形式データ) のデフォルト (または「管理」) ストレージの場所 。これらのマネージドストレージロケーションは、メタストア、カタログ、またはスキーマ レベルで定義できます。 クラウドプロバイダーで管理ストレージの場所を作成しますが、そのライフサイクルは Unity Catalogによってフルマネージドされます。

  • 外部テーブルとボリュームが格納されるストレージの場所。 これらは、Databricks からのアクセスが Unity Catalog によって管理されているが、データのライフサイクルとファイル レイアウトがクラウド プロバイダーやその他のデータ プラットフォームを使用して管理されているテーブルとボリュームです。 通常、外部テーブルを使用して、既存のデータを大量に Databricks に登録するか、Databricks の外部ツールを使用してデータへの書き込みアクセスも必要とします。

マネージドテーブルと外部テーブルとボリュームの詳細については、「 テーブルとビューとは」を参照してください。 およびUnity Catalog ボリュームとは。

警告

エンドユーザーに、Unity Catalogマネージドテーブルまたはボリュームへのストレージレベルのアクセス権を付与しないでください。データのセキュリティとガバナンスが損なわれます。

Unity Catalogマネージドストレージとして使用されるGoogle Cloud StorageまたはCloudflare R2バケットへの直接アクセスをユーザーに許可しないでください。Unity Catalogによって管理されるデータにアクセスできるアイデンティティは、Unity Catalogが使用するアイデンティティのみです。これを無視すると、環境に次の問題が発生します。

  • Unity Catalog で確立されたアクセス制御は、GCS または R2 に直接アクセスできるユーザーによって回避される可能性があります。

  • 監査、リネージ、およびその他のUnity Catalogのモニタリング機能は、直接アクセスを捕捉しません。

  • データのライフサイクルが崩壊します。つまり、Databricks内のテーブルを変更、削除、または展開すると、ストレージに直接アクセスできるコンシューマーが機能しなくなり、Databricksの外部に書き込むとデータが破損する可能性があります。

どのクラウドストレージプロバイダーがサポートされていますか?

Databricksは、Unity Catalogに登録されたデータアセットのクラウドストレージの場所として、Google Cloud Storage(GSC)バケットと Cloudflare R2バケットの両方をサポートしています。R2は主に、クラウドやリージョン間でのDelta Sharingなど、データ送信料金を回避したいユースケースを対象としています。詳細については、「Cloudflare R2レプリカの使用またはR2へのストレージの移行」を参照してください。

Unity Catalog はクラウドストレージへのアクセスをどのように管理しますか?

テーブルとボリュームを保持する基になるクラウド ストレージへのアクセスを管理するために、 Unity Catalog は、クラウド ストレージの場所へのパスとその場所へのアクセスに必要な資格情報を定義する 、外部ロケーションと呼ばれるセキュリティ保護可能なオブジェクトを使用します。 これらの資格情報は、 ストレージ資格情報と呼ばれる Unity Catalog のセキュリティ保護可能なオブジェクトで定義されます。 Unity Catalogで外部ロケーション セキュリティ保護可能なリソースへのアクセスを許可および取り消すと、データ クラウド上のストレージ ロケーションへのアクセスを制御します。Unity Catalogでストレージ資格情報のセキュリティ保護可能なリソースへのアクセスを許可および取り消すことで、外部ロケーション オブジェクトを作成する機能を制御します。

詳細については、「 Unity Catalog を使用してクラウド ストレージへのアクセスを管理する」を参照してください。

クラウドストレージへのパスベースのアクセス

Unity Catalog は、クラウド ストレージ URI を使用した外部テーブルと外部ボリュームへのパスベースのアクセスをサポートしていますが、Databricks では、ユーザーがテーブル名を使用してすべての Unity Catalog テーブルを読み書きし、 /Volumes パスを使用してボリューム内のデータにアクセスすることをお勧めします。 ボリューム は、ほとんどの Databricks ユーザーがクラウド オブジェクト ストレージ内の非表形式データを直接操作するために使用する必要があるセキュリティ保護可能なオブジェクトです。 Unity Catalogボリュームとはを参照してください

次のステップ

管理者として Unity Catalog を使い始めたばかりの場合は、以下を参照してください。

新しいユーザーで、ワークスペースが既に Unity Catalog に対して有効になっている場合は、以下を参照してください。

クラウド ストレージへのアクセスを管理する方法の詳細については、以下を参照してください。