Manage users | Databricks on AWS [2022/11/1時点]の翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
Databricksクイックスタートガイドのコンテンツです。
本書では、どのようにDatabricksユーザーの追加、更新、削除をを行うのかを説明します。
Databricksのアイデンティティモデルの概要については、Databricksにおけるアイデンティティとロールをご覧ください。
グループとサービスプリンシパルをどのように管理するのかに関しては、グループの管理とサービスプリンシパルの管理をご覧ください。
ユーザー管理の概要
Databricksでユーザーを管理するには、アカウント管理者かワークスペース管理者である必要があります。
-
アカウント管理者は、アカウントにユーザーを追加し、彼らに管理者ロールを割り当てることができます。また、ワークスペースでアイデンティティフェデレーション
を使用している場合、ワークスペースにユーザーを割り当て、ワークスペースにおけるデータアクセス権を設定することができます。 -
ワークスペース管理者は、Databricksワークスペースにユーザーを追加し、ワークスペース管理者ロールや、クラスターの作成や特定のペルソナベースの環境へのアクセス権などの能力を割り当てることができます。ワークスペースでアイデンティティフェデレーションを使用していない場合、アカウント管理者はアカウントコンソールのようなアカウントレベルのインタフェースを用いて当該ワークスペースにユーザーを割り当てることはできません。ワークスペース管理者がこのタスクを行う必要があります。
ワークスペース管理者はワークスペースに存在する予約済みかつ削除不可の
admins
グループのメンバーです。
アカウント管理者は以下のインタフェースを用いてすべてのユーザーを管理することができます:
- アカウントコンソール
- (OktaやAzure Active Directoryなど)アイデンティティプロバイダー(IdP)向けプロビジョニングコネクター
- SCIM (Account) API
- Workspace Assignment API
ワークスペース管理者は以下のインタフェースを用いて自分のワークスペースのユーザーを管理することができます:
- ワークスペースの管理コンソール
- SCIM (Users) REST API
- (OktaやAzure Active Directoryなど)アイデンティティプロバイダー(IdP)向けプロビジョニングコネクター
-
SCIM (Account) API (
{workspace-domain}/api/2.0/account/scim/v2/
を呼び出します) - Workspace Assignment API
Databricksアカウントにユーザーを追加する
アカウント管理者は、アカウントコンソール、IdP向けプロビジョニングコネクター、SCIM (Account) APIを用いてDatabricksアカウントにユーザーを追加することができます。
注意
一人のユーザーは50を超えるDatabricksアカウントに属することはできません。
アカウントコンソールを用いてアカウントにユーザーを追加する
- アカウント管理者としてアカウントコンソールにログインします。
- User managementをクリックします。
- UsersタブでAdd Userをクリックします。
- ユーザーの氏名とメールアドレスを入力します。
- 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を用いてユーザーを追加するには:
- ユーザーが既に存在しているのかどうかを特定するにはSCIM API 2.0 (Accounts)を使います。
- ユーザーが存在しない場合、同じAPIを用いてユーザーを作成します。
- Workspace Assignment APIを用いてワークスペースにユーザーを割り当てます。
ユーザーにアカウント管理者権限を割り当てる
- アカウント管理者としてアカウントコンソールにログインします。
- User managementをクリックします。
- ユーザーを探してユーザー名をクリックします。
- RolesタブでAccount adminをオンにします。
また、SCIM API 2.0 (Accounts)を用いてアカウント管理者ロールを割り当てることもできます。
Databricksアカウントからユーザーを削除する
アカウント管理者はDatabricksアカウントからユーザーを削除することができます。ワークスペース管理者はこれを行うことはできません。アカウントからユーザーを削除すると、当該ユーザーはワークスペースからも削除されます。
重要!
アカウント管理者がアカウントレベルでユーザーやサービスプリンシパルを削除すると、そのユーザーはアイデンティティフェデレーションが有効化されているかどうかに関係なくワークスペースからも削除されます。アカウントのすべてのワークスペースに対するアクセス権を剥奪したい場合を除いて、アカウントレベルのユーザーやサービスプリンシパルを削除すべきではありません。ユーザー削除による以下の影響に注意してください:
- 当該ユーザーによって生成されたトークンを使用しているアプリケーションやスクリプトはDatabricks APIにアクセスできなくなります。
- 当該ユーザーによって所有されているジョブは失敗します。
- 当該ユーザーによって所有されているクラスターは停止します。
- 当該ユーザーによって作成され
Run as Owner
資格情報で共有されているクエリーやダッシュボードは、共有が失敗しないように新たなオーナーに割り当てる必要があります。
アカウントコンソールを用いてユーザーを削除するには、以下の手順を踏みます:
- アカウント管理者としてアカウントコンソールにログインします。
- User managementをクリックします。
- ユーザーを探してユーザー名をクリックします。
- User Informationタブで右上のケバブメニューをクリックし、Deleteを選択します。
- 確認ダイアログで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
アカウントコンソールを用いてワークスペースにユーザーを割り当てる
アカウントコンソールを用いてワークスペースにユーザーを追加するには、ワークスペースでアイデンティティフェデレーションが有効化されている必要があります。
- アカウント管理者としてアカウントコンソールにログインします。
- Workspacesをクリックします。
- PermissionsタブでAdd permissionsをクリックします。
- ユーザーを検索して選択し、アクセス権レベル(ワークスペースユーザーあるいは管理者)を割り当ててSaveをクリックします。
ワークスペースの管理コンソールを用いてワークスペースにユーザーを追加する
ワークスペース管理者はワークスペース管理コンソールを用いてユーザーを追加、管理することができます。
ワークスペース管理コンソールを用いてユーザーを追加するには以下を実施します:
-
ワークスペース管理者としてDatabricksワークスペースにログインします。
-
Databricksワークスペースのトップバーにあるユーザー名をクリックし、Admin Consoleを選択します。
-
UsersタブでAdd Userをクリックします。
-
ワークスペースに割り当てる既存ユーザーを選択するか、新規に作成します。
新規ユーザーを作成するには、検索ボックスの下向き矢印をクリックし、+ Add new userをクリックします。 -
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
アカウントコンソールを用いてワークスペースからユーザーを削除する
アカウントコンソールを用いてワークスペースからユーザーを削除するには、ワークスペースでアイデンティティフェデレーションが有効化されている必要があります。
- アカウント管理者としてアカウントコンソールにログインします。
- Workspacesをクリックします。
- Permissionsタブでユーザーを特定します。
- ユーザーの一番右にあるケバブメニューをクリックして、Removeを選択します。
- 確認ダイアログでRemoveをクリックします。
ワークスペースの管理コンソールを用いてワークスペースからユーザーを削除する
- ワークスペース管理者としてDatabricksワークスペースにログインします。
- Databricksワークスペースのトップバーにあるユーザー名をクリックし、Admin Consoleを選択します。
- Usersタブで**ユーザーを特定し、ユーザー行の一番右にあるをクリックします。
- 確認して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のプロビジョニングコネクターを用いてワークスペース管理者ロールを割り当てることができます。
アカウントコンソールを用いてユーザーにワークスペース管理者ロールを割り当てる
- アカウント管理者としてアカウントコンソールにログインします。
- Workspacesをクリックします。
- Permissionsタブでユーザーを特定します。
- ユーザーの一番右にあるケバブメニューをクリックして、Editを選択します。
- RoleでAdminを選択します。
- Saveをクリックします。
ワークスペースユーザーから管理者ロールを削除するには、同じステップを実行してRoleでUserを選択します。
ワークスペースの管理コンソールを用いてユーザーにワークスペース管理者ロールを割り当てる
- ワークスペース管理者としてDatabricksワークスペースにログインします。
- Databricksワークスペースのトップバーにあるユーザー名をクリックし、Admin Consoleを選択します。
- 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 accessとDatabricks SQL accessの資格情報を有しています。
重要!
Databricksにログインするには、ユーザーはDatabricks SQL accessかWorkspace access(あるいは両方)の資格情報を有している必要があります。
Workspace access資格情報は、ユーザーに対してData Science & Engineering workspaceやDatabricks Machine Learningへのアクセス権を提供します。ユーザーはこの資格情報を有するusers
グループのメンバーとしてこの資格情報を継承します。ユーザーごとにこの資格情報を割り当てるには、ワークスペース管理者はusers
グループからこの資格情報を削除し、Usersタブでユーザー個別にこの資格情報を割り当てます。
Databricks SQLアクセス資格情報に関しては、Manage users and groupsをご覧ください。
クラスターのアクセスコントロールが有効化されており、Allow unrestricted cluster creationを選択していない場合、ユーザーはクラスター作成権限なしに追加されます。
以前ワークスペースに存在していたユーザーを再アクティベートした際、以前のユーザーの資格情報はレストアされます。
ワークスペース管理コンソールを用いて資格情報の追加、削除を行う
ワークスペース管理者として以下を実施します:
- Databricksワークスペースのトップバーにあるユーザー名をクリックし、Admin Consoleを選択します。
- ユーザーの行に移動します。
- 資格情報を追加するには、対応するカラムのチェックボックスを選択します。
- 資格情報を削除するには、対応するカラムのチェックボックスを解除します。
注意
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
資格情報を追加します。
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
:
{
"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をご覧ください。