a.users: Account Users

class databricks.sdk.service.iam.AccountUsersAPI

User identities recognized by Databricks and represented by email addresses.

Databricks recommends using SCIM provisioning to sync users and groups automatically from your identity provider to your Databricks account. SCIM streamlines onboarding a new employee or team by using your identity provider to create users and groups in Databricks account and give them the proper level of access. When a user leaves your organization or no longer needs access to Databricks account, admins can terminate the user in your identity provider and that user’s account will also be removed from Databricks account. This ensures a consistent offboarding process and prevents unauthorized users from accessing sensitive data.

create([, active: Optional[bool], display_name: Optional[str], emails: Optional[List[ComplexValue]], entitlements: Optional[List[ComplexValue]], external_id: Optional[str], groups: Optional[List[ComplexValue]], id: Optional[str], name: Optional[Name], roles: Optional[List[ComplexValue]], schemas: Optional[List[UserSchema]], user_name: Optional[str]]) User

Usage:

import time

from databricks.sdk import AccountClient

a = AccountClient()

user = a.users.create(
    display_name=f"sdk-{time.time_ns()}",
    user_name=f"sdk-{time.time_ns()}@example.com",
)

# cleanup
a.users.delete(id=user.id)

Creates a new user in the Databricks account. This new user will also be added to the Databricks account.

Parameters:
Returns:

User

delete(id: str)

Usage:

import time

from databricks.sdk import AccountClient

a = AccountClient()

user = a.users.create(
    display_name=f"sdk-{time.time_ns()}",
    user_name=f"sdk-{time.time_ns()}@example.com",
)

a.users.delete(id=user.id)

Deletes a user. Deleting a user from a Databricks account also removes objects associated with the user.

Parameters:

id – str Unique ID for a user in the Databricks account.

get(id: str [, attributes: Optional[str], count: Optional[int], excluded_attributes: Optional[str], filter: Optional[str], sort_by: Optional[str], sort_order: Optional[GetSortOrder], start_index: Optional[int]]) User

Usage:

import time

from databricks.sdk import AccountClient

a = AccountClient()

user = a.users.create(
    display_name=f"sdk-{time.time_ns()}",
    user_name=f"sdk-{time.time_ns()}@example.com",
)

by_id = a.users.get(id=user.id)

# cleanup
a.users.delete(id=user.id)

Gets information for a specific user in Databricks account.

Parameters:
  • id – str Unique ID for a user in the Databricks account.

  • attributes – str (optional) Comma-separated list of attributes to return in response.

  • count – int (optional) Desired number of results per page. Default is 10000.

  • excluded_attributes – str (optional) Comma-separated list of attributes to exclude in response.

  • filter

    str (optional) Query by which the results have to be filtered. Supported operators are equals(eq), contains(co), starts with(sw) and not equals(ne). Additionally, simple expressions can be formed using logical operators - and and or. The [SCIM RFC] has more details but we currently only support simple expressions.

    [SCIM RFC]: https://tools.ietf.org/html/rfc7644#section-3.4.2.2

  • sort_by – str (optional) Attribute to sort the results. Multi-part paths are supported. For example, userName, name.givenName, and emails.

  • sort_orderGetSortOrder (optional) The order to sort the results.

  • start_index – int (optional) Specifies the index of the first result. First item is number 1.

Returns:

User

list([, attributes: Optional[str], count: Optional[int], excluded_attributes: Optional[str], filter: Optional[str], sort_by: Optional[str], sort_order: Optional[ListSortOrder], start_index: Optional[int]]) Iterator[User]

Gets details for all the users associated with a Databricks account.

Parameters:
  • attributes – str (optional) Comma-separated list of attributes to return in response.

  • count – int (optional) Desired number of results per page. Default is 10000.

  • excluded_attributes – str (optional) Comma-separated list of attributes to exclude in response.

  • filter

    str (optional) Query by which the results have to be filtered. Supported operators are equals(eq), contains(co), starts with(sw) and not equals(ne). Additionally, simple expressions can be formed using logical operators - and and or. The [SCIM RFC] has more details but we currently only support simple expressions.

    [SCIM RFC]: https://tools.ietf.org/html/rfc7644#section-3.4.2.2

  • sort_by – str (optional) Attribute to sort the results. Multi-part paths are supported. For example, userName, name.givenName, and emails.

  • sort_orderListSortOrder (optional) The order to sort the results.

  • start_index – int (optional) Specifies the index of the first result. First item is number 1.

Returns:

Iterator over User

patch(id: str [, operations: Optional[List[Patch]], schemas: Optional[List[PatchSchema]]])

Usage:

import time

from databricks.sdk import AccountClient
from databricks.sdk.service import iam

a = AccountClient()

user = a.users.create(
    display_name=f"sdk-{time.time_ns()}",
    user_name=f"sdk-{time.time_ns()}@example.com",
)

a.users.patch(
    id=user.id,
    schemas=[iam.PatchSchema.URN_IETF_PARAMS_SCIM_API_MESSAGES_2_0_PATCH_OP],
    operations=[
        iam.Patch(
            op=iam.PatchOp.ADD,
            value=iam.User(roles=[iam.ComplexValue(value="account_admin")]),
        )
    ],
)

# cleanup
a.users.delete(id=user.id)

Partially updates a user resource by applying the supplied operations on specific user attributes.

Parameters:
update(id: str [, active: Optional[bool], display_name: Optional[str], emails: Optional[List[ComplexValue]], entitlements: Optional[List[ComplexValue]], external_id: Optional[str], groups: Optional[List[ComplexValue]], name: Optional[Name], roles: Optional[List[ComplexValue]], schemas: Optional[List[UserSchema]], user_name: Optional[str]])

Replaces a user’s information with the data supplied in request.

Parameters: