Работа с SQL Server, включенная Azure Arc с минимальными привилегиями (предварительная версия)

Применимо к:SQL Server

Принцип информационной безопасности наименьших привилегий утверждает, что учетные записи и приложения имеют доступ только к данным и операциям, которым они требуются. С помощью SQL Server с поддержкой Azure Arc можно запустить службу расширения агента с минимальными привилегиями. В этой статье объясняется, как запустить службу расширения агента с минимальными привилегиями.

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

Настройка учетных записей службы Windows и разрешений для расширения Azure для SQL Server описывает минимальные разрешения привилегий для службы расширений агента.

Примечание.

Если расширение Azure имеет версию 1.1.2594.118 (выпуск за февраль 2024 г.) или более поздней версии, режим минимальных привилегий будет автоматически включен в ближайшие месяцы.

Поддержка этой конфигурации в настоящее время доступна для предварительной версии.

Примечание.

В отношении технологии (как предварительной версии функции), описанной в этой статье, действуют дополнительные условия использования предварительных версий Microsoft Azure.

Последние обновления доступны в заметках о выпуске — SQL Server с поддержкой Azure Arc.

После настройки службы расширения агента для выполнения с минимальными привилегиями она использует NT Service\SQLServerExtension учетную запись службы.

Учетная NT Service\SQLServerExtension запись — это локальная учетная запись службы Windows:

  • Создано и управляется расширением Azure для SQL Server, если включен параметр наименьших привилегий.
  • Предоставляет минимальные необходимые разрешения и привилегии для запуска расширения Azure для службы SQL Server в операционной системе Windows. Он имеет доступ только к папкам и каталогам, используемым для чтения и хранения конфигурации или записи журналов.
  • Предоставлено разрешение на подключение и запрос в SQL Server с новым именем входа специально для этой учетной записи службы с минимальными разрешениями. Минимальные разрешения зависят от включенных функций.
  • Обновляется, когда разрешения больше не требуются. Например, разрешения отменяются при отключении функции, отключении конфигурации минимальных привилегий или удалении расширения Azure для SQL Server. Отзыв гарантирует, что разрешения не остаются после того, как они больше не требуются.

Необходимые компоненты

В этом разделе описаны требования к системе и средства, которые необходимо выполнить в этой статье.

Требования к системе

Для конфигурации с минимальными привилегиями требуется:

  • Windows Server 2012 или более поздней версии;
  • SQL Server 2012 или более поздней версии

Конфигурация с минимальными привилегиями в настоящее время не поддерживается в Linux.

Инструменты

Чтобы выполнить действия, описанные в этой статье, вам потребуется следующее:

Включение наименьших привилегий

  1. Войдите в систему с помощью Azure CLI.

    az login
    
  2. Проверьте версию arcdata расширения.

    az extension list -o table
    

    Если результаты включают поддерживаемую версию arcdata, перейдите к следующему шагу.

    При необходимости установите или обновите arcdata расширение Azure CLI.

    Чтобы установить расширение, сделайте следующее.

    az extension add --name arcdata
    

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

    az extension update --name arcdata
    
  3. Включите минимальные привилегии с помощью Azure CLI.

    Чтобы включить минимальные привилегии, задайте для флага LeastPrivilegetrueфункции значение . Чтобы выполнить эту задачу, выполните следующую команду с обновленными значениями для <resource-group> и <machine-name>.

    az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group <resource-group> --machine-name <machine-name>
    

    Например, следующая команда включает минимальные привилегии для сервера с именем myserver в группе ресурсов с именем myrg:

    az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group myrg --machine-name myserver 
    

Проверка конфигурации

Чтобы убедиться, что SQL Server включен Azure Arc, настроен для выполнения с минимальными привилегиями:

  1. В службах Windows найдите службу расширений Microsoft SQL Server. Убедитесь, что служба запущена в качестве учетной записи NT Service\SqlServerExtensionслужбы. 

  2. Откройте планировщик задач на сервере и проверка, в соответствии Microsoft\SqlServerExtensionс которым создается запланированная задача с именемSqlServerExtensionPermissionProvider. Эта задача выполняется почасово, чтобы добавить или удалить разрешения по мере необходимости в зависимости от того, какие функции включены и отключены.

  3. Откройте СРЕДУ SQL Server Management Studio и проверка имя NT Service\SqlServerExtensionвхода. Убедитесь, что учетная запись назначена следующим разрешениям:

    • Подключение SQL
    • Просмотр состояния базы данных
    • Просмотр состояния сервера
  4. Проверьте разрешения с помощью следующих запросов:

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

    EXECUTE AS LOGIN = 'NT Service\SqlServerExtension'  
    SELECT * FROM fn_my_permissions (NULL, 'SERVER");
    

    Чтобы проверить разрешения на уровне базы данных, замените <database name> имя одной из баз данных и выполните следующий запрос:

    EXECUTE AS LOGIN = 'NT Service\SqlServerExtension'  
    USE <database name>; 
    SELECT * FROM fn_my_permissions (NULL, 'database");
    

Отключить наименьшие привилегии

Чтобы отключить наименьшие привилегии, задайте для флага LeastPrivilege функции значение false. Чтобы выполнить эту задачу, выполните следующую команду с обновленными значениями для <resource-group> и <machine-name>:

az sql server-arc extension feature-flag set --name LeastPrivilege --enable false --resource-group <resource-group> --machine-name <machine-name>

Например, следующая команда отключает минимальные привилегии для сервера с именем в группе ресурсов с именем myservermyrg:

az sql server-arc extension feature-flag set --name LeastPrivilege --enable false --resource-group myrg --machine-name myserver