メインコンテンツまでスキップ

外部ロケーションの管理

この記事では、 外部ロケーションの一覧表示、表示、更新、アクセス許可の付与、および削除の方法について説明します。

注記

Databricks では、ボリュームを使用してファイル アクセスを管理することをお勧めします。 Unity Catalogボリュームとはを参照してください。

外部ロケーションを説明する

権限やワークスペースへのアクセスなど、外部ロケーションのプロパティを表示するには、Catalog Explorer または SQL コマンドを使用できます。

  1. サイドバーで、「カタログアイコン カタログ 」をクリックします。
  2. クイック アクセス ページで、 外部データ > ボタンをクリックして外部 ロケーション タブに移動します。
  3. 外部ロケーションの名前をクリックすると、そのプロパティが表示されます。

外部ロケーションに助成金を表示する

外部ロケーションに許可を表示するには、次のようなコマンドを使用します。 オプションで、結果をフィルタリングして、指定したプリンシパルの許可のみを表示できます。

SQL
SHOW GRANTS [<principal>] ON EXTERNAL LOCATION <location-name>;

プレースホルダーの値を置き換えます。

  • <location-name>: クラウド テナント内の GCS バケットからの読み取りと書き込みを許可する外部ロケーションの名前。
  • <principal>:アカウントレベルのユーザーのメールアドレスまたはアカウントレベルのグループの名前。
注記

グループまたはユーザー名にスペースまたは @ 記号が含まれている場合は、アポストロフィではなくバッククォートで囲みます。 たとえば、`finance team`。

外部ロケーションに対するアクセス許可の付与

このセクションでは、ノートブックまたはSQLクエリで Catalog Explorer と SQL コマンドを使用して、外部ロケーションに対するアクセス許可を付与および取り消す方法について説明します。代わりに Databricks CLI または Terraform を使用する方法については、 Databricks Terraform のドキュメント と What is the Databricks CLI?.

外部ロケーションに対して次の権限を付与できます。

  • CREATE EXTERNAL TABLE
  • CREATE EXTERNAL VOLUME
  • CREATE MANAGED STORAGE

必要なアクセス許可 : メタストアと外部ロケーションで参照されるストレージ資格情報の両方に対する CREATE EXTERNAL LOCATION 特権、または外部ロケーションに対する MANAGE 特権。 メタストア管理者は、デフォルトでメタストアに CREATE EXTERNAL LOCATION を持っています。

外部ロケーションの使用を許可するには:

  1. サイドバーで、「カタログアイコン カタログ 」をクリックします。
  2. クイック アクセス ページで、 外部データ > ボタンをクリックして外部 ロケーション タブに移動します。
  3. 外部ロケーションの名前をクリックして、そのプロパティを開きます。
  4. [ アクセス許可 ]をクリックします。
  5. ユーザーまたはグループにアクセス許可を付与するには、各 ID を選択し、[ 付与 ]をクリックします。
  6. ユーザーまたはグループから権限を取り消すには、各 ID を選択してから [ 取り消し] をクリックします。

外部ロケーションの所有者を変更する

外部ロケーションの作成者は、その最初の所有者です。 所有者を別のアカウント レベルのユーザーまたはグループに変更するには、ノートブックまたは Databricks SQL エディターで次のコマンドを実行するか、 カタログ エクスプローラーを使用します。

必要な権限 : 外部ロケーションの所有者または MANAGE 権限を持つユーザー。

プレースホルダーの値を置き換えます。

  • <location-name>:資格情報の名前。
  • <principal>:アカウントレベルのユーザーのメールアドレスまたはアカウントレベルのグループの名前。
SQL
ALTER EXTERNAL LOCATION <location-name> OWNER TO <principal>

外部ロケーションを読み取り専用としてマークする

ユーザーに外部ロケーションへの読み取り専用アクセスを許可する場合は、カタログエクスプローラーを使用して外部ロケーションを読み取り専用としてマークできます。

外部ロケーションを読み取り専用にする:

  • ストレージ資格情報の基になるサービス アカウントによって付与された書き込みアクセス許可や、その外部ロケーションに付与された Unity Catalog アクセス許可に関係なく、ユーザーがこれらの外部ロケーションのファイルに書き込むことを防止します。
  • ユーザーがそれらの外部ロケーションにマネージドテーブルまたはボリュームを作成できないようにします。
  • 作成時にシステムが外部ロケーションを適切に検証できるようにします。

外部ロケーションは、作成時に読み取り専用にすることができます。

カタログエクスプローラーを使用して、外部ロケーションの作成後に読み取り専用ステータスを変更することもできます。

  1. サイドバーで、「カタログアイコン カタログ 」をクリックします。
  2. クイック アクセス ページで、 外部データ > ボタンをクリックして外部 ロケーション タブに移動します。
  3. 外部ロケーションを選択し、 接続のテスト ボタンの横にあるケバブメニュー アクション メニューをクリックして、 編集 を選択します。
  4. 編集ダイアログで、 詳細オプション をクリックし、 読み取り専用使用に制限 オプションを選択します。
  5. 更新 をクリックします。

外部ロケーションの変更

外部ロケーションの所有者または MANAGE 権限を持つユーザーは、外部ロケーションの名前変更、URI の変更、およびストレージ資格情報の変更を行うことができます。

外部ロケーションの名前を変更するには、次の操作を行います。

ノートブックまたは Databricks SQL エディターで次のコマンドを実行します。 プレースホルダーの値を置き換えます。

  • <location-name>:ロケーションの名前。
  • <new-location-name>:ロケーションの新しい名前。
SQL
ALTER EXTERNAL LOCATION <location-name> RENAME TO <new-location-name>;

クラウドテナント内の外部ロケーションが指すURIを変更するには、次の手順を実行します。

ノートブックまたは Databricks SQL エディターで次のコマンドを実行します。 プレースホルダーの値を置き換えます。

  • <location-name>:外部ロケーションの名前。
  • <url>:場所がクラウドテナント内のアクセスを承認する必要がある新しいストレージURL。
SQL
ALTER EXTERNAL LOCATION location_name SET URL '<url>' [FORCE];

FORCEオプションは、外部テーブルが外部ロケーショに依存している場合でも、URLを変更します。

外部ロケーションが使用するストレージ資格情報を変更するには、次の手順を実行します。

ノートブックまたは Databricks SQL エディターで次のコマンドを実行します。 プレースホルダーの値を置き換えます。

  • <location-name>:外部ロケーションの名前。
  • <credential-name>:クラウドテナント内の場所のURLへのアクセスを許可するストレージ資格情報の名前。
SQL
ALTER EXTERNAL LOCATION <location-name> SET STORAGE CREDENTIAL <credential-name>;

外部ロケーションの削除

外部ロケーションを削除 (ドロップ) するには、その所有者であるか、外部ロケーションに対する MANAGE 権限を持っている必要があります。 外部ロケーションを削除するには、次の操作を行います。

ノートブックまたは Databricks SQL エディターで次のコマンドを実行します。 括弧内の項目はオプションです。<location-name> を外部ロケーションの名前に置き換えます。

SQL
DROP EXTERNAL LOCATION [IF EXISTS] <location-name>;