Использование управляемого удостоверения для запуска политики обновления
Область применения: ✅Azure Data Explorer
Политика обновления должна быть настроена с управляемым удостоверением в следующих сценариях:
- Когда запрос политики обновления ссылается на таблицы в других базах данных
- Когда запрос политики обновления ссылается на таблицы с включенной политикой безопасности на уровне строк
Политика обновления, настроенная с управляемым удостоверением, выполняется от имени управляемого удостоверения.
Из этой статьи вы узнаете, как настроить назначаемое системой или назначаемое пользователем управляемое удостоверение и создать политику обновления с помощью этого удостоверения.
Необходимые компоненты
- Кластер и база данных создают кластер и базу данных.
- Разрешения AllDatabasesAdmin в базе данных.
Настройка управляемого удостоверения
Существует два типа управляемых удостоверений:
Назначаемое системой удостоверение: удостоверение, назначаемое системой, подключено к кластеру и удаляется при удалении кластера. Для каждого кластера разрешено только одно назначаемое системой удостоверение.
Назначаемое пользователем: управляемое удостоверение, назначаемое пользователем, является автономным ресурсом Azure. Несколько назначаемых пользователем удостоверений можно назначить кластеру.
Выберите одну из следующих вкладок, чтобы настроить предпочтительный тип управляемого удостоверения.
Выполните действия, чтобы добавить удостоверение, назначаемое пользователем.
В меню слева ресурса управляемого удостоверения в меню портал Azure выберите "Свойства". Скопируйте и сохраните идентификатор клиента и идентификатор участника для использования в следующих шагах.
Выполните следующую команду
/>alter-merge policy managed_identity, заменив политику управляемого удостоверения в кластере, которая позволяет использовать управляемое удостоверение с политикой обновления.<objectId>
идентификатор субъекта управляемого удостоверения на предыдущем шаге. Эта команда задает.alter-merge cluster policy managed_identity ```[ { "ObjectId": "<objectId>", "AllowedUsages": "AutomatedFlows" } ]```
Примечание.
Чтобы задать политику в определенной базе данных, используйте
database <DatabaseName>
вместоcluster
нее.Выполните следующую команду, чтобы предоставить разрешения средства просмотра управляемых удостоверений для всех баз данных, на которые ссылается запрос политики обновления.
.add database <DatabaseName> viewers ('aadapp=<objectId>;<tenantId>')
Замените
<DatabaseName>
соответствующую базу данных<objectId>
идентификатором субъекта управляемого удостоверения с шага 2 и<tenantId>
идентификатором клиента Идентификатора Microsoft Entra с шага 2.
Создание политики обновления
Выберите одну из следующих вкладок, чтобы создать политику обновления, которая выполняется от имени назначаемого пользователем или назначаемого системой управляемого удостоверения.
Выполните команду обновления политики .alter table с свойством, ManagedIdentity
заданным для идентификатора объекта управляемого удостоверения.
Например, следующая команда изменяет политику обновления таблицы MyTable
в базе данных MyDatabase
. Важно отметить, что оба Source
Query
параметра должны ссылаться только на объекты в той же базе данных, где определена политика обновления. Однако код, содержащийся в функции, указанной в параметре Query
, может взаимодействовать с таблицами, расположенными в других базах данных. Например, функция MyUpdatePolicyFunction()
может получить доступ OtherTable
OtherDatabase
от имени управляемого удостоверения, назначаемого пользователем. <objectId>
должен быть идентификатором объекта управляемого удостоверения.
.alter table MyDatabase.MyTable policy update
```
[
{
"IsEnabled": true,
"Source": "MyTable",
"Query": "MyUpdatePolicyFunction()",
"IsTransactional": false,
"PropagateIngestionProperties": false,
"ManagedIdentity": "<objectId>"
}
]
```