Manage 外部ロケーション
この記事では、 外部ロケーションの一覧表示、表示、更新、アクセス許可の付与、および削除の方法について説明します。
Databricks では、ボリュームを使用してファイル アクセスを管理することをお勧めします。 Unity Catalogボリュームとはを参照してください。
外部ロケーションを説明する
権限やワークスペースへのアクセスなど、外部ロケーションのプロパティを表示するには、Catalog Explorer または SQL コマンドを使用できます。
- Catalog Explorer
- SQL
- In the sidebar, click
Catalog.
- On the Quick access page, click the External data > button to go to the External Locations tab.
- Click the name of an external location to view its properties.
Run the following command in a notebook or the Databricks SQL editor. Replace <location-name>
with the name of the external location.
DESCRIBE EXTERNAL LOCATION <location-name>;
外部ロケーションに助成金を表示する
外部ロケーションに許可を表示するには、次のようなコマンドを使用します。 オプションで、結果をフィルタリングして、指定したプリンシパルの許可のみを表示できます。
SHOW GRANTS [<principal>] ON EXTERNAL LOCATION <location-name>;
プレースホルダーの値を置き換えます。
<location-name>
: クラウド テナント内の GCS バケットからの読み取りと書き込みを許可する外部ロケーションの名前。<principal>
:アカウントレベルのユーザーのメールアドレスまたはアカウントレベルのグループの名前。
グループまたはユーザー名にスペースまたは @
記号が含まれている場合は、アポストロフィではなくバッククォートで囲みます。 たとえば 財務チームは.
外部ロケーションに対するアクセス許可の付与
このセクションでは、ノートブックまたは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
を持っています。
外部ロケーションの使用を許可するには:
- Catalog Explorer
- SQL
- In the sidebar, click
Catalog.
- On the Quick access page, click the External data > button to go to the External Locations tab.
- Click the name of an external location to open its properties.
- Click Permissions.
- To grant permission to users or groups, select each identity, then click Grant.
- To revoke permissions from users or groups, select each identity, then click Revoke.
Run the following SQL command in a notebook or SQL query editor. This example grants the ability to create an external table that references the external location:
GRANT CREATE EXTERNAL TABLE ON EXTERNAL LOCATION <location-name> TO <principal>;
Replace the placeholder values:
-
<location-name>
: The name of the external location that authorizes reading from and writing to the GCS bucket in your cloud tenant. -
<principal>
: The email address of an account-level user or the name of an account-level group.
If a group or username contains a space or @
symbol, use back-ticks around it (not apostrophes). For example
finance team
.
外部ロケーションの所有者を変更する
外部ロケーションの作成者は、その最初の所有者です。 所有者を別のアカウント レベルのユーザーまたはグループに変更するには、ノートブックまたは Databricks SQL エディターで次のコマンドを実行するか、 カタログ エクスプローラーを使用します。
必要な権限 : 外部ロケーションの所有者または MANAGE
権限を持つユーザー。
プレースホルダーの値を置き換えます。
<location-name>
:資格情報の名前。<principal>
:アカウントレベルのユーザーのメールアドレスまたはアカウントレベルのグループの名前。
ALTER EXTERNAL LOCATION <location-name> OWNER TO <principal>
外部ロケーションを読み取り専用としてマークする
ユーザーに外部ロケーションへの読み取り専用アクセスを許可する場合は、カタログエクスプローラーを使用して外部ロケーションを読み取り専用としてマークできます。
外部ロケーションを読み取り専用にする:
- ストレージ資格情報の基になるサービス アカウントによって付与された書き込みアクセス許可や、その外部ロケーションに付与された Unity Catalog アクセス許可に関係なく、ユーザーがこれらの外部ロケーションのファイルに書き込むことを防止します。
- ユーザーがそれらの外部ロケーションにマネージドテーブルまたはボリュームを作成できないようにします。
- 作成時にシステムが外部ロケーションを適切に検証できるようにします。
外部ロケーションは、作成時に読み取り専用にすることができます。
カタログエクスプローラーを使用して、外部ロケーションの作成後に読み取り専用ステータスを変更することもできます。
- サイドバーで、「
カタログ 」をクリックします。
- [クイック アクセス ] ページで、[ 外部データ > ] ボタンをクリックして外部 ロケーション タブに移動します。
- 外部ロケーションを選択し、「 接続のテスト
」ボタンの横にある「 アクション 」メニューをクリックして、「 編集 」を選択します。
- 編集ダイアログで、「 詳細オプション 」をクリックし、「 読み取り専用使用に制限」 オプションを選択します。
- 更新 をクリックします。
外部ロケーションの変更
外部ロケーションの所有者または MANAGE
権限を持つユーザーは、外部ロケーションの名前変更、URI の変更、およびストレージ資格情報の変更を行うことができます。
外部ロケーショの名前を変更するには、次の操作を行います。
ノートブックまたは Databricks SQL エディターで次のコマンドを実行します。 プレースホルダーの値を置き換えます。
<location-name>
:場所の名前。<new-location-name>
:場所の新しい名前。
ALTER EXTERNAL LOCATION <location-name> RENAME TO <new-location-name>;
クラウドテナント内の外部ロケーショが指すURIを変更するには、次の手順を実行します。
ノートブックまたは Databricks SQL エディターで次のコマンドを実行します。 プレースホルダーの値を置き換えます。
<location-name>
:外部ロケーションの名前。<url>
:場所がクラウドテナント内のアクセスを承認する必要がある新しいストレージURL。
ALTER EXTERNAL LOCATION location_name SET URL '<url>' [FORCE];
FORCE
オプションは、外部テーブルが外部ロケーショに依存している場合でも、URLを変更します。
外部ロケーショが使用するストレージ資格情報を変更するには、次の手順を実行します。
ノートブックまたは Databricks SQL エディターで次のコマンドを実行します。 プレースホルダーの値を置き換えます。
<location-name>
:外部ロケーションの名前。<credential-name>
:クラウドテナント内の場所のURLへのアクセスを許可するストレージ資格情報の名前。
ALTER EXTERNAL LOCATION <location-name> SET STORAGE CREDENTIAL <credential-name>;
外部ロケーションの削除
外部ロケーションを削除 (ドロップ) するには、その所有者であるか、外部ロケーションに対する MANAGE
権限を持っている必要があります。 外部ロケーションを削除するには、次の操作を行います。
ノートブックまたは Databricks SQL エディターで次のコマンドを実行します。 括弧内の項目はオプションです。<location-name>
を外部ロケーションの名前に置き換えます。
DROP EXTERNAL LOCATION [IF EXISTS] <location-name>;