ワークスペースAPIを使用してダッシュボードの権限を管理する
このチュートリアルでは、ワークスペースAPIを使用してダッシュボードの権限を管理する方法を説明します。 各ステップには、サンプルのリクエストと応答、および API ツールとプロパティを一緒に使用する方法の説明が含まれています。
前提 条件
ワークスペースに接続するには、個人用アクセストークンが必要です。 Databricks個人用アクセストークン認証を参照してください。
アクセスするワークスペースのワークスペース ID が必要です。 ワークスペースインスタンス名、URL、IDを確認する
Databricks REST API リファレンスに精通していること。
パス
この記事の各エンドポイント要求には、2 つのパス パラメーターworkspace_object_type
とworkspace_object_id
必要です。
workspace_object_type
: AI/BI ダッシュボードの場合、オブジェクト タイプはdashboards
です。workspace_object_id
: ダッシュボードに関連付けられたresource_id
に対応します。GET /api/2.0/ワークスペース/listを使用することができます。 または、その値を取得するには、GET /api/2.0/ワークスペース/get-status を実行します。 これは01eec14769f616949d7a44244a53ed10
に似た 32 文字の文字列です。
ワークスペース・オブジェクトのリスト例については、 ステップ 1: ワークスペース・ディレクトリーの表示 を参照してください。 GET /api/2.0/ワークスペース/listを参照してください。 詳細については、「ワークスペース リスト APIを参照してください。
ワークスペースオブジェクトの権限レベルを取得する
このセクションでは、ワークスペース オブジェクトのアクセス許可レベルの取得エンドポイントを使用して、ユーザーがダッシュボードで持つことができるアクセス許可レベルを取得します。 GET /api/ワークスペース/ワークスペース/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/ワークスペース/ワークスペース/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/ワークスペース/ワークスペース/setpermissionsを参照してください。
次の例では、PUT リクエストのworkspace_object_id
に対してすべてのワークスペース ユーザーに CAN EDIT 権限を付与します。
PUT /api/2.0/permissions/dashboards/01eec14769f616949d7a44244a53ed10
Request body:
{
"access_control_list": [
{
"group_name": "users",
"permission_level": "CAN_EDIT"
}
]
}
AI/BI ダッシュボードの場合、グループAll account users
を使用して、Databricks アカウントに登録されているすべてのユーザーに表示権限を割り当てることができます。 「公開されたダッシュボードの共有」を参照してください。
ワークスペースオブジェクトの権限を更新する
ワークスペース オブジェクトのアクセス許可の更新エンドポイントは、ワークスペース オブジェクトのアクセス許可の設定エンドポイントと同様の機能を実行します。 PUT
要求ではなくPATCH
要求を使用してアクセス許可を割り当てます。
PATCH /api/ワークスペース/ワークスペース/updatepermissionsを参照してください。
PATCH /api/2.0/permissions/dashboards/01eec14769f616949d7a44244a53ed10
Request body:
{
"access_control_list": [
{
"group_name": "account userS",
"permission_level": "CAN_VIEW"
}
]
}