アクセス許可は、アプリへのアクセス、管理、共有など、Databricks アプリでユーザーが実行できる操作を制御します。 これは、ユーザーの ID を検証する認証とは異なります。 アクセス許可は、ユーザーがアプリ内で実行する権限を持つアクションを決定します。
アクセス許可のレベル
-
CAN MANAGE- アプリの設定とアクセス許可 (アプリを編集および削除する機能を含む) を管理できます。 すべてのCAN USE機能が含まれています。 -
CAN USE- アプリを実行して操作することはできますが、変更や管理はできません。
アプリに対するアクセス許可を割り当てたり取り消したりできるのは、 CAN MANAGE アクセス許可を持つユーザーだけです。
Databricks アプリ UI でアクセス許可を割り当てる
Databricks アプリ UI で直接アクセス許可を割り当てることで、Databricks アプリを表示、実行、または変更できるユーザーを管理します。
- アプリの詳細ページに移動します。
- [アクセス許可] をクリックします。
- ドロップダウンを使用して、ユーザー、グループ、またはサービス プリンシパルを選択します。
- 適切なアクセス許可レベル (
CAN USEまたはCAN MANAGE) を選択します。 - [ 追加] をクリックし、[ 保存] を クリックして変更を適用します。
組織の権限
次のいずれかのオプションを使用して、アプリの組織レベルのアクセス許可を構成します。
- アクセス権を持つユーザーのみが以下を使用できます。 アクセス許可モーダルで明示的にアクセス許可を付与されたユーザー、グループ、サービス プリンシパルのみがアプリにアクセスできます。
-
組織内のすべてのユーザーが次の機能を使用できます。 現在の Azure Databricks アカウント (
All account usersグループ) のすべてのユーザーとサービス プリンシパルは、CAN USEアクセス許可を受け取ります。CAN MANAGEアクセス許可を明示的に付与されたユーザーとサービス プリンシパルは、これらの昇格されたアクセス許可を保持します。これらのアクセス許可は個別に保存されます。
JIT プロビジョニングされたユーザーは、組織の ID プロバイダーを介して認証を行い、Azure Databricks によってアカウント ユーザーとして認識される必要があります。 ワークスペースにアクセスできない場合でも、これらのユーザー CAN USE アプリへのアクセス権を付与できます。 ただし、アクセスはワークスペース認証ポリシーによって異なります。 たとえば、PrivateLink が有効になっている場合、Azure Databricks はワークスペース レベルの認証にフォールバックする可能性があります。 この場合、Azure Databricks パブリック エンドポイント経由で接続するユーザーのアクセスはブロックされます。
Databricks アプリをパブリックにすることはできません。 匿名アクセスとシングル サインオン (SSO) のバイパスはサポートされていません。 外部コラボレーターへのアクセスを許可するには、SCIM と JIT プロビジョニングとの ID フェデレーションを使用して、完全なワークスペース アクセスを許可せずに ID プロバイダーを介してユーザーをオンボードします。
アクセス許可と承認
Databricks Apps では、 アクセス許可 と 承認を区別することが重要です。これは関連しますが、個別の概念です。
アクセス許可 はワークスペース レベルで割り当てられ、ワークスペース内でアプリを管理または使用できるユーザーを定義します。 アクセス許可は、アプリ自体へのアクセスを制御します (アプリ自体を展開、更新、実行できるユーザーなど)。 アクセス許可では、アプリまたはそのユーザーがアクセスできるデータは制御されません。
承認 とは、データとリソースへのアクセスを制御することを指し、次の 2 つのサブカテゴリがあります。
- ユーザーの承認 - ユーザーがアプリに対して認証を行うと、Azure Databricks によって ID がアプリ ランタイムに転送されます。 これにより、Unity カタログやその他のデータ アクセス ポリシーは、ユーザーの ID に基づいてアクセス許可を適用し、アプリがユーザーに代わってアクセスできるデータを制限できます。
- アプリの承認 - アプリは、必要な Azure Databricks リソースにアクセスするための独自のアクセス許可を持つサービス プリンシパルを使用して実行されます。 この承認は、アプリ自体がユーザーとは別に実行できる操作を制御します。
要約すると、アクセス許可はアプリへのワークスペース レベルのアクセスを制御します (ユーザーはアプリを使用または管理できます)。一方、承認では、ユーザー ID ベースのアクセスとアプリ サービス プリンシパルアクセスの両方を含む、データ レベルとリソースアクセスが制御されます。
詳細については、「 Databricks アプリでの承認の構成」を参照してください。
アプリの権限
ワークスペース内のすべてのユーザーは、他のサーバーレス製品と同様に Databricks Apps を作成できます。 ただし、次のエンタイトルメントは、アプリ アクセスのさまざまな側面を制御します。
- アプリのアクセスと管理: アクセス許可レベルによって制御される、アプリにアクセスして管理できるユーザー
- サービス プリンシパルのアクセス許可: アプリの専用サービス プリンシパルに割り当てられたアクセス許可
- ユーザーの同意: ユーザーがユーザーの承認に自分の ID を使用することをアプリに許可することに同意するかどうか
- ユーザーのアクセス許可: アプリにアクセスするユーザーの基になる Unity カタログとワークスペースのアクセス許可
アクセス許可のベスト プラクティス
Databricks アプリのアクセス許可を安全に管理するには、次のベスト プラクティスに従います。
- 各ユーザーのロールに必要なアクセス許可のみを付与することで、最小限の特権の原則に従います。
- ユーザーが管理機能を必要とする場合を除き、
CAN USEアクセス許可を割り当てることを優先します。 - グループまたはサービス プリンシパルを使用して、大規模なアクセス許可を効率的に管理します。