ロールの切り替え

Azure Databricksでロールを引き受けるには、いくつかの方法があります。 いずれの場合も、ユーザー ID のアクセス許可はセッションまたは接続の期間中はロールのアクセス許可に置き換えられ、すべてのアクションはロールに起因します。

ロールを引き受けるには、そのロールに対する Assume 権限を、直接またはバッキング グループのメンバーとして持っている必要があります。 「グループのアクセス許可の管理」を参照してください。

Important

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

ワークスペース内のロール切り替え

ロール スイッチャーを使用して、ワークスペース全体でロールを引き受ける。 セッションの期間中、すべてのアクセス許可、権限、所有権、操作は、そのロールの設定に従います。

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

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

ユーザー ID に戻すには、同じサブメニューを開き、ユーザー名を選択します。

Note

ロール スイッチャー サブメニューが表示されない場合は、ワークスペースに割り当てられているグループのメンバーであるか、ワークスペースに割り当てられているグループに対する [想定] アクセス許可が付与されていることを確認します。 「グループのアクセス許可の管理」を参照してください。

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

たとえば、既にロールとして機能しているワークスペースを開くには、次のようにします。

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

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

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

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

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

グループの専用コンピューティングの設定の詳細については、「 専用コンピューティング グループ アクセス」を参照してください。

CLI

CLI を使用して Azure Databricks ワークスペースに対して認証を行うと、CLI によって Web ブラウザーが開き、認証フローが完了します。 1 つ以上のロールに対する権限を想定している場合は、ブラウザーで、独自のユーザー ID として認証するか、それらのロールの 1 つとして認証するかを選択します。

databricks auth login --host <workspace-url>

ログイン フローが完了すると、選択したロールとしてこのプロファイルを使用するすべての操作が CLI によって承認されます。 例えば次が挙げられます。

databricks warehouses list --profile <profile-name>

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

API(OAuth トークンの交換)

ロールをスコープとする OAuth トークンを生成できます。このトークンを使用して、そのロールとして API 呼び出しを行うことができます。 スコープ付きトークンは、すべての API 操作をロールとして承認します。

ロール スコープトークンを生成するには、databricks auth login の説明に従ってを実行し、Web ブラウザーでロールを選択します。 生成されたトークンは、そのロールに限定されます。

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

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

OAuth (Tableau や Power BI など) をサポートするサードパーティの BI ツールは、ロールとして承認できます。 構成が完了すると、BI ツールはロールとして実行されるすべてのクエリを承認します。 この承認は、すべてのコンピューティングおよび SQL ウェアハウスの種類で機能します。

ロールとして動作する際にBIツールやドライバーに影響を与える既知の問題については 、「既知の問題」を参照してください。

ロールを引き受けるときの変更点

どの方法を使用してロールを引き受ける場合でも、

  • ノートブックとクエリは ロールとして実行されます。 ロールのアクセス許可は、すべてのデータ アクセス操作と Unity カタログ操作に使用されます。
  • そのロールとして動作している間に作成されたジョブRun asは、自動的にそのロールに設定されます。 また、ジョブの実行対象を、そのグループを事前に割り当てることなく、グループに設定することもできます。 「 実行をグループに設定する」を参照してください。
  • このロールは、作成した ワークスペース資産 (ノートブック、SQL クエリ、SQL ウェアハウス、ジョブ) を所有します。
  • 監査ログ には、ユーザー ID として identity_metadata.run_by が記録され、ロールとして identity_metadata.run_as されます。

ロールとして機能するときにサポートされていない機能または部分的にのみサポートされる機能については、「 ロールベースのアクセス制御 (RBAC) の制限事項」を参照してください。

次のステップ