Проверка подлинности внешних таблиц с помощью управляемых удостоверений
Внешняя таблица — это сущность схемы, которая ссылается на данные, хранящиеся за пределами базы данных Azure Data Explorer. Внешние таблицы можно определить для ссылки на данные в служба хранилища Azure или SQL Server и поддерживать различные методы проверки подлинности.
Из этой статьи вы узнаете, как создать внешнюю таблицу, которая проходит проверку подлинности с помощью управляемого удостоверения.
Необходимые компоненты
- Кластер и база данных Azure Data Explorer. Создайте кластер и базу данных.
- Разрешения администратора базы данных в базе данных Azure Data Explorer.
1. Настройка управляемого удостоверения для использования с внешними таблицами
Существует два типа управляемых удостоверений:
Назначаемое системой удостоверение: удостоверение, назначаемое системой, подключено к кластеру и удаляется при удалении кластера. Для каждого кластера разрешено только одно назначаемое системой удостоверение.
Назначаемое пользователем: управляемое удостоверение, назначаемое пользователем, является автономным ресурсом Azure. Несколько назначаемых пользователем удостоверений можно назначить кластеру.
Выберите одну из следующих вкладок, чтобы настроить предпочтительный тип управляемого удостоверения.
Выполните действия, чтобы добавить удостоверение , назначаемое пользователем, в кластер, и сохраните идентификатор объекта (субъекта) для последующего использования.
Выполните команду
/>alter-merge policy managed_identity . Эта команда задает политику управляемого удостоверения в кластере, которая позволяет использовать управляемое удостоверение с внешними таблицами. Замените <objectId>
идентификатором объекта (субъекта)..alter-merge cluster policy managed_identity ```[ { "ObjectId": "<objectId>", "AllowedUsages": "ExternalTable" } ]```
Примечание.
Чтобы задать политику в определенной базе данных, используйте
database <DatabaseName>
вместоcluster
нее.
2. Предоставление разрешений внешнего ресурса управляемого удостоверения
Управляемое удостоверение должно иметь разрешения на внешний ресурс, чтобы успешно пройти проверку подлинности.
Выберите вкладку для соответствующего типа внешнего ресурса и назначьте необходимые разрешения.
В следующей таблице показаны необходимые разрешения по внешнему ресурсу. Чтобы импортировать или запросить данные из внешнего ресурса, предоставьте управляемому удостоверению разрешения на чтение. Чтобы экспортировать данные во внешний ресурс, предоставьте разрешения на запись управляемого удостоверения.
Внешнее хранилище данных | чтение; | Разрешения на запись | Предоставление разрешений |
---|---|---|---|
Хранилище BLOB-объектов Azure | Читатель данных больших двоичных объектов хранилища | Участник данных BLOB-объектов хранилища | Назначение роли Azure |
Data Lake Storage 2-го поколения | Читатель данных больших двоичных объектов хранилища | Участник данных BLOB-объектов хранилища | Назначение роли Azure |
Azure Data Lake Storage 1-го поколения | Читатель | Участник | Назначение роли Azure |
3. Создание внешней таблицы
Существует два типа внешних таблиц, поддерживающих проверку подлинности с управляемыми удостоверениями: служба хранилища Azure внешние таблицы и внешние таблицы SQL Server.
Выберите одну из следующих вкладок, чтобы настроить внешнюю таблицу служба хранилища Azure или SQL Server.
Чтобы создать служба хранилища Azure внешнюю таблицу, сделайте следующее:
Создайте строка подключения на основе шаблонов строка подключения хранилища. Эта строка указывает ресурс для доступа и сведений о проверке подлинности. Укажите метод проверки подлинности управляемого удостоверения.
Запустите .create или .alter external table, чтобы создать таблицу. Используйте строка подключения из предыдущего шага в качестве аргумента storageConnectionString.
Пример
Следующая команда создает MyExternalTable
данные, отформатированные в формате CSV, в mycontainer
mystorageaccount
Хранилище BLOB-объектов Azure. В таблице есть два столбца, один для целого числа x
и один для строки s
. Строка подключения заканчивается с помощью ;managed_identity=system
управляемого удостоверения, назначаемого системой, для проверки подлинности для доступа к хранилищу данных.
.create external table MyExternalTable (x:int, s:string) kind=storage dataformat=csv
(
h@'https://mystorageaccount.blob.core.windows.net/mycontainer;managed_identity=system'
)
Примечание.
Чтобы пройти проверку подлинности с помощью управляемого удостоверения, назначаемого пользователем, замените system
идентификатором объекта управляемого удостоверения.