LoginSignup
0
0

More than 1 year has passed since last update.

Databricksにおけるユーザー管理

Last updated at Posted at 2021-04-08

Manage users | Databricks on AWS [2022/11/1時点]の翻訳です。

本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。

Databricksクイックスタートガイドのコンテンツです。

本書では、どのようにDatabricksユーザーの追加、更新、削除をを行うのかを説明します。

Databricksのアイデンティティモデルの概要については、Databricksにおけるアイデンティティとロールをご覧ください。

グループとサービスプリンシパルをどのように管理するのかに関しては、グループの管理サービスプリンシパルの管理をご覧ください。

ユーザー管理の概要

Databricksでユーザーを管理するには、アカウント管理者ワークスペース管理者である必要があります。

  • アカウント管理者は、アカウントにユーザーを追加し、彼らに管理者ロールを割り当てることができます。また、ワークスペースでアイデンティティフェデレーション
    を使用している場合、ワークスペースにユーザーを割り当て、ワークスペースにおけるデータアクセス権を設定することができます。

  • ワークスペース管理者は、Databricksワークスペースにユーザーを追加し、ワークスペース管理者ロールや、クラスターの作成や特定のペルソナベースの環境へのアクセス権などの能力を割り当てることができます。ワークスペースでアイデンティティフェデレーションを使用していない場合、アカウント管理者はアカウントコンソールのようなアカウントレベルのインタフェースを用いて当該ワークスペースにユーザーを割り当てることはできません。ワークスペース管理者がこのタスクを行う必要があります。

    ワークスペース管理者はワークスペースに存在する予約済みかつ削除不可のadminsグループのメンバーです。

アカウント管理者は以下のインタフェースを用いてすべてのユーザーを管理することができます:

ワークスペース管理者は以下のインタフェースを用いて自分のワークスペースのユーザーを管理することができます:

Databricksアカウントにユーザーを追加する

アカウント管理者は、アカウントコンソール、IdP向けプロビジョニングコネクター、SCIM (Account) APIを用いてDatabricksアカウントにユーザーを追加することができます。

注意
一人のユーザーは50を超えるDatabricksアカウントに属することはできません。

アカウントコンソールを用いてアカウントにユーザーを追加する

  1. アカウント管理者としてアカウントコンソールにログインします。
  2. User managementをクリックします。
  3. UsersタブでAdd Userをクリックします。
  4. ユーザーの氏名とメールアドレスを入力します。
  5. Send inviteをクリックします。

Databricksは、招待を受諾するためのURLとともに確認メールを送信します。5分以内に確認メールが届かない場合には、迷惑メールに分類されていないかユーザーに確認してください。

ユーザーにワークスペースアクセスを付与するには、ワークスペースに彼らを追加する必要があります。ワークスペースにユーザーを追加するをご覧ください。

アイデンティティプロバイダーからDatabricksアカウントにユーザーを同期する

アカウント管理者はSCIMプロビジョニングコネクターを用いて、お使いのアイデンティティプロバイダー(IdP)からDatabricksアカウントにユーザーを同期することができます。

重要!
ワークスペースに直接アイデンティティを同期するSCIMコネクターを設定しており、ワークスペースでアイデンティティフェデレーションが有効化されている場合、アカウントレベルのSCIMコネクターを有効化した際には、これらのSCIMコネクターを無効化すべきです。アイデンティティフェデレーションが有効化されていないワークスペースを使用している場合には、これらのワークスペースに設定したすべてのSCIMコネクターを使い続け、アカウントレベルのSCIMコネクターと並行運用するべきです。

手順に関しては、Databricksアカウントへのアイデンティティのプロビジョンをご覧ください。

SCIM APIを用いてアカウントにユーザーを追加する

アカウント管理者は、アカウント向けSCIM APIを用いてDatabricksアカウントのユーザーを追加、管理することができます。

また、ワークスペース管理者もこのAPIを用いてユーザーを管理することができますが、この場合異なるエンドポイントURLを用いてAPIを呼び出す必要があります:

  • アカウント管理者はaccounts.cloud.databricks.com/api/2.0/accounts/{account_id}/scim/v2/を使わなくてはいけません。
  • ワークスペース管理者は{workspace-domain}/api/2.0/account/scim/v2/を使用します。

SCIM APIを用いてユーザーを追加するには:

  1. ユーザーが既に存在しているのかどうかを特定するにはSCIM API 2.0 (Accounts)を使います。
  2. ユーザーが存在しない場合、同じAPIを用いてユーザーを作成します。
  3. Workspace Assignment APIを用いてワークスペースにユーザーを割り当てます。

ユーザーにアカウント管理者権限を割り当てる

  1. アカウント管理者としてアカウントコンソールにログインします。
  2. User managementをクリックします。
  3. ユーザーを探してユーザー名をクリックします。
  4. RolesタブでAccount adminをオンにします。

また、SCIM API 2.0 (Accounts)を用いてアカウント管理者ロールを割り当てることもできます。

Databricksアカウントからユーザーを削除する

アカウント管理者はDatabricksアカウントからユーザーを削除することができます。ワークスペース管理者はこれを行うことはできません。アカウントからユーザーを削除すると、当該ユーザーはワークスペースからも削除されます。

重要!
アカウント管理者がアカウントレベルでユーザーやサービスプリンシパルを削除すると、そのユーザーはアイデンティティフェデレーションが有効化されているかどうかに関係なくワークスペースからも削除されます。アカウントのすべてのワークスペースに対するアクセス権を剥奪したい場合を除いて、アカウントレベルのユーザーやサービスプリンシパルを削除すべきではありません。ユーザー削除による以下の影響に注意してください:

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

アカウントコンソールを用いてユーザーを削除するには、以下の手順を踏みます:

  1. アカウント管理者としてアカウントコンソールにログインします。
  2. User managementをクリックします。
  3. ユーザーを探してユーザー名をクリックします。
  4. User Informationタブで右上のケバブメニューをクリックし、Deleteを選択します。
  5. 確認ダイアログでConfirm deleteをクリックします。

アカウントコンソールを用いてユーザーを削除したら、アカウントでセットアップされているすべてのSCIMプロビジョニングコネクターやSCIM APIアプリケーションを使用しているユーザーが削除されていることを確認してください。そうしないと、SCIMプロビジョニングは次の同期でシンプルにそのユーザーを追加してしまいます。Databricksにおけるアイデンティティプロバイダーとのユーザー、グループの同期をご覧ください。

SCIM APIを用いてDatabricksアカウントからユーザーを削除するには、アカウント管理者である必要があります。DatabricksアカウントへのアイデンティティのプロビジョンSCIM API 2.0 (Accounts)をご覧ください。

ワークスペースにユーザーを追加する

アカウント管理者は、アイデンティティフェデレーションが有効化されているワークスペースに以下の方法でユーザーを追加することができます。

  • アカウントコンソール
  • Workspace Assignment API

ワークスペース管理者は以下の方法を用いて自分のワークスペースでユーザーを管理することができます。

  • ワークスペースの管理コンソール
  • Workspace Assignment API(ワークスペースでアイデンティティフェデレーションが有効化されている場合)
  • アイデンティティプロバイダー(IdP)向けプロビジョニングコネクター
  • ワークスペースレベルのSCIM API

アカウントコンソールを用いてワークスペースにユーザーを割り当てる

アカウントコンソールを用いてワークスペースにユーザーを追加するには、ワークスペースでアイデンティティフェデレーションが有効化されている必要があります。

  1. アカウント管理者としてアカウントコンソールにログインします。
  2. Workspacesをクリックします。
  3. PermissionsタブでAdd permissionsをクリックします。
  4. ユーザーを検索して選択し、アクセス権レベル(ワークスペースユーザーあるいは管理者)を割り当ててSaveをクリックします。

ワークスペースの管理コンソールを用いてワークスペースにユーザーを追加する

ワークスペース管理者はワークスペース管理コンソールを用いてユーザーを追加、管理することができます。

ワークスペース管理コンソールを用いてユーザーを追加するには以下を実施します:

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

  2. Databricksワークスペースのトップバーにあるユーザー名をクリックし、Admin Consoleを選択します。

  3. UsersタブでAdd Userをクリックします。

  4. ワークスペースに割り当てる既存ユーザーを選択するか、新規に作成します。

    新規ユーザーを作成するには、検索ボックスの下向き矢印をクリックし、+ Add new userをクリックします。

  5. Addをクリックします。

    Databricksは確認メールを送信します。5分以内に確認メールが届かない場合には、迷惑メールに分類されていないかユーザーに確認してください。

注意
ワークスペースでアイデンティティフェデレーションが有効化されていない場合、既存のアカウントユーザーをワークスペースに追加することはできません。

REST APIを用いてワークスペースにユーザーを割り当てる

ワークスペースにユーザーを割り当てる際に使用するREST APIは、以下のようにワークスペースでアイデンティティフェデレーションが有効化されているかどうかに依存します:

  • アイデンティティフェデレーションが有効化されているワークスペース: アカウント管理者はワークスペースにユーザーやその他のアイデンティティを割り当てるためにアカウントレベルのWorkspace Assignment APIを使用することができます。このタスクを行うために、アカウント管理者とワークスペース管理者はワークスペースレベルのWorkspace Assignment APIを使用することができます。Workspace Assignment (Account) APIとWorkspace Assignment (Workspace) APIリファレンスをご覧ください。
  • アイデンティティフェデレーションが有効化されていないワークスペース: 自分のワークスペースにユーザーやその他のアイデンティティを割り当てるためにワークスペースレベルのSCIM APIを使用することができます。SCIM API 2.0をご覧ください。

ワークスペースからユーザーを削除する

アカウント管理者は、アイデンティティフェデレーションが有効化されているワークスペースに以下の方法でユーザーを削除することができます。

  • アカウントコンソール
  • Workspace Assignment API

ワークスペース管理者は以下の方法を用いて自分のワークスペースでユーザーを削除することができます。

  • ワークスペースの管理コンソール
  • Workspace Assignment API(ワークスペースでアイデンティティフェデレーションが有効化されている場合)
  • アイデンティティプロバイダー(IdP)向けプロビジョニングコネクター
  • ワークスペースレベルのSCIM API

アカウントコンソールを用いてワークスペースからユーザーを削除する

アカウントコンソールを用いてワークスペースからユーザーを削除するには、ワークスペースでアイデンティティフェデレーションが有効化されている必要があります。

  1. アカウント管理者としてアカウントコンソールにログインします。
  2. Workspacesをクリックします。
  3. Permissionsタブでユーザーを特定します。
  4. ユーザーの一番右にあるケバブメニューをクリックして、Removeを選択します。
  5. 確認ダイアログでRemoveをクリックします。

ワークスペースの管理コンソールを用いてワークスペースからユーザーを削除する

  1. ワークスペース管理者としてDatabricksワークスペースにログインします。
  2. Databricksワークスペースのトップバーにあるユーザー名をクリックし、Admin Consoleを選択します。
  3. Usersタブで**ユーザーを特定し、ユーザー行の一番右にあるをクリックします。
  4. 確認してDeleteをクリックします。

REST APIを用いてワークスペースからユーザーを削除する

ワークスペースからユーザーを削除する際に使用するREST APIは、以下のようにワークスペースでアイデンティティフェデレーションが有効化されているかどうかに依存します:

  • アイデンティティフェデレーションが有効化されているワークスペース: アカウント管理者はワークスペースからユーザーを削除するためにアカウントレベルのWorkspace Assignment APIを使用することができます。このタスクを行うために、アカウント管理者とワークスペース管理者はワークスペースレベルのWorkspace Assignment APIを使用することができます。Workspace Assignment (Account) APIとWorkspace Assignment (Workspace) APIリファレンスをご覧ください。
  • アイデンティティフェデレーションが有効化されていないワークスペース: 自分のワークスペースからユーザーを削除するためにワークスペースレベルのSCIM APIを使用することができます。SCIM API 2.0をご覧ください。

ユーザーにワークスペース管理者ロールを割り当てる

アカウントコンソール、ワークスペースの管理コンソール、REST API、IdPのプロビジョニングコネクターを用いてワークスペース管理者ロールを割り当てることができます。

アカウントコンソールを用いてユーザーにワークスペース管理者ロールを割り当てる

  1. アカウント管理者としてアカウントコンソールにログインします。
  2. Workspacesをクリックします。
  3. Permissionsタブでユーザーを特定します。
  4. ユーザーの一番右にあるケバブメニューをクリックして、Editを選択します。
  5. RoleAdminを選択します。
  6. Saveをクリックします。

ワークスペースユーザーから管理者ロールを削除するには、同じステップを実行してRoleUserを選択します。

ワークスペースの管理コンソールを用いてユーザーにワークスペース管理者ロールを割り当てる

  1. ワークスペース管理者としてDatabricksワークスペースにログインします。
  2. Databricksワークスペースのトップバーにあるユーザー名をクリックし、Admin Consoleを選択します。
  3. Usersタブでユーザーを特定し、Adminチェックボックスを選択します。

ワークスペースユーザーから管理者ロールを削除するには、同じステップを実行してAdminを解除します。

REST APIを用いてユーザーにワークスペース管理者ロールを割り当てる

ワークスペース管理者ロールを割り当てる際に使用するREST APIは、以下のようにワークスペースでアイデンティティフェデレーションが有効化されているかどうかに依存します:

  • アイデンティティフェデレーションが有効化されているワークスペース: アカウント管理者はワークスペース管理者ロールを割り当て、解除するためにアカウントレベルのWorkspace Assignment APIを使用することができます。このタスクを行うために、アカウント管理者とワークスペース管理者はワークスペースレベルのWorkspace Assignment APIを使用することができます。Workspace Assignment (Account) APIとWorkspace Assignment (Workspace) APIリファレンスをご覧ください。
  • アイデンティティフェデレーションが有効化されていないワークスペース: 自分のワークスペースの管理者グループへの追加、削除をするためにワークスペースレベルのSCIM APIを使用することができます。SCIM API 2.0をご覧ください。

SCIMプロビジョニングコネクターを用いてユーザーにワークスペース管理者ロールを割り当てる

ワークスペース管理者はDatabricksのadminsグループのメンバーなので、IdPからのSCIMプロビジョニングコネクターを用いて、ほかのグループをプロビジョニングするのと同じように、ワークスペース管理者ロールを管理することができます。Databricksのadminsグループに同期されるIdPグループのすべてのグループメンバーは、ワークスペース管理者としてDatabricksにプロビジョニングされます。

Databricksにおけるアイデンティティプロバイダーとのユーザー、グループの同期をご覧ください。

ワークスペースユーザーに資格情報を割り当てる

資格情報の割り当て

資格情報(entitlement)とはユーザー、サービスプリンシパル、グループがDatabricksと特定の方法でインタラクションできるようにするプロパティです。資格情報はワークスペースレベルでユーザーに割り当てられます。以下の表では、資格情報とそれらを管理するために使用するワークスペースUI名とAPIのプロパティ名を一覧しています。資格情報を管理するために、ワークスペースの管理コンソールやワークスペースレベルのSCIM REST APIを使用することができます。

資格情報名(UI) 資格情報名(API) デフォルト 説明
Workspace access workspace-access デフォルトで生成 ユーザーやサービスプリンシパルに割り当てると、彼らはData Science & EngineeringやDatabricks Machine Learningのペルソナベースの環境にアクセスできるようになります。

ワークスペース管理者から削除することはできません。
Databricks SQL access databricks-sql-access デフォルトで生成 ユーザーやサービスプリンシパルに割り当てると、彼らはDatabricks SQLにアクセスできるようになります。
Allow unrestricted cluster creation allow-cluster-create デフォルトではユーザーやサービスプリンシパルには許可されません ユーザーやサービスプリンシパルに割り当てると、彼らはクラスターを作成できるようになります。クラスターレベルのアクセス権を用いて既存のクラスターへのアクセスを制限することができます。

ワークスペース管理者から削除することはできません。
Allow pool creation (UIでは利用不可) allow-instance-pool-create 個々のユーザー、サービスプリンシパルに割り当てることはできません グループに割り当てられると、メンバーはインスタンスプールを作成できるようになります。

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

新規ユーザーはデフォルトでWorkspace accessDatabricks SQL accessの資格情報を有しています。

重要!
Databricksにログインするには、ユーザーはDatabricks SQL accessWorkspace access(あるいは両方)の資格情報を有している必要があります。

Workspace access資格情報は、ユーザーに対してData Science & Engineering workspaceやDatabricks Machine Learningへのアクセス権を提供します。ユーザーはこの資格情報を有するusersグループのメンバーとしてこの資格情報を継承します。ユーザーごとにこの資格情報を割り当てるには、ワークスペース管理者はusersグループからこの資格情報を削除し、Usersタブでユーザー個別にこの資格情報を割り当てます。

Databricks SQLアクセス資格情報に関しては、Manage users and groupsをご覧ください。

クラスターのアクセスコントロールが有効化されており、Allow unrestricted cluster creationを選択していない場合、ユーザーはクラスター作成権限なしに追加されます。

以前ワークスペースに存在していたユーザーを再アクティベートした際、以前のユーザーの資格情報はレストアされます。

ワークスペース管理コンソールを用いて資格情報の追加、削除を行う

ワークスペース管理者として以下を実施します:

  1. Databricksワークスペースのトップバーにあるユーザー名をクリックし、Admin Consoleを選択します。
  2. ユーザーの行に移動します。
  3. 資格情報を追加するには、対応するカラムのチェックボックスを選択します。
  4. 資格情報を削除するには、対応するカラムのチェックボックスを解除します。

注意
Adminは資格情報ではありません。Adminチェックボックスはadminsグループにユーザーを追加する簡便な手段となります。

資格情報を明示的に追加するために、対応するチェックボックスを選択することができます。資格情報がグループから継承される際、資格情報のチェックボックスが選択されていますがグレーアウトされています。継承した資格情報を削除するには、資格情報を持つグループからユーザーを削除するか、グループから資格情報を削除します。

allow-instance-pool-create視覚情報はユーザーに対して直接許可することはできません。代わりに、グループに資格情報を許可し、グループにユーザーを追加します。

add or remove an entitlement for a groupをご覧ください。

SCIM REST APIを用いて資格情報の追加、削除を行う

ワークスペースレベルのSCIM (Users) REST APIを用いてユーザーを作成、アップデートする際(PATCHかPUT経由)に資格情報を追加することができます。例えば、このAPI呼び出しは、特定ユーザーに対してallow-cluster-create資格情報を追加します。

Bash
curl --netrc -X PATCH \
https://<databricks-instance>/api/2.0/preview/scim/v2/Users/<user-id> \
--header 'Content-type: application/scim+json' \
--data @update-user.json \
| jq .

update-user.json:

JSON
{
  "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ],
  "Operations": [
    {
      "op": "add",
      "path": "entitlements",
      "value": [
        {
          "value": "allow-cluster-create"
        }
      ]
    }
  ]
}

詳細に関しては、workspace-level SCIM (Users) REST API referenceをご覧ください。

Databricks 無料トライアル

Databricks 無料トライアル

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0