ワークスペースAPIを使用してダッシュボードの権限を管理する

このチュートリアルでは、ワークスペースAPIを使用してダッシュボードの権限を管理する方法を説明します。 各ステップには、サンプルのリクエストと応答、および API ツールとプロパティを一緒に使用する方法の説明が含まれています。

前提 条件

パス

この記事の各エンドポイント要求には、2 つのパス パラメーターworkspace_object_typeworkspace_object_id必要です。

ワークスペース オブジェクトを一覧表示する例については、 「手順 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"
}
]
}

Lakeview ダッシュボードの場合、グループ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"
    }
  ]
}