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

ロールの切り替え

備考

プレビュー

この機能は パブリック プレビュー段階です。

Databricksでロールを引き受けるには、いくつかの方法があります。すべての場合において、ユーザーIDの権限は、セッションまたは接続中はロールの権限に置き換えられ、すべての操作はロールに起因します。

ロールを引き受けるには、そのロールに対して**Assume**権限が必要です。これは、直接付与されるか、バッキンググループのメンバーとして付与されます。 「グループの権限の管理」を参照してください。

重要

ワークスペースに割り当てられたすべてのグループは、ワークスペースの users システムグループから権限を継承します。これにはすべてのワークスペースユーザーが含まれます。ロールとして機能している間も、ロールに直接付与されたものに加えて、カタログ、Unity Catalog オブジェクト、ワークスペースアセット、およびすべてのワークスペースユーザーと共有されているコンピュートが表示されます。ロールが参照できる内容を制限するには、ワークスペースの users システムグループの権限を減らします。

ワークスペースのロールスイッチャー

役割スイッチャー を使用して、ワークスペース全体で役割を引き受けます。すべてのアクセス、権限、所有権、およびアクションは、セッション期間中、その役割として行われます。

  1. Databricks ワークスペースの、上部バーの右上隅にあるワークスペース名をクリックします。
  2. 現在のワークスペース (メニューの最上部の項目) にカーソルを合わせると、ロールスイッチャーサブメニューが表示されます。
  3. サブメニューで、引き受けたいロールをクリックします。

UIが再読み込みされ、ワークスペース名の下に表示されるIDが選択したロールに変更されます。

ご自身のユーザーアイデンティティに戻すには、同じサブメニューを開き、ご自身のユーザー名を選択してください。

注記

ロールスイッチャーサブメニューが表示されない場合は、ワークスペースに割り当てられているグループのメンバーであるか、ワークスペースに割り当てられているグループに対して引き受け権限が付与されていることを確認してください。「グループの権限の管理」を参照してください。

ワークスペースのURLに、グループのIDに設定されたaid(引き受けID)クエリーパラメーターを追加することで、直接ロールを引き受けることができます: aid=<group-id>。そのURLを開くと、通常どおりユーザーIDとして認証され、自動的にロールが引き受けられるため、ロールスイッチャーを使用する必要はありません。

たとえば、すでにロールとして機能しているワークスペースを開くには:

https://<workspace-url>/?o=<workspace-id>&aid=<group-id>

これは、役割に直接アクセスできるLinkをブックマークまたは共有する場合に便利です。Databricksは、ワークスペース内を移動してもaidパラメーターを保持するため、セッション中は役割にとどまります。役割はワークスペース固有であるため、別のワークスペースに切り替えるとクリアされます。

グループのIDを検索するには、「グループの管理」を参照してください。リンクを開いた後、ロールを切り替えるか、ユーザーIDに戻るには、ロールスイッチャーを使用してください。

グループに割り当てられた専用コンピュート

グループに割り当てられた専用のコンピュートリソースに接続すると、アクセス許可はそのグループのアクセス許可に自動的にダウンスコープされ、そのコンピュート上のすべての操作に対して適用されます。これは、コンピュートセッションの期間中、グループをロールとして想定することと同じであり、ノートブック、クエリー、およびコンピュートで実行されるその他のワークロードに適用されます。他の方法とは異なり、まずワークスペース UI でロールを切り替えることはありません。コンピュートに接続すると、グループにスコープされます。

グループの専用コンピュートの設定に関する詳細は、専用コンピュートグループアクセスを参照してください。

CLI

Databricks ワークスペースに CLI を使用して認証すると、CLI は Web ブラウザーを開き、認証フローを完了します。1つ以上のロールに対してAssume権限がある場合、ブラウザーで自身のユーザー ID として認証するか、いずれかのロールとして認証するかを選択します。

Bash
databricks auth login --host <workspace-url>

ログインフローを完了すると、CLI はこのプロファイルを使用して、選択したロールとしてすべての操作を認証します。例えば:

Bash
databricks warehouses list --profile <profile-name>

CLI認証の詳細については、Databricks CLI の認証を参照してください。

API(OAuth トークン交換)

特定のロールにスコープされたOAuthトークンを生成でき、そのロールとしてAPIコールを行うことができます。スコープされたトークンは、そのロールとしてすべてのAPI操作を承認します。

役割スコープのトークンを生成するには、CLIに記載されているとおりにdatabricks auth loginを実行し、Webブラウザでロールを選択します。結果のトークンはそのロールにスコープされます。

OAuth認証コードフロー中に、基になるグループIDをassume_groupパラメーターとして渡すことで、ロールスコープのOAuthトークンを手動で生成することもできます。詳細については、「OAuth を使用して Databricks へのユーザー アクセスを承認する」を参照してください。

サードパーティの BI ツール

OAuth(TableauやPower BIなど)をサポートするサードパーティのBIツールは、ロールとして認証できます。設定が完了すると、BIツールはロールとして実行するすべてのクエリーを認証します。この認証は、すべてのコンピュートタイプとSQLウェアハウスタイプで機能します。

ロールを引き受ける際に何が変わりますか

ロールを引き受けるためにどの方法を使用する場合でも:

  • ノートブックとクエリー はロールとして実行されます。ロールの権限は、すべてのデータアクセスと Unity Catalog の操作に使用されます。
  • ロールとして機能している間に 作成されたジョブ は、 ラン アズ がそのロールに自動的に設定されます。また、事前に引き受けることなく、ジョブの実行者をグループに設定できます。「ランとしてグループに設定」を参照してください。
  • そのロールは、作成した ワークスペース資産 (ノートブック、SQL クエリー、SQL Warehouse、ジョブ)の所有者になります。
  • Audit Logs は、ユーザーIDとしてidentity_metadata.run_byを、ロールとしてidentity_metadata.run_asを記録します。

ロールとして動作する場合にサポートされていないか、部分的にのみサポートされている機能については、役割ベースのアクセス制御 (RBAC) の制限を参照してください。

次のステップ

  • 制限事項を確認する :役割として機能する場合に、どのDatabricks機能がサポートされていないか、または部分的にのみサポートされているかを理解してください。役割ベースのアクセス制御 (RBAC) の制限を参照してください。
  • **ワークスペース資産共有の制限**:ロールとして機能するユーザーが、そのロールが所有するワークスペース資産を共有できないようにします。「ワークスペース資産共有コントロール」を参照してください。
  • **Assume アクセス許可を管理する**:ユーザーが対応するロールを引き受けることができるように、グループのAssumeを付与または取り消します。「グループに対するアクセス許可を管理する」を参照してください。