グループの管理

この記事では、管理者が Azure Databricks グループを作成して管理する方法について説明します。 Azure Databricks ID モデルの概要については、「Azure Databricks の ID」を参照してください。

グループ管理の概要

グループを使用すると、ワークスペースやデータなどのセキュリティ保護可能なオブジェクトへのアクセスを簡単に割り当てることができるようになり、ID 管理が簡素化されます。 すべての Databricks ID は、グループのメンバーとして割り当てることができます。

アカウント グループとワークスペース ローカル グループの違い

Azure Databricks には "アカウント グループ" と従来の "ワークスペースローカル グループ" の概念があります。

  • アカウント グループには、Unity Catalog メタストア内のデータへのアクセス権、サービス プリンシパルとグループ上のロール、ID フェデレーション ワークスペースへのアクセス許可を付与できます。
  • ワークスペース ローカル グループはレガシ グループです。 これらのグループは、ワークスペース管理者設定ページで "ワークスペース ローカル" として識別されます。 Unity Catalog メタストア内で、ワークスペース ローカル グループを追加のワークスペースに割り当てたり、データへのアクセスをこれらのグループに許可したりすることはできません。 ワークスペース ローカル グループには、アカウント レベルのロールを付与できません。 ワークスペースローカル グループの詳細については、「ワークスペースローカル グループを管理する (レガシ)」をご覧ください。

各ワークスペースには、usersadmins の 2 つのシステム グループがあります。 すべてのワークスペース ユーザーは users グループのメンバーであり、すべてのワークスペース管理者は admins グループのメンバーです。 システム グループは、ワークスペースのローカル グループです。 システム グループを削除することはできません。

Databricks では、ワークスペースローカル グループをアカウント グループに変更して、Unity Catalog を使用した一元化されたワークスペースの割り当てとデータ アクセス管理を利用することが推奨されています。 「ワークスペース ローカル グループをアカウント グループに移行する」を参照してください。

Note

Azure 内のワークスペース リソースの組み込みの共同作成者ロールまたは所有者ロールを持つユーザーは、ワークスペースの admins グループに自動的に割り当てられます。 詳しくは、「サブスクリプションを管理する」をご覧ください。

アカウント グループを管理できるユーザー

Azure Databricks でアカウント グループを作成するには、アカウント管理者またはワークスペース管理者である必要があります。ワークスペース管理者の場合、アカウト グループを作成するには ID フェデレーション ワークスペースに存在する必要があります。

Azure Databricks でアカウント グループを管理するには、グループに対するグループ マネージャー ロール (パブリック プレビュー) が必要です。 グループ マネージャーは、グループ メンバーシップを管理し、グループを削除できます。 また、他のユーザーにグループ マネージャー ロールを割り当てることもできます。 アカウント管理者はアカウント コンソールを利用してグループ ロールを管理できます。ワークスペース管理者はワークスペース管理者設定ページを利用してグループ ロールを管理できます。 ワークスペース管理者ではないグループ マネージャーは、アカウント アクセス制御 API を使用して、グループ ロールを管理できます。

アカウント管理者はアカウントレベルでグループ マネージャー ロールを持っています。つまり、アカウント内のすべてのグループに対してグループ マネージャー ロールが割り当てられます。 ワークスペース管理者は、自分が作成するアカウント グループに対するグループ マネージャー ロールを持っています。

ワークスペース管理者は、ワークスペース ローカル グループを作成して管理することもできます。

Microsoft Entra ID (旧称 Azure Active Directory) テナントから Azure Databricks アカウントにグループを同期する

SCIM プロビジョニング コネクタを使用して、Microsoft Entra ID (旧称 Azure Active Directory) テナントのグループを Azure Databricks アカウントに同期できます。 手順については、「Microsoft Entra ID を使用した Azure Databricks への ID のプロビジョニング」をご覧ください。

重要

ID をワークスペースに直接同期する SCIM コネクタがあり、それらのワークスペースで ID フェデレーションが有効になっている場合、アカウント レベルの SCIM コネクタが有効になっているときには、これらの SCIM コネクタを無効にすることをお勧めします。 ID フェデレーションを使用していないワークスペースがある場合は、アカウント レベルの SCIM コネクタと同時に実行されている、それらのワークスペース用に構成した SCIM コネクタを引き続き使用する必要があります。

アカウント コンソールを使用してアカウント グループを管理する

アカウント管理者は、アカウント コンソールを使用して、Azure Databricks アカウントでグループを追加したり管理したりできます。 ワークスペース管理者とグループ マネージャーは、ワークスペース設定ページと Databricks API を使用してグループを管理できます。 「ワークスペース管理者設定ページを使用してアカウント グループを管理する」および「API を使用してアカウント グループを管理する」を参照してください。

アカウント コンソールを使用してアカウントにグループを追加する

アカウント コンソールを使用してアカウントにグループを追加するには、以下の操作を行います。

  1. アカウント管理者として、アカウント コンソールにログインします。
  2. サイドバーで、[ユーザー管理] をクリックします。
  3. [グループ] タブで、[グループの追加] をクリックします。
  4. グループの名前を入力します。
  5. [Confirm](確認) をクリックします。
  6. ダイアログが表示されたら、グループにユーザー、サービス プリンシパル、グループを追加します。

アカウント コンソールを使用してグループにメンバーを追加する

アカウント コンソールを使用してグループにユーザー、サービス プリンシパル、グループを追加するには、次の操作を実行します。

  1. アカウント管理者として、アカウント コンソールにログインします。
  2. サイドバーで、[ユーザー管理] をクリックします。
  3. [グループ] タブで、更新しようとしているグループを選択します。
  4. [メンバーの追加] をクリックします。
  5. 追加しようとしているユーザー、グループ、またはサービス プリンシパルを検索して選択します。
  6. [追加] をクリックします。

Note

アカウントからグループを更新してから、ワークスペース内でグループが更新されるまでには数分の遅延があります。

アカウント コンソールを使用してグループのロールを管理する

重要

この機能はパブリック プレビュー段階にあります。

アカウント管理者は、アカウント コンソールでアカウント グループにロールを付与できます。

  1. アカウント管理者として、アカウント コンソールにログインします。
  2. サイドバーで、[ユーザー管理] をクリックします。
  3. [グループ] タブで、グループ名を見つけてクリックします。
  4. [Permissions] タブをクリックします。
  5. [アクセス権の付与] をクリックします。
  6. ユーザー、サービス プリンシパル、またはグループを検索して選択し、グループ マネージャー ロールを選択します。
  7. [保存] をクリックします。

グループの名前を変更する

アカウント管理者は、アカウント コンソールを使用して、アカウント グループの名前を更新できます:

  1. アカウント管理者として、アカウント コンソールにログインします。
  2. サイドバーで、[ユーザー管理] をクリックします。
  3. [グループ] タブで、更新しようとしているグループを選択します。
  4. [グループ情報] をクリックします。
  5. [名前] で、名前を更新します。
  6. [保存] をクリックします。

グループ マネージャーは、アカウント コンソールを使用してグループの名前を変更できません。 代わりに、 アカウント グループ API を使用してください。 次に例を示します。

curl --netrc -X PATCH \
https://${DATABRICKS_HOST}/api/2.0/accounts/{account_id}/scim/v2/Groups/{id} \
--header 'Content-type: application/scim+json' \
--data @update-group.json \
| jq .

update-group.json:

{
  "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ],
  "Operations": [
    {
      {
          "op": "replace",
          "path": "displayName",
          "value": "<updated-name>"
      }
    }
  ]
}

Account Groups API に対する認証を行う方法については、「Azure Databricks 自動化の認証 - 概要」を参照してください。

アカウント コンソールを使用してグループをワークスペースに割り当てる

アカウント コンソールを使用してワークスペースにグループを追加するには、ワークスペースで ID フェデレーションが有効でなければなりません。 ワークスペースに割り当て可能なのは、アカウント グループのみです。

  1. アカウント管理者として、アカウント コンソールにログインします。
  2. サイドバーで、[ワークスペース] をクリックします。
  3. ワークスペース名をクリックします。
  4. [Permissions](アクセス許可) タブで [Add permissions](アクセス許可の追加) をクリックします。
  5. グループを検索して選択し、アクセス許可レベル (ワークスペース ユーザー、または管理) を割り当ててから、[保存] をクリックします。

アカウント コンソールを使用してグループをワークスペースから削除する

アカウント コンソールを使ってワークスペースからグループを削除するには、ワークスペースが ID フェデレーションに対して有効にされている必要があります。 アカウント コンソールを使ってワークスペースから削除できるのは、アカウント グループだけです。

アカウント グループがワークスペースから削除されると、グループのメンバーはワークスペースにアクセスできなくなりますが、グループに対するアクセス許可は維持されます。 後でそのグループがワークスペースに再び追加されると、グループには以前のアクセス許可が再び付与されます。

  1. アカウント管理者として、アカウント コンソールにログインします。
  2. サイドバーで、[ワークスペース] をクリックします。
  3. ワークスペース名をクリックします。
  4. [アクセス許可] タブで、グループを見つけます。
  5. グループの行の右端にある Kebab menu ケバブ メニューをクリックして、[削除] を選びます。
  6. 確認のダイアログ ボックスで [削除] をクリックします。

グループにアカウント管理者ロールを割り当てる

アカウント コンソールを使用してアカウント管理者ロールまたはマーケットプレイス管理者ロールをグループに割り当てることはできませんが、アカウント グループ API を使用してグループに割り当てることはできます。 次に例を示します。

curl --netrc -X PATCH \
https://${DATABRICKS_HOST}/api/2.0/accounts/{account_id}/scim/v2/Groups/{id} \
--header 'Content-type: application/scim+json' \
--data @update-group.json \
| jq .

update-group.json:

{
  "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ],
  "Operations": [
    {
      "op": "add",
      "path": "roles",
      "value": [
        {
          "value": "account_admin"
        }
      ]
    }
  ]
}

Account Groups API に対する認証を行う方法については、「Azure Databricks 自動化の認証 - 概要」を参照してください。

Azure Databricks アカウントからグループを削除する

アカウント管理者は、Azure Databricks アカウントからグループを削除できます。 グループ マネージャーは、Account Groups API を使用して、アカウントからグループを削除することもできます。「API を使用してアカウント グループを管理する」をご覧ください。

重要

グループを削除すると、そのグループ内のすべてのユーザーがアカウントから削除され、それらのユーザーが持っていたワークスペースへのアクセス権が失われます (ただし、それらのユーザーが別のグループのメンバーである場合や、それらのユーザーに対してアカウントまたはいずれかのワークスペースへのアクセスが直接許可されている場合は除きます)。 Databricks では、アカウントレベルのグループの削除は、アカウント内のすべてのワークスペースへのアクセスを禁止することを望む場合を除き、行わないことをお勧めします。 ユーザーを削除した場合の次の結果に注意してください。

  • ユーザーが生成したトークンを使用するアプリケーションまたはスクリプトは、Databricks API にアクセスできなくなる
  • ユーザーが所有するジョブは失敗する
  • ユーザーが所有するクラスターは停止する
  • ユーザーによって作成され、"所有者として実行" 資格情報を使用して共有されるクエリまたはダッシュボードは、共有が失敗しないように、新しい所有者に割り当てる必要がある

アカウント コンソールを使用してグループを削除するには、以下の操作を行います。

  1. アカウント管理者として、アカウント コンソールにログインします。
  2. サイドバーで、[ユーザー管理] をクリックします。
  3. [グループ] タブで、削除しようとしているグループを見つけます。
  4. ユーザー行の右端にある Kebab menu kebab メニューをクリックし、[削除] を選択します。
  5. 確認ダイアログ ボックスで、[削除の確認] をクリックします。

アカウント コンソールを使用してグループを削除する場合、そのアカウントに設定されている SCIM プロビジョニング コネクタまたは SCIM API アプリケーションを使用してそのグループを削除する必要もあります。 そうしないと、SCIM プロビジョニングによって、次回の同期時にグループとそのメンバーが再び追加されてしまいます。 「Microsoft Entra ID からユーザーとグループを同期する」を参照してください。

API を使用して Azure Databricks アカウントからグループを削除するには、「Azure Databricks アカウントに ID をプロビジョニングする」と Account Groups API に関するページを参照してください。

ワークスペース管理者設定ページを使用してアカウント グループを管理する

ワークスペース管理者は、ワークスペース管理者設定ページを使用して、ID フェデレーション ワークスペースにアカウント グループを作成して管理できます。

Note

ワークスペースからアカウント グループを更新してから、アカウント内でグループが更新されるまでには数分の遅延があります。

ワークスペースでワークスペースローカル グループを作成する方法の詳細については、「ワークスペースローカル グループを管理する (レガシ)」をご覧ください。

ワークスペース管理者設定ページを使用してワークスペースにグループを作成または割り当てる

ワークスペース管理者設定ページを使用して、ワークスペースにアカウント グループを割り当てまたは作成するには、次の操作を実行します。

  1. ワークスペース管理者として、Azure Databricks ワークスペースにログインします。

  2. Azure Databricks ワークスペースの上部バーでユーザー名をクリックし、[管理者設定] を選択します。

  3. [ID およびアクセス管理] タブをクリックします。

  4. [グループ] の横にある [管理] をクリックします。

  5. [グループの追加] をクリックします。

  6. 既存のグループを選んでワークスペースに割り当てるか、[新規追加] をクリックして新しいアカウント グループを作成します。

    Note

    ワークスペースで ID フェデレーションが有効になっていない場合、ワークスペースに既存のアカウント グループを割り当てたり、アカウント グループの追加や作成を行ったりすることはできません。 代わりに、ワークスペースローカル グループを使用する必要があります。「ワークスペースローカル グループを管理する (レガシ)」をご覧ください。

ワークスペース管理者設定ページを使用してグループにメンバーを追加する

ワークスペース管理者設定ページを使用して、ユーザー、サービス プリンシパル、グループをアカウント グループに追加するには、ワークスペース管理者である必要があります。 管理できるのは、グループ マネージャー ロールを持つグループのメンバーのみです。

Note

子グループを admins グループに追加することはできません。 ワークスペースのローカル グループやシステム グループをアカウント グループのメンバーとして追加することはできません。

ワークスペース管理者ではないグループ マネージャーは、Account Groups API を使用してグループ メンバーシップを管理する必要があります。

  1. ワークスペース管理者として、Azure Databricks ワークスペースにログインします。
  2. Azure Databricks ワークスペースの上部バーでユーザー名をクリックし、[管理者設定] を選択します。
  3. [ID およびアクセス管理] タブをクリックします。
  4. [グループ] の横にある [管理] をクリックします。
  5. 更新するグループを選択します。 更新するには、グループに対するグループ マネージャー ロールが必要です。
  6. [メンバー] タブで [メンバーの追加] をクリックします。
  7. ダイアログで、追加しようとしているユーザー、サービス プリンシパル、グループを参照または検索して選択します。
  8. [Confirm](確認) をクリックします。

ワークスペース管理者設定ページを使用してアカウント グループに対するロールを管理する

重要

この機能はパブリック プレビュー段階にあります。

グループ マネージャー ロールは、ユーザー、アカウント グループ、サービス プリンシパルに割り当てることができます。 グループ マネージャーは、グループ メンバーシップを管理できます。 また、グループ マネージャー ロールを他のユーザーに割り当てることもできます。

ワークスペース管理者設定ページを使用してグループ ロールを管理するには、ワークスペース管理者である必要があります。 ワークスペース管理者ではないグループ マネージャーは、Account Access Control API を使用して、グループ ロールを管理できます。

  1. ワークスペース管理者として、Azure Databricks ワークスペースにログインします。

  2. Azure Databricks ワークスペースの上部バーでユーザー名をクリックし、[管理者設定] を選択します。

  3. [ID およびアクセス管理] タブをクリックします。

  4. [グループ] の横にある [管理] をクリックします。

  5. 更新するグループを選択します。 更新するには、グループに対するグループ マネージャー ロールが必要です。

  6. [Permissions] タブをクリックします。

  7. [アクセス権の付与] をクリックします。

  8. ユーザー、サービス プリンシパル、またはグループを検索して選択し、グループ マネージャー ロールを選択します。

    Note

    アカウント グループに対してワークスペースのローカル グループやシステム グループのロールを割り当てることはできません。

  9. [保存] をクリックします。

グループにエンタイトルメントを割り当てる

エンタイトルメントとは、ユーザー、サービス プリンシパル、またはグループが、指定した方法で Azure Databricks と対話できるようにするプロパティです。 エンタイトルメントは、ワークスペース レベルでユーザーに割り当てられます。 次の表に、エンタイトルメントと、その各々を管理するために使用するワークスペース UI および API プロパティ名をリストします。 ワークスペースの管理者設定ページとワークスペース レベルの SCIM REST API を使用して、エンタイトルメントを管理できます。

エンタイトルメントの名前 エンタイトルメントの API 名 既定値 説明
ワークスペース アクセス workspace-access 既定で付与されます。 これを許可されたユーザーまたはサービス プリンシパルは、Data Science & Engineering および Databricks Machine Learning のペルソナベースの環境にアクセスすることができます。

ワークスペース管理者から削除することはできません。
Databricks SQL アクセス databricks-sql-access 既定で付与されます。 付与されたユーザーまたはサービス プリンシパルは、Databricks SQL にアクセスできます。
無制限のクラスターの作成を許可する allow-cluster-create 既定では、ユーザーまたはサービス プリンシパルには付与されません。 付与されたユーザーまたはサービス プリンシパルは、無制限のクラスターを作成できます。 クラスターレベルのアクセス許可を使用して、既存のクラスターへのアクセスを制限することができます。

ワークスペース管理者から削除することはできません。
プールの作成を許可する (UI では不可) allow-instance-pool-create 個々のユーザーまたはサービス プリンシパルに付与することはできません。 グループに付与されると、そのメンバーはインスタンス プールを作成できます。

ワークスペース管理者から削除することはできません。

users グループには 、既定でワークスペース アクセスDatabricks SQL アクセス エンタイトルメントが付与されます。 すべてのワークスペース ユーザーとサービス プリンシパルは、users グループのメンバーです。 これらのエンタイトルメントをユーザーごとに割り当てるには、ワークスペース管理者が users グループからこのエンタイトルメントを削除し、ユーザー、サービスプリンシパル、グループに個別に割り当てる必要があります。

重要

Azure Databricks ワークスペースにログインしてアクセスするには、ユーザーが Databricks SQL アクセスまたはワークスペース アクセスのエンタイトルメントを持っている必要があります。

管理者設定ページを使用して allow-instance-pool-create のエンタイトルメントを付与することはできません。 代わりに、ワークスペース ユーザー、サービス プリンシパル、または Groups API を使用します。

ワークスペース管理者設定ページを使用してグループのエンタイトルメントを追加または削除する

グループがアカウントで作成されたか、ワークスペース ローカルであるかに関係なく、グループ エンタイトルメントはワークスペース レベルで管理します。

  1. ワークスペース管理者として、Azure Databricks ワークスペースにログインします。
  2. Azure Databricks ワークスペースの上部バーでユーザー名をクリックし、[管理者設定] を選択します。
  3. [ID およびアクセス管理] タブをクリックします。
  4. [グループ] の横にある [管理] をクリックします。
  5. 更新するグループを選択します。 更新するには、グループに対するグループ マネージャー ロールが必要です。
  6. [資格] タブで、グループ内のすべてのユーザーに付与するエンタイトルメントを選択します。

エンタイトルメントを削除するには、同じ手順を実行しますが、代わりに切り替えをオフにします。 グループ メンバーは、個々のユーザーまたは別のグループ メンバーシップを通じてアクセス許可が付与されていない限り、エンタイトルメントを失います。

親グループの表示

  1. ワークスペース管理者として、Azure Databricks ワークスペースにログインします。
  2. Azure Databricks ワークスペースの上部バーでユーザー名をクリックし、[管理者設定] を選択します。
  3. [ID およびアクセス管理] タブをクリックします。
  4. [グループ] の横にある [管理] をクリックします。
  5. 表示するグループを選びます。
  6. [親グループ] タブで、グループの親グループを表示します。

ワークスペースで [管理者設定] ページを使用して、ワークスペースからグループを削除する

ワークスペースからグループを削除しても、アカウント内のグループは削除されません。 グループがワークスペースから削除されると、グループのメンバーはワークスペースにアクセスできなくなりますが、グループに対するアクセス許可は維持されます。 後でそのグループがワークスペースに再び追加されると、グループには以前のアクセス許可が再び付与されます。

  1. ワークスペース管理者として、Azure Databricks ワークスペースにログインします。
  2. Azure Databricks ワークスペースの上部バーでユーザー名をクリックし、[管理者設定] を選択します。
  3. [ID およびアクセス管理] タブをクリックします。
  4. [グループ] の横にある [管理] をクリックします。
  5. グループを選んで、[x 削除] をクリックします
  6. [削除] をクリックして確定します。

API を使用してアカウント グループを管理する

アカウント管理者、ワークスペース管理者、グループ マネージャーは、Account Groups API を使用して、Azure Databricks アカウントでグループの追加、削除、管理を行うことができます。 アカウント管理者、ワークスペース管理者、グループ マネージャーは、別のエンドポイント URL を使用して API を呼び出す必要があります。

  • アカウント管理者は {account-domain}/api/2.0/accounts/{account_id}/scim/v2/ を使用します。
  • ワークスペース管理者とグループ マネージャーは {workspace-domain}/api/2.0/account/scim/v2/ を使用します。

詳細については、アカウント グループ API に関するページを参照してください。

API を使用してワークスペースにグループを割り当てる

アカウント管理者とワークスペース管理者は、ワークスペース割り当て API を使用して、ID フェデレーションが有効なワークスペースにグループを割り当てることができます。 Workspace Assignment API は、Azure Databricks のアカウントとワークスペースでサポートされています。

  • アカウント管理者は {account-domain}/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/permissionassignments を使用します。
  • ワークスペース管理者は {workspace-domain}/api/2.0/preview/permissionassignments/principals/{group_id} を使用します。

ワークスペース割り当て API」を参照してください。

API を使用してグループに対するロールを管理する

重要

この機能はパブリック プレビュー段階にあります。

グループ マネージャーは、アカウント アクセス制御 API を使用してグループ ロールを管理できます。 アカウント管理者、ワークスペース管理者、グループ マネージャーは、別のエンドポイント URL を使用して API を呼び出す必要があります。

  • アカウント管理者は {account-domain}/api/2.0/preview/accounts/{account_id}/access-control/assignable-roles を使用します。
  • ワークスペース管理者とグループ マネージャーは {workspace-domain}/api/2.0/preview/accounts/access-control/assignable-roles を使用します。

Account Access Control API」と「Accounts Access Control Workspace Proxy API」をご覧ください。