Использование управляемого удостоверения для запуска политики обновления

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

  • Когда запрос политики обновления ссылается на таблицы в других базах данных.
  • Когда запрос политики обновления ссылается на таблицы с включенной политикой безопасности на уровне строк.

Политика обновления, настроенная с управляемым удостоверением, выполняется от имени управляемого удостоверения.

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

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

Настройка управляемого удостоверения

Существует два типа управляемых удостоверений:

  • Назначаемое системой удостоверение: удостоверение, назначаемое системой, подключено к кластеру и удаляется при удалении кластера. Для каждого кластера разрешено только одно назначаемое системой удостоверение.

  • Назначаемое пользователем: управляемое удостоверение, назначаемое пользователем, является автономным ресурсом Azure. Несколько назначаемых пользователем удостоверений можно назначить кластеру.

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

  1. Выполните действия, чтобы добавить удостоверение, назначаемое пользователем.

  2. В меню слева ресурса управляемого удостоверения в меню портал Azure выберите "Свойства". Скопируйте и сохраните идентификатор клиента и идентификатор участника для использования в следующих шагах.

    Снимок экрана: область портал Azure с идентификаторами управляемых удостоверений.

  3. Выполните следующую команду alter-merge policy managed_identity , заменив <objectId> идентификатор объекта управляемого удостоверения на предыдущем шаге. Эта команда задает политику управляемого удостоверения в кластере, которая позволяет использовать управляемое удостоверение с политикой обновления.

    .alter-merge cluster policy managed_identity ```[
        {
          "ObjectId": "<objectId>",
          "AllowedUsages": "AutomatedFlows"
        }
    ]```
    

    Примечание.

    Чтобы задать политику в определенной базе данных, используйте database <DatabaseName> вместо clusterнее.

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

    .add database <DatabaseName> viewers ('aadapp=<objectId>;<tenantId>')
    

    Замените <DatabaseName> соответствующую базу данных <objectId> на идентификатор субъекта управляемого удостоверения с шага 2 и <tenantId> идентификатором клиента Идентификатора Microsoft Entra с шага 2.

Создание политики обновления

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

Выполните команду обновления политики .alter table с свойством, ManagedIdentity заданным для идентификатора объекта управляемого удостоверения.

Например, следующая команда изменяет политику обновления таблицы MyTable в базе данных MyDatabase. Важно отметить, что оба SourceQuery параметра должны ссылаться только на объекты в той же базе данных, где определена политика обновления. Однако код, содержащийся в функции, указанной в параметре Query , может взаимодействовать с таблицами, расположенными в других базах данных. Например, функция MyUpdatePolicyFunction() может получить доступ OtherTableOtherDatabase от имени управляемого удостоверения, назначаемого пользователем. <objectId> должен быть идентификатором объекта управляемого удостоверения.

.alter table MyDatabase.MyTable policy update
```
[
    {
        "IsEnabled": true,
        "Source": "MyTable",
        "Query": "MyUpdatePolicyFunction()",
        "IsTransactional": false,
        "PropagateIngestionProperties": false,
        "ManagedIdentity": "<objectId>"
    }
]
```