ストレージの資格情報を管理する
このページでは、 ストレージ資格情報の一覧表示、表示、更新、アクセス許可の付与、および削除の方法について説明します。
Databricks では、ストレージ資格情報に対する CREATE EXTERNAL LOCATION
権限のみを付与し、他の権限は付与しないことをお勧めします。
このページでは、Catalog Explorer と SQL コマンドを使用してストレージ資格情報を管理する方法について説明します。代わりに Databricks CLI または Terraform を使用する方法については、 Databricks Terraform のドキュメント と What is the Databricks CLI?.
ストレージ資格情報の一覧表示
メタストア内のすべてのストレージ資格情報の一覧を表示するには、カタログ エクスプローラーまたは SQL コマンドを使用できます。
- Catalog Explorer
- SQL
- サイドバーで、「
カタログ 」をクリックします。
- [クイック アクセス ] ページで、[ 外部データ> ] ボタンをクリックし、[ 資格情報 ] タブに移動します。
- 資格情報を 目的 (STORAGE またはサービス) で並べ替えます。
ノートブックまたはDatabricks SQLエディタで次のコマンドを実行します。
SHOW STORAGE CREDENTIALS;
ストレージの資格情報を表示する
ストレージ認証情報のプロパティを表示するには、カタログエクスプローラ または SQL コマンドを使用できます。
- Catalog Explorer
- SQL
- サイドバーで、「
カタログ 」をクリックします。
- [クイック アクセス ] ページで、[ 外部データ> ] ボタンをクリックし、[ 資格情報 ] タブに移動します。
- ストレージ認証情報の名前をクリックすると、そのプロパティが表示されます。
ノートブックまたは Databricks SQL エディターで次のコマンドを実行します。 <credential-name>
を資格情報の名前に置き換えます。
DESCRIBE STORAGE CREDENTIAL <credential-name>;
特定のワークスペースにストレージ資格情報を割り当てる
デフォルトでは、ストレージ資格情報はメタストア内のすべてのワークスペースからアクセスできます。つまり、ユーザーがそのストレージ認証情報に対する権限(CREATE EXTERNAL LOCATION
など)を与えられていれば、メタストアに接続されているどのワークスペースからでもその権限を行使できます。ワークスペースを使用してユーザーデータアクセスを分離する場合は、ストレージ資格情報へのアクセスを特定のワークスペースからのみ許可することをお勧めします。この機能は、ワークスペースのバインドまたはストレージ資格情報の分離と呼ばれます。
ストレージ資格情報を特定のワークスペースにバインドする一般的なユースケースには、クラウド管理者が運用クラウドアカウント資格情報を使用してストレージ資格情報を構成し、Databricksユーザーがこの資格情報を使用して運用ワークスペースでのみ外部の場所を作成できるようにする場合などが考えられます。
詳細については、 情報 ワークスペースのバインドについては、「 特定のワークスペースへのカタログ アクセスの制限」を参照してください。
ワークスペースバインディングは、ストレージ資格情報に対する権限が行使されるときに参照されます。たとえば、ユーザーがストレージ資格情報を使用して外部ロケーションを作成する場合、ストレージ資格情報のワークスペースバインディングは、外部ロケーションが作成されたときにのみチェックされます。作成された後、外部ロケーションはストレージ資格情報に設定されているワークスペースバインディングとは独立して機能します。
ストレージ資格情報を 1 つ以上のワークスペースにバインドする
ストレージ認証情報を特定のワークスペースに割り当てるには、カタログエクスプローラーまたはDatabricks CLIを使用できます。
必要なアクセス許可 : メタストア管理者、ストレージ資格情報所有者、またはストレージ資格情報の MANAGE
。
メタストア管理者は、カタログエクスプローラーを使用してメタストア内のすべてのストレージ資格情報を確認できます。ストレージ資格情報の所有者は、ストレージ資格情報が現在のワークスペースに割り当てられているかどうかに関係なく、メタストアで所有しているすべてのストレージ資格情報を確認できます。ワークスペースに割り当てられていないストレージ資格情報は、灰色で表示されます。
- Catalog Explorer
- CLI
-
メタストアにリンクされているワークスペースにログインします。
-
サイドバーで、「
カタログ 」をクリックします。
-
[クイック アクセス ] ページで、[ 外部データ> ] ボタンをクリックし、[ 資格情報 ] タブに移動します。
-
ストレージ資格情報を選択し、[ ワークスペース ] タブに移動します。
-
[ ワークスペース ] タブで、[ すべてのワークスペースがアクセス可能] チェックボックスをオフにします。
ストレージ資格情報がすでに1つ以上のワークスペースにバインドされている場合、このチェックボックスはすでにオフになっています。
-
[ ワークスペースに割り当てる ] をクリックし、割り当てるワークスペースを入力または検索します。
アクセス権を取り消すには、[ ワークスペース ] タブに移動し、ワークスペースを選択して、[ 取り消し ] をクリックします。すべてのワークスペースからのアクセスを許可するには、[ すべてのワークスペースがアクセス可能 ] チェックボックスをオンにします。
ワークスペースにストレージ資格情報を割り当てるには、2 つのDatabricks CLIコマンド グループと 2 つのステップが必要です。
次の例では、 <profile-name>
を Databricks 認証構成プロファイルの名前に置き換えます。これには、personal アクセストークンを生成したワークスペースのワークスペース インスタンス名とワークスペース ID に加えて、personal アクセストークンの値を含める必要があります。 個人用アクセストークン認証 (非推奨)を参照してください。
-
storage-credentials
コマンド グループのupdate
コマンドを使用して、ストレージ資格情報のisolation mode
をISOLATED
に設定します。Bashdatabricks storage-credentials update <my-storage-credential> \
--isolation-mode ISOLATED \
--profile <profile-name>デフォルトの
isolation-mode
は、メタストアにアタッチされているすべてのワークスペースに対してOPEN
です。 -
workspace-bindings
コマンドグループのupdate-bindings
コマンドを使用して、ワークスペースをストレージ資格証明に割り当てます。Bashdatabricks workspace-bindings update-bindings storage-credential <my-storage-credential> \
--json '{
"add": [{"workspace_id": <workspace-id>}...],
"remove": [{"workspace_id": <workspace-id>}...]
}' --profile <profile-name>ワークスペースのバインドを追加または削除するには、
"add"
プロパティと"remove"
プロパティを使用します。
読み取り専用バインディング(BINDING_TYPE_READ_ONLY
)はストレージ認証情報では使用できません。したがって、ストレージ認証情報のバインディングにbinding_type
を設定する理由はありません。
ストレージ資格情報のすべてのワークスペース割り当てを一覧表示するには、 workspace-bindings
コマンドグループの get-bindings
コマンドを使用します。
databricks workspace-bindings get-bindings storage-credential <my-storage-credential> \
--profile <profile-name>
ワークスペースからストレージ資格情報のバインドを解除する
カタログエクスプローラ または workspace-bindings
CLI コマンド グループを使用してストレージ認証情報へのワークスペースのアクセスを取り消す手順については、「 ストレージ認証情報を 1 つ以上のワークスペースにバインドする」を参照してください。
ストレージ資格情報に権限を表示する
ストレージ認証情報の権限を表示するには、Catalog Explorer または SQL コマンドを使用できます。
- Catalog Explorer
- SQL
- サイドバーで、「
カタログ 」をクリックします。
- [クイック アクセス ] ページで、[ 外部データ> ] ボタンをクリックし、[ 資格情報 ] タブに移動します。
- ストレージ認証情報の名前をクリックします。
- [ アクセス許可 ]をクリックします。
ストレージ資格情報の許可を表示するには、次のようなコマンドを使用します。オプションで、結果をフィルタリングして、指定したプリンシパルの許可のみを表示できます。
SHOW GRANTS [<principal>] ON STORAGE CREDENTIAL <storage-credential-name>;
プレースホルダーの値を置き換えます。
<principal>
:アカウントレベルのユーザーのメールアドレス、またはアクセス許可を付与するアカウントレベルのグループの名前。 グループまたはユーザー名にスペースまたは@
記号が含まれている場合は、アポストロフィではなくバッククォートで囲みます。 たとえば、`finance team`。<storage-credential-name>
:ストレージ資格情報の名前。
外部ロケーションを作成する権限を付与する
ストレージ認証情報を使用して外部ロケーションを作成する権限を付与するには、次の手順を実行します。
- Catalog Explorer
- SQL
- サイドバーで、「
カタログ 」をクリックします。
- [クイック アクセス ] ページで、[ 外部データ> ] ボタンをクリックし、[ 資格情報 ] タブに移動します。
- ストレージ認証情報の名前をクリックして、詳細ページを開きます。
- [ アクセス許可 ]をクリックします。
- ユーザーまたはグループにアクセス許可を付与するには、各 ID を選択し、[ 付与 ]をクリックします。
- ユーザーまたはグループから権限を取り消すには、各 ID を選択してから [ 取り消し] をクリックします。
ノートブックまたは SQL クエリ エディターで次のコマンドを実行します。
GRANT CREATE EXTERNAL LOCATION ON STORAGE CREDENTIAL <storage-credential-name> TO <principal>;
プレースホルダーの値を置き換えます。
<principal>
:アカウントレベルのユーザーのメールアドレス、またはアクセス許可を付与するアカウントレベルのグループの名前。 グループまたはユーザー名にスペースまたは@
記号が含まれている場合は、アポストロフィではなくバッククォートで囲みます。 たとえば、`finance team`。<storage-credential-name>
:ストレージ資格情報の名前。
ストレージ資格情報の所有者を変更する
ストレージ認証情報の作成者は、その初期所有者です。所有者を別のアカウントレベルのユーザーまたはグループに変更するには、カタログエクスプローラ または SQL コマンドを使用できます。
- Catalog Explorer
- SQL
- サイドバーで、「
カタログ 」をクリックします。
- [クイック アクセス ] ページで、[ 外部データ> ] ボタンをクリックし、[ 資格情報 ] タブに移動します。
- ストレージ認証情報の名前をクリックします。
[所有者] の横にある [] をクリックします。
- 入力してプリンシパルを検索し、それを選択します。
- 保存 をクリックします。
ノートブックまたは Databricks SQL エディターで次のコマンドを実行します。 プレースホルダーの値を置き換えます。
<credential-name>
:資格情報の名前。<principal>
:アカウントレベルのユーザーのメールアドレスまたはアカウントレベルのグループの名前。
ALTER STORAGE CREDENTIAL <credential-name> OWNER TO <principal>;
ストレージ認証情報を読み取り専用としてマークする
ストレージ認証情報によって管理されるすべてのデータに対する読み取り専用アクセスをユーザーに付与する場合は、カタログエクスプローラーを使用してストレージ認証情報を読み取り専用としてマークできます。
ストレージ認証情報を読み取り専用にすると、その認証情報で設定されたストレージはすべて読み取り専用になります。
ストレージの認証情報は、作成時に読み取り専用としてマークできます。
また、カタログエクスプローラーを使用して、ストレージ資格証明の作成後に読み取り専用ステータスを変更することもできます。
- カタログ エクスプローラで、ストレージ認証情報を検索し、オブジェクト行の
ケバブ メニューをクリックして、[ 編集 ] を選択します。
- 編集ダイアログで[ 読み取り専用 ]オプションを選択します。
ストレージ資格情報の名前を変更する
ストレージ資格情報の名前を変更するには、カタログエクスプローラーまたは SQL コマンドを使用できます。
- Catalog Explorer
- SQL
- サイドバーで、「
カタログ 」をクリックします。
- [クイック アクセス ] ページで、[ 外部データ> ] ボタンをクリックし、[ 資格情報 ] タブに移動します。
- ストレージ資格情報の名前をクリックして、編集ダイアログを開きます。
- ストレージ資格情報の名前を変更して保存します。
ノートブックまたは Databricks SQL エディターで次のコマンドを実行します。 プレースホルダーの値を置き換えます。
<credential-name>
:資格情報の名前。<new-credential-name>
:資格情報の新しい名前。
ALTER STORAGE CREDENTIAL <credential-name> RENAME TO <new-credential-name>;
ストレージ資格情報を削除する
ストレージ認証情報を削除 (ドロップ) するには、その所有者である必要があります。 ストレージ認証情報を削除するには、カタログエクスプローラ または SQL コマンドを使用できます。
- Catalog Explorer
- SQL
- サイドバーで、「
カタログ 」をクリックします。
- [クイック アクセス ] ページで、[ 外部データ> ] ボタンをクリックし、[ 資格情報 ] タブに移動します。
- ストレージ資格情報の名前をクリックして、編集ダイアログを開きます。
- [ 削除 ]ボタンをクリックします。
ノートブックまたは Databricks SQL エディターで次のコマンドを実行します。 <credential-name>
を資格情報の名前に置き換えます。コマンドの括弧で囲まれた部分はオプションです。既定では、資格情報が外部ロケーションで使用されている場合、資格情報は削除されません。<credential-name>
を資格情報の名前に置き換えます。
IF EXISTS
資格情報が存在しない場合、エラーは返されません。
DROP STORAGE CREDENTIAL [IF EXISTS] <credential-name>;