Workspace API を使用してダッシュボードのアクセス許可を管理する
このチュートリアルでは、Workspace API を使用してダッシュボードのアクセス許可を管理する方法について説明します。 各手順には、要求と応答のサンプルと、API ツールとプロパティを一緒に使用する方法に関する説明が含まれています。
前提条件
- ワークスペースに接続するには、個人用アクセス トークンが必要です。 「Azure Databricks 個人用アクセス トークン認証」をご覧ください。
- アクセスするワークスペースのワークスペース ID が必要です。 「ワークスペースのインスタンス名、URL、および ID」を参照してください
- 「Databricks REST API リファレンス」に関する理解。
パス パラメーター
この記事の各エンドポイント要求には、workspace_object_type
と workspace_object_id
の 2 つのパス パラメーターが必要です。
workspace_object_type
: AI/BI ダッシュボードの場合、オブジェクトの種類はdashboards
です。workspace_object_id
: これは、ダッシュボードに関連付けられているresource_id
に対応します。 GET /api/2.0/workspace/list を使用するか、GET /api/2.0/workspace/get-status を使用してその値を取得できます。 これは、01eec14769f616949d7a44244a53ed10
に似た 32 文字の文字列です。
ワークスペース オブジェクトの一覧表示の例については、「手順 1: ワークスペース ディレクトリのを調べる」を参照してください。 Workspace リスト API の詳細については、GET /api/2.0/workspace/list を参照してください。
ワークスペース オブジェクトのアクセス許可レベルを取得する
このセクションでは、[ワークスペース オブジェクトのアクセス許可レベルの取得] エンドポイントを使用して、ユーザーがダッシュボードで使用できるアクセス許可レベルを取得します。 GET /api/workspace/workspace/getpermissionlevels を参照してください。
次の例では、要求に上記のサンプル パス パラメーターが含まれています。 応答には、要求に示されているダッシュボードに適用できるアクセス許可が含まれます。
GET /api/2.0/permissions/dashboards/01eec14769f616949d7a44244a53ed10/permissionLevels
Response:
{
"permission_levels": [
{
"permission_level": "CAN_READ",
"description": "Can view the Lakeview dashboard"
},
{
"permission_level": "CAN_RUN",
"description": "Can view, attach/detach, and run the Lakeview dashboard"
},
{
"permission_level": "CAN_EDIT",
"description": "Can view, attach/detach, run, and edit the Lakeview dashboard"
},
{
"permission_level": "CAN_MANAGE",
"description": "Can view, attach/detach, run, edit, and change permissions of the Lakeview dashboard"
}
]
}
ワークスペース オブジェクトのアクセス許可の詳細を取得する
[ワークスペース オブジェクトのアクセス許可レベルの取得] エンドポイントは、特定のワークスペース オブジェクトに割り当てられたアクセス許可を取得します。 GET /api/workspace/workspace/getpermissions を参照してください。
次の例は、前の例のダッシュボードの要求と応答を示しています。 応答には、ダッシュボードと、ダッシュボードに対するアクセス許可を持つユーザーとグループに関する詳細が含まれます。 このオブジェクトに対する権限は、応答の access_control_list
部分の両方の項目に対して継承されています。 最初のエントリでは、アクセス許可はワークスペース内のフォルダーから継承されます。 2 番目のエントリには、admins
グループのメンバーシップによって継承されたアクセス許可が表示されます。
GET /api/2.0/permissions/dashboards/01eec14769f616949d7a44244a53ed10
Response:
{
"object_id": "/dashboards/490384175243923",
"object_type": "dashboard",
"access_control_list": [
{
"user_name": "first.last@example.com",
"display_name": "First Last",
"all_permissions": [
{
"permission_level": "CAN_MANAGE",
"inherited": true,
"inherited_from_object": [
"/directories/2951435987702195"
]
}
]
},
{
"group_name": "admins",
"all_permissions": [
{
"permission_level": "CAN_MANAGE",
"inherited": true,
"inherited_from_object": [
"/directories/"
]
}
]
}
]
}
ワークスペース オブジェクトのアクセス許可を設定する
[ワークスペース オブジェクトのアクセス許可レベルの設定] エンドポイントを使用して、ダッシュボードに対するアクセス許可を設定できます。 PUT /api/workspace/workspace/setpermissions を参照してください。
次の例では、PUT 要求の workspace_object_id
のすべてのワークスペース ユーザーに "編集可能" アクセス許可を付与します。
PUT /api/2.0/permissions/dashboards/01eec14769f616949d7a44244a53ed10
Request body:
{
"access_control_list": [
{
"group_name": "users",
"permission_level": "CAN_EDIT"
}
]
}
AI/BI ダッシュボードの場合、グループ All account users
を使って、Azure Databricks アカウントに登録されているすべてのユーザーに閲覧アクセス許可を割り当てることができます。 「公開済みダッシュボードを共有する」を参照してください。
ワークスペース オブジェクトのアクセス許可を更新する
[ワークスペース オブジェクトのアクセス許可の更新] エンドポイントは、[ワークスペース オブジェクトのアクセス許可の設定] エンドポイントと同様の機能を実行します。 PUT
要求ではなく、PATCH
要求を使用してアクセス許可を割り当てます。
PATCH /api/workspace/workspace/updatepermissions を参照してください。
PATCH /api/2.0/permissions/dashboards/01eec14769f616949d7a44244a53ed10
Request body:
{
"access_control_list": [
{
"group_name": "account userS",
"permission_level": "CAN_VIEW"
}
]
}