Поделиться через


Управление идентификациями, разрешениями и привилегиями для заданий Databricks

В этой статье содержатся рекомендации и инструкции по управлению удостоверениями, разрешениями и привилегиями для заданий Databricks.

Примечание.

Секреты не редактируются из журнала stdout и stderr потоков драйвера Spark кластера. Для защиты конфиденциальных данных журналы драйверов Spark по умолчанию доступны только пользователям с разрешением CAN MANAGE на задание, выделенный режим доступа и кластеры стандартного режима доступа. Чтобы разрешить пользователям с разрешением CAN ATTACH TO или CAN RESTART просматривать журналы в этих кластерах, задайте в конфигурации кластера следующее свойство конфигурации Spark: spark.databricks.acl.needAdminPermissionToViewLogs false

В кластерах режимов общего доступа без изоляции журналы драйверов Spark могут просматриваться пользователями с разрешением на ПОДКЛЮЧЕНИЕ или разрешением на УПРАВЛЕНИЕ. Чтобы ограничить доступ к журналам только для пользователей с разрешением CAN MANAGE, установите параметр spark.databricks.acl.needAdminPermissionToViewLogs на true.

Сведения о добавлении свойств Spark в конфигурацию кластера см. в разделе Конфигурация Spark.

Привилегии по умолчанию для заданий

Задания имеют следующие привилегии, заданные по умолчанию:

  • Создателю задания предоставляется разрешение IS OWNER.
  • Администраторы рабочей области получают разрешение CAN MANAGE.
  • Создатель задания установлен для Запуск от имени.

Разрешения администратора для заданий

По умолчанию администраторы рабочих областей могут изменить владельца задания или конфигурацию Запуск от имени на любого пользователя или учетную запись службы в рабочей области. Администраторы учетных записей могут настроить RestrictWorkspaceAdmins параметр для изменения этого поведения. См. "Ограничить администраторов рабочей области".

Как задания взаимодействуют с разрешениями каталога Unity?

Задания выполняются от имени пользователя, указанного в параметре запуска от имени. Эта идентичность оценивается в контексте предоставления разрешений для следующих:

  • Управляемые каталогом Unity ресурсы, включая таблицы, тома, модели и представления.
  • Устаревшие списки управления доступом к таблицам (ACL) для ресурсов, зарегистрированных в устаревшем хранилище метаданных Hive.
  • Списки управления доступом для вычислительных ресурсов, записных книжек, запросов и других ресурсов рабочей области.
  • Секреты Databricks. Дополнительные сведения см. в разделе Управление секретами.

Примечание.

Каталог Unity предоставляет и устаревшие списки управления доступом к таблицам, для которых требуются совместимые режимы доступа к вычислительным ресурсам. См. раздел "Настройка вычислений для заданий".

Задачи и разрешения SQL

Единственным типом задачи SQL, который полностью учитывает идентификацию Запуск от имени, является задача файла.

Запросы SQL, оповещения и устаревшие задачи панели мониторинга учитывают настроенные параметры общего доступа.

  • Запуск от имени владельца. Запуск запланированной задачи SQL всегда использует удостоверение владельца настроенного ресурса SQL.
  • Запуск от имени просмотрщика: Запуски запланированной задачи SQL всегда используют удостоверение, установленное в поле Запуск от имени задания.

Дополнительные сведения о параметрах общего доступа к запросам см. в разделе "Настройка разрешений запроса".

Пример

В следующем сценарии показано взаимодействие параметров общего доступа SQL и задания Выполнить от имени:

  • Пользователь А является владельцем sql-запроса с именем my_query.
  • Пользователь A настраивает my_query с параметром общего доступа "Запуск от имени владельца".
  • Пользователь B планирует my_query в качестве задачи в задании с именем my_job.
  • Пользователь B настраивает my_job для работы с сервисным принципалом по имени prod_sp.
  • Когда выполняется my_job, он использует учетные данные пользователя A для выполнения my_query.

Теперь предположим, что пользователь B не хочет этого поведения. Начиная с существующей конфигурации, происходит следующее:

  • Пользователь A изменяет параметр общего доступа для my_query на Выполнять как просмотрщик.
  • При выполнении my_job используется идентификатор prod_sp.

Настройка идентификации для запусков заданий

Чтобы изменить параметр запуска от имени , необходимо иметь разрешение CAN MANAGE или IS OWNER для задания.

Вы можете задать параметр запуска от имени себя или любого служебного принципала в рабочем пространстве, в котором у вас есть полномочия пользователя служебного принципала.

Чтобы настроить параметр запуска от имени для задания в пользовательском интерфейсе рабочей области, выберите существующее задание, выполнив следующие действия.

  1. Щелкните значок Рабочие процессыРабочие процессы на боковой панели.
  2. В столбце Name щелкните на имя задания.
  3. На боковой панели сведений о задании щелкните значок карандаша рядом с полем Запуск от имени.
  4. Найдите и выберите пользователя или субъекта-службы.
  5. Нажмите кнопку Сохранить.

Дополнительные сведения о работе с субъектами-службами см. в следующих статьях:

Рекомендации по управлению заданиями

Databricks рекомендует следующее для всех рабочих заданий:

  • Назначьте владение заданием основному служебному идентификатору

    Если пользователь, которому принадлежит задание, покидает вашу организацию, это задание может завершиться ошибкой. Используйте учетные записи служб, чтобы обеспечить надежность процессов в условиях текучести кадров.

    По умолчанию администраторы рабочих областей могут управлять разрешениями заданий и передавать владение при необходимости.

  • Выполнение рабочих заданий с помощью принципала службы

    Задания выполняются с помощью привилегий владельца задания по умолчанию. При назначении владения субъекту-службе задание выполняется с помощью разрешений субъекта-службы.

    Использование сервисных учетных записей для производственных заданий позволяет ограничить разрешения на запись для производственных данных. При выполнении заданий с помощью разрешений пользователя этот пользователь должен иметь те же разрешения для изменения рабочих данных, необходимых для задания.

  • Всегда используйте конфигурации вычислений, совместимые с каталогом Unity

    Для управления данными каталога Unity требуется использовать поддерживаемую конфигурацию вычислений.

    Бессерверные вычисления для заданий и хранилищ SQL всегда используют каталог Unity.

    Для заданий с классическими вычислениями Databricks рекомендует стандартный режим доступа для поддерживаемых рабочих нагрузок. При необходимости используйте выделенный режим доступа.

    Конвейеры DLT, настроенные с помощью каталога Unity, имеют некоторые ограничения. Смотрите ограничения.

  • Ограничение разрешений на производственные задания

    Для запуска, остановки или перезапуска заданий пользователям требуется разрешение "Управление запуском".

    Пользователям, которые просматривают конфигурацию задания или мониторят выполнение заданий, требуется разрешение на просмотр.

    Только предоставляйте пользователям Может управлять или Является владельцем привилегии, если вы доверяете им изменение рабочего кода.

Управление доступом к заданию

Управление доступом к заданию позволяет владельцам заданий и администраторам предоставлять точные разрешения на задания. Доступны следующие разрешения:

Примечание.

Каждое разрешение включает разрешения, расположенные ниже в следующей таблице.

Разрешение Грант
Является владельцем Идентификатор, используемый для запуска от имени по умолчанию.
Может управлять Пользователи могут изменять определение задания, включая разрешения. Пользователи могут приостановить и возобновить расписание.
Можно управлять запуском Пользователи могут активировать и отменить выполнение задания.
Может просматривать Пользователи могут просматривать результаты выполнения задания.

Дополнительные сведения о уровнях разрешений задания см. в списке ACL заданий.

Настройка разрешений для заданий

Чтобы настроить разрешения для задания в пользовательском интерфейсе рабочей области, выберите существующее задание, выполнив следующие действия.

  1. Щелкните на иконке рабочих процессов на боковой панели.
  2. В столбце Name щелкните на имя задания.
  3. На панели сведений о задании нажмите кнопку "Изменить разрешения". Появится диалоговое окно Настройки разрешений.
  4. Щелкните поле Select User, Group or Service Principal... (Выбрать пользователя, группу или субъект-службу) и начните вводить пользователя, группу или субъект-службу. Поле ищет все доступные удостоверения в рабочей области.
  5. Нажмите кнопку Добавить.
  6. Нажмите кнопку Сохранить.

Управление владельцем задания

Только администраторы рабочей области могут изменять владельца задания. Необходимо назначить именно одного владельца задания. Владельцы заданий могут быть пользователями или субъектами-службами.