SCIM API (ユーザーとグループ) SCIM API (Users and Groups)

Azure Databricks は、REST API と JSON を使用してユーザープロビジョニングを自動化できるオープンスタンダードであるSCIM、またはクロスドメイン id 管理のシステムをサポートしています。Azure Databricks supports SCIM, or System for Cross-domain Identity Management, an open standard that allows you to automate user provisioning using a REST API and JSON. SCIM を使用すると、Azure Databricks でユーザーとグループを作成し、適切なレベルのアクセス権を付与できます。また、ユーザーが組織を離れたり、Azure Databricks にアクセスしたりする必要がなくなった場合に、ユーザーのアクセス権を削除 (プロビジョニング解除) することもできます。SCIM lets you create users and groups in Azure Databricks and give them the proper level of access, as well as remove access for users (deprovision them) when they leave your organization or no longer need access to Azure Databricks.

Databricks SCIM API は、SCIM プロトコルのバージョン2.0 に従います。The Databricks SCIM API follows version 2.0 of the SCIM protocol.

重要

Azure Databricks SCIM API はパブリックプレビューの段階にあります。The Azure Databricks SCIM API is in Public Preview.

注意

すべての SCIM API エンドポイントを呼び出すには、Azure Databricks管理者である必要があります。You must be an Azure Databricks administrator to invoke all SCIM API endpoints. 管理者以外のユーザーは、[ユーザーの取得] および [グループの取得] エンドポイントを呼び出して、ユーザーとグループの表示名と Id のみを読み取ることができます。Non-admin users can invoke the Get Users and Get Groups endpoints to read user and group display names and IDs only.

SCIM API を呼び出すCall the SCIM API

次の例では、<databricks-instance> を Azure Databricks デプロイの <region>.azuredatabricks.net ドメイン名に置き換えます。In the following examples, replace <databricks-instance> with the <region>.azuredatabricks.net domain name of your Azure Databricks deployment.

リソース URLResource URL

https://<databricks-instance>/api/2.0/preview/scim/v2/<api-endpoint>

ヘッダーパラメーターHeader parameters

パラメーターParameter 種類Type 説明Description
承認 (必須)Authorization (required) STRING bearer: <access_token> を設定します。Set to bearer: <access_token>. API を使用してトークンを生成する方法については、「認証」を参照してください。 api を使用してトークンを生成する方法については、「 Token api 」をご覧ください。See Authentication to learn how to generate tokens using the UI, and Token API to learn how to generate tokens using the API.

> [!IMPORTANT] > > このトークンを生成する Azure Databricks 管理者ユーザーは、id プロバイダー (IdP) によって管理されないようにする必要があります。> [!IMPORTANT] > > The Azure Databricks admin user who generates this token should not be managed by > your identity provider (IdP). IdP によって管理されている Azure Databricks 管理者ユーザーは、IdP を使用してプロビジョニング解除を > できます。これにより、SCIM プロビジョニングの統合が > 無効になります。An Azure Databricks admin user who is managed by the IdP can be > deprovisioned using the IdP, which would cause your SCIM provisioning integration to be > disabled.
Content-type (書き込み操作に必要)Content-Type (required for write operations) STRING application/scim+json を設定します。Set to application/scim+json.
Accept (読み取り操作に必要)Accept (required for read operations) STRING application/scim+json を設定します。Set to application/scim+json.

SCIM API エンドポイントSCIM API endpoints

ユーザーの取得 Get Users

エンドポイントEndpoint HTTP メソッドHTTP Method
2.0/preview/scim/v2/Users GET

[管理ユーザー]: Azure Databricks ワークスペースのすべてのユーザーの一覧を取得します。Admin users: Retrieve a list of all users in the Azure Databricks workspace.

管理者以外のユーザー: Azure Databricks ワークスペースのすべてのユーザーの一覧を取得し、ユーザーの表示名とオブジェクト ID のみを返します。Non-admin users: Retrieve a list of all users in the Azure Databricks workspace, returning user display name and object ID only.

要求の例Example request

GET /api/2.0/preview/scim/v2/Users  HTTP/1.1
Host: <databricks-instance>
Accept: application/scim+json
Authorization: Bearer dapi48…a6138b

フィルターを使用して、ユーザーのサブセットを指定できます。You can use filters to specify subsets of users. たとえば、eq (equals) フィルターパラメーターを userName に適用して、特定のユーザーまたはユーザーのサブセットを取得できます。For example, you can apply the eq (equals) filter parameter to userName to retrieve a specific user or subset of users:

GET /api/2.0/preview/scim/v2/Users?filter=userName+eq+example@databricks.com  HTTP/1.1
Host: <databricks-instance>
Accept: application/scim+json
Authorization: Bearer dapi48…a6138b

ID でユーザーを取得するGet User by ID

エンドポイントEndpoint HTTP メソッドHTTP Method
2.0/preview/scim/v2/Users/{id} GET

管理ユーザー: Azure Databricks ID を指定して、Azure Databricks ワークスペースから単一のユーザーリソースを取得します。Admin users: Retrieve a single user resource from the Azure Databricks workspace, given their Azure Databricks ID.

要求の例Example request

GET /api/2.0/preview/scim/v2/Users/100757  HTTP/1.1
Host: <databricks-instance>
Accept: application/scim+json
Authorization: Bearer dapi48…a6138b

[Create User]Create User

エンドポイントEndpoint HTTP メソッドHTTP Method
2.0/preview/scim/v2/Users POST

[管理ユーザー]: [Azure Databricks] ワークスペースでユーザーを作成します。Admin users: Create a user in the Azure Databricks workspace.

要求パラメーターは、標準の SCIM 2.0 プロトコルに従います。Request parameters follow the standard SCIM 2.0 protocol.

要求には、次の属性が含まれている必要があります。Requests must include the following attributes:

  • schemas urn:ietf:params:scim:schemas:core:2.0:User に設定されるschemas set to urn:ietf:params:scim:schemas:core:2.0:User
  • userName

要求の例Example request

POST /api/2.0/preview/scim/v2/Users HTTP/1.1
Host: <databricks-instance>
Authorization: Bearer dapi48…a6138b
Content-Type: application/scim+json

{
  "schemas":[
    "urn:ietf:params:scim:schemas:core:2.0:User"
  ],
  "userName":"example@databricks.com",
  "groups":[
    {
       "value":"123456"
    }
  ],
  "entitlements":[
    {
       "value":"allow-cluster-create"
    }
  ]
}

ID でユーザーを更新する (PATCH)Update User by ID (PATCH)

エンドポイントEndpoint HTTP メソッドHTTP Method
2.0/preview/scim/v2/Users/{id} PATCH

管理ユーザー: 変更できないものを除き、特定の属性に対する操作でユーザーリソースを更新します。Admin users: Update a user resource with operations on specific attributes, except those that are immutable. ユーザー権利を設定または更新するには、PUT 方法よりも PATCH 方法をお勧めします。The PATCH method is recommended over the PUT method for setting or updating user entitlements.

要求パラメーターは、標準の SCIM 2.0 プロトコルに従い、schemas 属性の値に依存します。Request parameters follow the standard SCIM 2.0 protocol and depend on the value of the schemas attribute.

要求の例Example request

PATCH /api/2.0/preview/scim/v2/Users/100757  HTTP/1.1
Host: <databricks-instance>
Content-Type: application/scim+json
Authorization: Bearer dapi48…a6138b

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

ID でユーザーを更新する (PUT)Update User by ID (PUT)

エンドポイントEndpoint HTTP メソッドHTTP Method
2.0/preview/scim/v2/Users/{id} PUT

管理ユーザー: 変更できないものを除き、複数の属性にわたってユーザーリソースを上書きします。Admin users: Overwrite the user resource across multiple attributes, except those that are immutable.

要求には schemas 属性を含め、urn:ietf:params:scim:schemas:core:2.0:Userに設定する必要があります。Request must include the schemas attribute, set to urn:ietf:params:scim:schemas:core:2.0:User.

注意

ユーザー権利を設定または更新するには、PUT 方法よりも PATCH 方法をお勧めします。The PATCH method is recommended over the PUT method for setting or updating user entitlements.

要求の例Example request

PUT /api/2.0/preview/scim/v2/Users/123456  HTTP/1.1
Host: <region>.azuredatabricks.net
Content-Type: application/scim+json
Authorization: Bearer dapi48…a6138b

{
  "schemas":[
    "urn:ietf:params:scim:schemas:core:2.0:User"
  ],
  "userName":"example@databricks.com",
  "entitlements":[
    {
       "value":"allow-cluster-create"
    }
  ],
  "groups":[
    {
       "value":"100000"
    }
  ]
}

ID によるユーザーの削除Delete User by ID

エンドポイントEndpoint HTTP メソッドHTTP Method
2.0/preview/scim/v2/Users/{id} DELETE

管理ユーザー: ユーザーリソースを非アクティブにします。Admin users: Inactivate a user resource. Azure Databricks のワークスペースを所有していない、または所有していないユーザーは、30日後に自動的に削除されます。A user that does not own or belong to a workspace in Azure Databricks is automatically purged after 30 days.

要求の例Example request

DELETE /api/2.0/preview/scim/v2/Users/100757  HTTP/1.1
Host: <databricks-instance>
Accept: application/scim+json
Authorization: Bearer dapi48…a6138b

グループを取得するGet Groups

エンドポイントEndpoint HTTP メソッドHTTP Method
2.0/preview/scim/v2/Groups GET

[管理ユーザー]: Azure Databricks ワークスペースのすべてのグループの一覧を取得します。Admin users: Retrieve a list of all groups in the Azure Databricks workspace. 管理者以外のユーザー: Azure Databricks ワークスペースのすべてのグループの一覧を取得し、グループの表示名とオブジェクト ID のみを返します。Non-admin users: Retrieve a list of all groups in the Azure Databricks workspace, returning group display name and object ID only.

要求の例Example request

GET /api/2.0/preview/scim/v2/Groups  HTTP/1.1
Host: <databricks-instance>
Accept: application/scim+json
Authorization: Bearer dapi48…a6138b

フィルターを使用して、グループのサブセットを指定できます。You can use Filters to specify subsets of groups. たとえば、sw (で始まる) フィルターパラメーターを displayName に適用して、特定のグループまたはグループのセットを取得できます。For example, you can apply the sw (starts with) filter parameter to displayName to retrieve a specific group or set of groups:

GET /api/2.0/preview/scim/v2/Groups?filter=displayName+sw+eng    HTTP/1.1
Host: <databricks-instance>
Accept: application/scim+json
Authorization: Bearer dapi48…a6138b

ID でグループを取得Get Group by ID

エンドポイントEndpoint HTTP メソッドHTTP Method
2.0/preview/scim/v2/Groups/{id} GET

管理ユーザー: 1 つのグループリソースを取得します。Admin users: Retrieve a single group resource.

要求の例Example request

GET /api/2.0/preview/scim/v2/Groups/123456  HTTP/1.1
Host: <databricks-instance>
Accept: application/scim+json
Authorization: Bearer dapi48…a6138b

グループの作成Create Group

エンドポイントEndpoint HTTP メソッドHTTP Method
2.0/preview/scim/v2/Groups POST

管理ユーザー: Azure Databricks でグループを作成します。Admin users: Create a group in Azure Databricks.

要求パラメーターは、標準の SCIM 2.0 プロトコルに従います。Request parameters follow the standard SCIM 2.0 protocol.

要求には、次の属性が含まれている必要があります。Requests must include the following attributes:

  • schemas urn:ietf:params:scim:schemas:core:2.0:Group に設定されるschemas set to urn:ietf:params:scim:schemas:core:2.0:Group
  • displayName

Members 一覧は省略可能であり、ユーザーおよびその他のグループを含めることができます。Members list is optional and can include users and other groups. PATCHを使用してグループにメンバーを追加することもできます。You can also add members to a group using PATCH.

要求の例Example request

POST /api/2.0/preview/scim/v2/Groups HTTP/1.1
Host: <databricks-instance>
Authorization: Bearer dapi48…a6138b
Content-Type: application/scim+json

{
  "schemas":[
    "urn:ietf:params:scim:schemas:core:2.0:Group"
  ],
  "displayName":"newgroup",
  "members":[
    {
       "value":"100000"
    },
    {
       "value":"100001"
    }
  ]
}

グループの更新Update Group

エンドポイントEndpoint HTTP メソッドHTTP Method
2.0/preview/scim/v2/Groups/{id} PATCH

管理者ユーザー: メンバーを追加または削除することによって Azure Databricks のグループを更新します。Admin users: Update a group in Azure Databricks by adding or removing members. グループ内の個々のメンバーまたはグループを追加および削除できます。Can add and remove individual members or groups within the group.

要求パラメーターは、標準の SCIM 2.0 プロトコルに従い、schemas 属性の値に依存します。Request parameters follow the standard SCIM 2.0 protocol and depend on the value of the schemas attribute.

注意

Azure Databricks は、グループ名の更新をサポートしていません。Azure Databricks does not support the update of group names.

要求の例Example request

PATCH /api/2.0/preview/scim/v2/Groups/123456 HTTP/1.1
Host: <databricks-instance>
Authorization: Bearer dapi48…a6138b
Content-Type: application/scim+json

{
  "schemas":[
    "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations":[
    {
    "op":"add",
    "value":{
        "members":[
           {
              "value":"100000"
           }
        ]
      }
    }
  ]
}

グループの削除Delete Group

エンドポイントEndpoint HTTP メソッドHTTP Method
2.0/preview/scim/v2/Groups/{id} DELETE

管理ユーザー: Azure Databricks からグループを削除します。Admin users: Remove a group from Azure Databricks. グループ内のユーザーは削除されません。Users in the group are not removed.

要求の例Example request

DELETE /api/preview/scim/v2/Groups/123456  HTTP/1.1
Host: <databricks-instance>
Accept: application/scim+json
Authorization: Bearer dapi48…a6138b

フィルター Filters

ユーザーおよびグループと共にフィルターを使用すると、ユーザーまたはグループのサブセットを返す呼び出しを取得できます。Use filters with Users and Groups GET calls to return a subset of users or groups.

演算子Operator 説明Description 動作Behavior
eqeq equalsequals 属性と演算子の値は同じである必要があります。Attribute and operator values must be identical.
nene 等しくないnot equal to 属性と演算子の値が同一ではありません。Attribute and operator values are not identical.
coco containscontains 演算子の値は、属性値の部分文字列である必要があります。Operator value must be a substring of attribute value.
swsw で始まるstarts with 属性はで始まり、演算子の値を含んでいる必要があります。Attribute must start with and contain operator value.
and 論理 ANDlogical AND すべての式が true と評価された場合に一致します。Match when all expressions evaluate to true.
またはor 論理和logical OR 式が true に評価された場合に一致します。Match when any expression evaluates to true.