Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Эта функция доступна в общедоступной предварительной версии.
На этой странице объясняется, как администраторы рабочих областей могут изменить доступ к рабочей области по умолчанию для новых пользователей на доступ потребителей с помощью клонирования групп. Эта функция помогает оптимизировать подключение потребителей в масштабе при сохранении соответствующих уровней доступа для пользователей, которым требуются права разработки.
Обзор
По умолчанию каждый пользователь, добавленный в рабочую область, становится членом системной users группы. Обычно эта группа имеет доступ к рабочей области или права доступа Databricks SQL, которые создают права, позволяющие пользователям создавать и изменять объекты рабочей области.
Чтобы предоставить пользователям возможность просмотра, группа users должна иметь только право доступа "Потребитель". Права являются аддитивными, поэтому доступ для потребителя предоставляет упрощенный интерфейс только для просмотра, если это единственное право, назначенное пользователю. Клонирование групп позволяет вносить это изменение без нарушения существующих пользователей, которым требуются права разработки. Он создает новую группу для существующих пользователей и обновляет группу по умолчанию users для новых пользователей.
Дополнительные сведения о доступе потребителей и его возможностях см. в разделе "Что такое доступ к потребителю?". Дополнительные сведения о правах см. в статье "Управление правами".
Когда использовать эту функцию
Используйте эту функцию, когда:
- Вы хотите, чтобы новые пользователи рабочей области по умолчанию имели доступ только как потребители.
- Необходимо разделить пользователей, которым требуются права разработки (доступ к рабочей области или Databricks SQL) от пользователей, доступных только для просмотра.
- Вы хотите оптимизировать подключение потребителей в масштабе.
Как работает клонирование групп
Системная users группа автоматически управляется Azure Databricks и включает всех пользователей рабочей области. Эту группу нельзя удалить. Дополнительные сведения о системных группах см. в разделе "Источники групп".
При клонировании группы users:
- Новая группа создается с теми же правами, которые сейчас есть у группы
users. - Все существующие пользователи рабочей области автоматически перемещаются в клонированную группу, обеспечивая сохранение текущих уровней доступа.
- Группа
usersобновляется для того, чтобы иметь только права доступа "Потребитель". - Будущие пользователи, которые добавляются в рабочую область, автоматически становятся членами группы
usersи получают права доступа только как потребители.
users Если группа содержит вложенные группы, которые слишком глубоко вложенны (группы, которые являются членами других групп), можно выбрать способ их обработки:
- Добавьте всех участников группы напрямую (рекомендуется): добавляет всех членов вложенной группы напрямую в клонированную группу. Это упрощает структуру группы.
- Исключить: полностью игнорирует вложенную группу. Члены исключенной вложенной группы не добавляются в клонированную группу.
Требования
Чтобы изменить доступ к рабочей области по умолчанию, необходимо быть администратором рабочей области.
Изменение доступа к рабочей области по умолчанию с помощью пользовательского интерфейса
Чтобы изменить доступ к рабочей области по умолчанию для доступа потребителей, выполните следующие действия.
Войдите в рабочую область Azure Databricks как администратор рабочей области.
Кликните на своё имя пользователя в верхней панели рабочей области Azure Databricks и выберите параметры.
Перейдите на вкладку Дополнительно.
В разделе "Управление доступом", рядом с параметром "Изменить доступ к рабочей области по умолчанию на потребительский доступ", нажмите "Открыть".
В диалоговом окне введите имя клонированных групп. Эта группа будет содержать всех существующих пользователей, которым необходимо сохранить текущие права.
Нажмите кнопку "Создать и клонировать группу".
Система создает новую группу и начинает процесс клонирования. Не закрывайте модальное окно, пока идет процесс клонирования.
usersЕсли группа содержит вложенные группы с чрезмерной глубиной вложенности, вам будет предложено их обработать.- Выберите "Добавить всех участников группы напрямую (рекомендуется)", чтобы упростить структуру группы, добавив всех участников вложенной группы непосредственно в клонированную группу.
- Выберите "Исключить эту группу ", чтобы пропустить эту вложенную группу.
- При необходимости выберите "Применить это решение ко всем будущим группам, превышающим ограничение глубины вложения", чтобы ваш выбор применялся ко всем будущим вложенным группам в ходе этой операции.
На последнем шаге: перемещение разрешений разработки и изменение доступа по умолчанию нажмите кнопку "Готово".
Система обновляет группу
users, чтобы она имела только права потребителей, и назначает исходные права клонированной группе.Просмотрите сводку и нажмите кнопку "Готово".
Проверка изменений
После завершения процесса убедитесь, что изменения были применены правильно:
- Войдите в рабочую область Azure Databricks как администратор рабочей области.
- Щелкните имя пользователя в верхней строке и выберите "Параметры".
- Перейдите на вкладку Идентификация и доступ.
- Рядом с группами нажмите кнопку "Управление".
- Проверьте следующее:
- Клонированная группа существует и имеет то же количество пользователей, что и исходная
usersгруппа. - Теперь у группы
usersесть только право доступа "Потребитель".
- Клонированная группа существует и имеет то же количество пользователей, что и исходная
Вопросы и лучшие практики
При изменении доступа к рабочей области по умолчанию следует учитывать следующее:
Влияние на новых пользователей: после изменения доступа по умолчанию все новые пользователи, добавленные в рабочую область, получают только права потребителей. Они могут просматривать и взаимодействовать с панелями мониторинга, пространствами Genie и Приложениями Databricks, общими с ними, но не могут создавать новые объекты рабочей области. Целевая страница Databricks по умолчанию — это страница Databricks One. Дополнительные сведения см. в разделе "Что такое доступ к потребителю?", а также что такое Databricks One?.
Предоставление прав разработки: если вам нужно предоставить более высокие привилегии новым пользователям, необходимо вручную добавить их в клонированную группу или назначить дополнительные права по отдельности. Инструкции по управлению членством в группах см. в разделе "Управление группами".
Отмена изменений. Если необходимо вернуть эту конфигурацию, предоставьте доступ к рабочей области и права доступа Databricks SQL обратно в группу
users. Затем новые пользователи получают эти права по умолчанию. Вы можете сохранить или удалить клонированную группу в зависимости от того, требуется ли она для организации пользователей.Координация с поставщиками удостоверений: Если вы используете SCIM-подготовку или автоматическое управление удостоверениями для синхронизации пользователей и групп, согласуйте это изменение с вашими процессами управления удостоверениями. См. раздел Синхронизация пользователей и групп из идентификатора Microsoft Entra с помощью SCIM.
Автоматизация клонирования групп с помощью пакета SDK
Для массовых операций или автоматизации в нескольких рабочих областях можно использовать пакет SDK Databricks для Python для автоматизации процесса клонирования группы. Этот метод полезен, если необходимо применить одну и ту же конфигурацию в нескольких рабочих областях или интегрировать клонирование групп в рабочие процессы инфраструктуры как кода.
Следующий скрипт Python автоматизирует дублирование группы users и назначает соответствующие права. Он использует пакет SDK Databricks для Python и требует субъекта-службы с правами администратора для учетной записи и рабочей области, прошедших проверку подлинности с помощью OAuth. См. статью "Авторизация доступа пользователей к Azure Databricks с помощью OAuth".
Предпосылки
- Субъект-служба с правами администратора
- Набор переменных среды:
-
DATABRICKS_ACCOUNT_ID(UUID из URL консоли учетной записи) -
DATABRICKS_WORKSPACE_ID(числовой идентификатор из URL-адреса рабочей области) -
DATABRICKS_CLIENT_ID(идентификатор клиента сервисного субъекта) -
DATABRICKS_CLIENT_SECRET(секрет клиента служебного принципала)
-
Пример скрипта
import os
import databricks.sdk as dbx
from databricks.sdk.service import iam
# Set the Databricks account host URL for your account's cloud
DATABRICKS_HOST = "https://accounts.azuredatabricks.net"
# Fetch credentials from environment variables
DATABRICKS_ACCOUNT_ID = os.getenv("DATABRICKS_ACCOUNT_ID")
DATABRICKS_WORKSPACE_ID = os.getenv("DATABRICKS_WORKSPACE_ID")
DATABRICKS_CLIENT_ID = os.getenv("DATABRICKS_CLIENT_ID")
DATABRICKS_CLIENT_SECRET = os.getenv("DATABRICKS_CLIENT_SECRET")
# Initialize Databricks account client
account_client = dbx.AccountClient(
host=DATABRICKS_HOST,
account_id=DATABRICKS_ACCOUNT_ID,
client_id=DATABRICKS_CLIENT_ID,
client_secret=DATABRICKS_CLIENT_SECRET,
)
print(f"Authenticated to Databricks account {DATABRICKS_ACCOUNT_ID}")
# Get workspace and initialize workspace client
workspace = account_client.workspaces.get(workspace_id=DATABRICKS_WORKSPACE_ID)
workspace_name = workspace.workspace_name
workspace_client = account_client.get_workspace_client(workspace)
print(f"Authenticated to Databricks workspace {DATABRICKS_WORKSPACE_ID}, '{workspace_name}'")
def get_workspace_group(group_name):
"""
Fetches the workspace group with the given name.
"""
group = list(workspace_client.groups.list(filter=f"displayName eq '{group_name}'"))[0]
print(f"Found workspace group: {group.display_name}")
print(f"Workspace {group.display_name} has {len(group.members)} members")
return group
def clone_workspace_group_to_account(workspace_group_name, new_account_group_name):
workspace_group = get_workspace_group(workspace_group_name)
group = account_client.groups.create(
display_name=new_account_group_name, members=workspace_group.members
)
print(f"Created account group: {new_account_group_name}")
print(f"Cloned workspace group {workspace_group.display_name} to account group {group.display_name}")
print(f"Account {group.display_name} has {len(group.members)} members")
return group
def add_account_group_to_workspace(account_group, workspace):
permissions = account_client.workspace_assignment.update(
workspace_id=workspace.workspace_id,
principal_id=account_group.id,
permissions=[iam.WorkspacePermission.USER],
)
print(f"Added account group {account_group.display_name} to workspace {workspace.workspace_id}, {workspace.workspace_name}")
return permissions
# Clone workspace 'users' group to new account group '{workspace_name}-contributors'
account_group = clone_workspace_group_to_account(
"users", f"{workspace_name}-contributors"
)
# Add account group '{workspace_name}-contributors' to the workspace
permissions = add_account_group_to_workspace(account_group, workspace)
После запуска скрипта для дублирования существующих групп и переназначения разрешений предоставьте доступ пользователю Consumer к группе users, чтобы новые пользователи автоматически получали этот доступ.
Замечание
Настройте имена групп и права для политик вашей организации и соглашений об именовании. Всегда тестируйте изменения в непроизводственных средах, прежде чем применять их широко.
Что дальше
После изменения доступа к рабочей области по умолчанию может потребоваться:
- Управление членством в группах для предоставления прав разработки новым пользователям путем добавления их в клонированную группу. См. раздел Управление группами.
- Просмотрите и настройте права отдельных пользователей или групп. См. раздел Управление правами.
- Узнайте больше о интерфейсе доступа потребителей. См. раздел "Что такое доступ потребителей" и что такое Databricks One?.
- Настройка элементов управления данными для пользователей-потребителей. См. фильтры строк и маски столбцов.