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

ロールベースのアクセス制御 (RBAC)

備考

プレビュー

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

注記

まず、このプレビューをアカウントレベルで有効にします。すると、プレビューはそのアカウントに属する各ワークスペースで表示され、有効にできるようになります。

ロールベースのアクセス制御 (RBAC) により、ユーザーは Databricksで ロールを引き受け 、セッション中は当該役割のアクセス許可のみを使用できます。RBAC は 排他的アクセス を可能にします。ユーザーは機密データにアクセスするために役割を引き受ける必要があり、これにより、自身のユーザー IDで動作している間、そのデータにアクセスしたり、ユースケース、臨床試験、プロジェクト、またはクライアント間でデータを混在させたりするのを防ぎます。

Databricks では、ロールはグループとして実装されます。ユーザー、Service Principal、または他のグループに、グループに対する Assume 権限を付与します。この権限は、引き受けられたときにロールとして機能します。グループのすべてのメンバーは、そのグループに対する Assume 権限を自動的に持ちます。非メンバーも直接 Assume を付与することができます。ユーザーは、ワークスペース UI のロールスイッチャー、グループに割り当てられた専用アクセスモードクラスター、CLI、API、サードパーティの BI ツールなど、いくつかの方法でロールを引き受けることができます。ロールの切り替えを参照してください。

グループメンバーのアクセス許可の継承 (左) とロールの引き受け (右) の比較図。ユーザーがロールを引き受けると、そのセッションにはロールのアクセス許可のみが適用され、ユーザーが継承するグループのアクセス許可は置き換えられます。

仕組み

By default、IDのアクセス権限は、IDに直接付与されたアクセス権限に加えて、メンバーであるすべてのグループから 継承する アクセス権限です。複数のグループに属するユーザーは、それらのグループがアクセスできるすべてにアクセスできます。アクセス権限は、どこにでも適用されるアンビエントなセットとして蓄積されます。ロールを引き受けることは、継承されたセットをセッションの引き受けられたロールのアクセス権限のみに 置き換え 、これにより排他的アクセスが可能になります。これは、対話型ユーザーだけでなく、Service Principalおよびその他のIDにも適用されます。

ユーザーがロールを割り当てる場合:

  • 引き受けられたロールの権限は、ユーザー自身の権限を 置き換えます (組み合わせるものではありません)。ロールとして動作している間、ユーザーは自身のユーザーIDを通じてデータやアセットにアクセスすることはできません。
  • ユーザーは一度に 1 つの役割としてのみ行動できます。
  • 別のロールとして機能したり、ユーザーIDに戻ったりするには、再度切り替える必要があります。
  • ワークスペースに割り当てられたすべてのグループは、ワークスペースのusersシステムグループから権限を継承します。これは、ロールとして機能するユーザーが、ロールに直接付与されているものに加えて、すべてのワークスペースユーザーと共有されているカタログ、Unity Catalogエンティティ、コンピュート、およびワークスペースアセットを引き続き表示できることを意味します。
  • ロールとして実行されたすべてのアクションは、そのロールに紐付けられます。監査ログは、identity_metadata.run_by(ロールを引き受けたユーザー)とidentity_metadata.run_as(ロール)の両方を記録します。
  • このロールは、この役割として動作中に作成されたUnity Catalogおよびワークスペースの資産(ノートブック、SQL クエリー、SQL Warehouse、ジョブ)を所有します。

引き受け権限を管理する

Assume 権限により、ユーザー、Databricks Service Principal、またはグループがロールをAssumeできるようになります。Databricksではロールがグループとして実装されているため、基盤となるグループに対してAssumeを付与します。グループのすべてのメンバーは、そのグループに対するAssume権限を自動的に持っています。そのため、メンバーではないユーザー、Databricks Service Principal、またはグループにのみAssumeを付与する必要があります。

アカウントコンソール、ワークスペース管理者設定UI、またはアクセス制御APIを使用してグループへのAssumeの付与または取り消しを行うには、グループの権限を管理するを参照してください。

このセクション

トピック

説明

ロールの切り替え

ロールスイッチャー、専用アクセスモードのクラスター、CLI、API、またはサードパーティのBIツールを使用してロールを引き受けます。

RBAC を ABAC と組み合わせて使用します。

RBACとUnity Catalog ABACがどのように連携するか、ロールを想定した場合のID関数の動作、および組み合わせ使用パターンについて。

モデルの排他的アクセス

ユースケース: DatabricksアカウントローカルグループまたはIDプロバイダーから同期されたグループのいずれかを使用して、排他アクセスを設定するためのパターン。サブトピックとしてワークスペースアセット共有コントロールが含まれます。

ロールベースのアクセス制御 (RBAC) の制限

ロールを引き受ける際にサポートされていない機能、または部分的にしかサポートされていない機能、およびその他の制約。

トピック

説明

ロールの切り替え

ロールスイッチャー、専用アクセスモードのクラスター、CLI、API、またはサードパーティのBIツールを使用してロールを引き受けます。

RBAC を ABAC と組み合わせて使用します。

RBACとUnity Catalog ABACがどのように連携するか、ロールを想定した場合のID関数の動作、および組み合わせ使用パターンについて。

モデルの排他的アクセス

ユースケース: DatabricksアカウントローカルグループまたはIDプロバイダーから同期されたグループのいずれかを使用して、排他アクセスを設定するためのパターン。サブトピックとしてワークスペースアセット共有コントロールが含まれます。

ロールベースのアクセス制御 (RBAC) の制限

ロールを引き受ける際にサポートされていない機能、または部分的にしかサポートされていない機能、およびその他の制約。

次のステップ

  • グループの管理 :グループを作成、編集し、ワークスペースに割り当てます。「グループの管理」を参照してください。
  • グループの概要 :アカウントグループ、ID プロバイダーから同期されたグループ、およびワークスペースローカルグループがどのように連携するかを理解します。See グループ.
  • グループに専用コンピュートを割り当てる : グループ用に予約されたコンピュートでワークロードをランします。専用コンピュートグループアクセスを参照してください。