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


Строки подключения службы хранилища

Область применения: ✅Microsoft Fabric✅Azure Data Explorer

Служба Kusto может взаимодействовать с внешними службами хранилища. Например, можно создать служба хранилища Azure внешние таблицы для запроса данных, хранящихся во внешних хранилищах.

Поддерживаются следующие типы внешнего хранилища:

  • Хранилище BLOB-объектов Azure
  • Azure Data Lake Storage 2-го поколения
  • Хранилище Azure Data Lake Storage 1-го поколения
  • Amazon S3

Каждый тип хранилища имеет соответствующие форматы строка подключения, используемые для описания ресурсов хранилища и их доступа. Формат URI используется для описания этих ресурсов хранилища и свойств, необходимых для доступа к ним, таких как учетные данные безопасности.

Примечание.

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

Шаблоны строка подключения хранилища

Каждый тип хранилища имеет другой формат строка подключения. В следующей таблице приведены шаблоны строка подключения для каждого типа хранилища.

Тип хранилища Схема Шаблон URI
Хранилище BLOB-объектов Azure https:// https://Контейнер StorageAccountName.blob.core.windows.net/[/BLOBName][CallerCredentials]
Azure Data Lake Storage 2-го поколения https:// https://StorageAccountName Filesystem[/PathToDirectoryOrFile][CallerCredentials].dfs.core.windows.net/
Azure Data Lake Storage 2-го поколения abfss:// abfss://Filesystem@StorageAccountName.dfs.core.windows.net/[PathToDirectoryOrFile][CallerCredentials]
Хранилище Azure Data Lake Storage 1-го поколения adl:// adl://StorageAccountName.azuredatalakestore.net/ PathToDirectoryOrFile[CallerCredentials]
Amazon S3 https:// https://Объект BucketName RegionName.amazonaws.com/.s3.[CallerCredentials]
Веб-службы HTTP https:// https:///Имя узла PathAndQuery

Примечание.

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

Способы проверки подлинности в хранилище

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

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

Поддержка проверки подлинности по типу хранилища

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

Authentication method Доступно в хранилище BLOB-объектов? Доступно в Azure Data Lake Storage 2-го поколения? Доступно в Azure Data Lake Storage 1-го поколения? Доступно в Amazon S3? Когда следует использовать этот метод?
Олицетворение ✔️ ✔️ ✔️ Используйте для потоков, когда требуется сложный контроль доступа к внешнему хранилищу. Например, в потоках непрерывного экспорта. Вы также можете ограничить доступ к хранилищу на уровне пользователя.
Управляемое удостоверение ✔️ ✔️ ✔️ Используйте в автоматических потоках, где субъект Microsoft Entra не может быть производным для выполнения запросов и команд. Управляемые удостоверения — это единственное решение для проверки подлинности.
Ключ общего доступа (SAS) ✔️ ✔️ Маркеры SAS имеют время окончания срока действия. Используется при доступе к хранилищу в течение ограниченного времени.
Маркер доступа Microsoft Entra ✔️ ✔️ ✔️ Маркеры Microsoft Entra имеют срок действия. Используется при доступе к хранилищу в течение ограниченного времени.
Ключ доступа к учетной записи хранения ✔️ ✔️ Когда необходимо получить доступ к ресурсам на постоянной основе.
Ключи программного доступа Amazon Web Services ✔️ Когда необходимо получить доступ к ресурсам Amazon S3 на постоянной основе.
URL-адрес предварительно назначенного URL-адреса Amazon Web Services S3 ✔️ Если вам нужно получить доступ к ресурсам Amazon S3 с заданным URL-адресом.

Имперсонация

Kusto олицетворяет основное удостоверение запрашивающего пользователя для доступа к ресурсу. Чтобы использовать олицетворение, добавьте ;impersonate в строка подключения.

Пример
"https://fabrikam.blob.core.windows.net/container/path/to/file.csv;impersonate"

Субъект должен иметь необходимые разрешения для выполнения операции. Например, в Хранилище BLOB-объектов Azure для чтения из большого двоичного объекта субъекту требуется роль средства чтения данных BLOB-объектов хранилища и экспортировать его в большой двоичный объект, которому требуется роль участника данных BLOB-объектов хранилища. Дополнительные сведения см. в разделе Хранилище BLOB-объектов Azure / Data Lake Storage 2-го поколения управления доступом или Data Lake Storage 1-го поколения контроля доступа.

Управляемое удостоверение

Azure Data Explorer выполняет запросы от имени управляемого удостоверения и использует его удостоверение для доступа к ресурсам. Для управляемого удостоверения, назначаемого системой, добавьте ;managed_identity=system в строка подключения. Для управляемого удостоверения, назначаемого пользователем, добавьте ;managed_identity={object_id} в строка подключения.

Тип управляемого удостоверения Пример
Назначаемое системой "https://fabrikam.blob.core.windows.net/container/path/to/file.csv;managed_identity=system"
Назначаемое пользователем "https://fabrikam.blob.core.windows.net/container/path/to/file.csv;managed_identity=12345678-1234-1234-1234-1234567890ab"

Управляемое удостоверение должно иметь необходимые разрешения для выполнения операции. Например, в Хранилище BLOB-объектов Azure для чтения из управляемого удостоверения требуется роль средства чтения данных BLOB-объектов хранилища, а для экспорта в управляемый идентификатор требуется роль участника данных BLOB-объектов хранилища. Дополнительные сведения см. в разделе Хранилище BLOB-объектов Azure / Data Lake Storage 2-го поколения управления доступом или Data Lake Storage 1-го поколения контроля доступа.

Примечание.

Управляемое удостоверение поддерживается только в определенных потоках Azure Data Explorer и требует настройки политики управляемого удостоверения. Дополнительные сведения см. в обзоре управляемых удостоверений.

Маркер общего доступа (SAS)

В портал Azure создайте маркер SAS с необходимыми разрешениями.

Например, чтобы прочитать из внешнего хранилища разрешения на чтение и список, а также экспортировать в внешнее хранилище, укажите разрешения на запись. Дополнительные сведения см. в статье об делегировании доступа с помощью подписанного URL-адреса.

Используйте URL-адрес SAS в качестве строка подключения.

Пример
"https://fabrikam.blob.core.windows.net/container/path/to/file.csv?sv=...&sp=rwd"

Маркер доступа Microsoft Entra

Чтобы добавить маркер доступа Microsoft Entra в кодировке Base-64, добавьте ;token={AadToken} его в строка подключения. Маркер должен быть для ресурса https://storage.azure.com/.

Дополнительные сведения о создании маркера доступа Microsoft Entra см. в статье о получении маркера доступа для авторизации.

Пример
"https://fabrikam.blob.core.windows.net/container/path/to/file.csv;token=1234567890abcdef1234567890abcdef1234567890abc..."

Ключ доступа к учетной записи хранения

Чтобы добавить ключ доступа к учетной записи хранения, добавьте ключ в строка подключения. В Хранилище BLOB-объектов Azure добавьте ;{key} строка подключения. Для Azure Data Lake Storage 2-го поколения добавьте ;sharedkey={key} строка подключения.

Storage account Пример
Хранилище BLOB-объектов Azure "https://fabrikam.blob.core.windows.net/container/path/to/file.csv;ljkAkl...=="
Azure Data Lake Storage 2-го поколения "abfss://fs@fabrikam.dfs.core.windows.net/path/to/file.csv;sharedkey=sv=...&sp=rwd"

Ключи программного доступа Amazon Web Services

Чтобы добавить ключи доступа к Amazon Web Services, добавьте ;AwsCredentials={ACCESS_KEY_ID},{SECRET_ACCESS_KEY} его в строка подключения.

Пример
"https://yourbucketname.s3.us-east-1.amazonaws.com/path/to/file.csv;AwsCredentials=AWS1234567890EXAMPLE,1234567890abc/1234567/12345678EXAMPLEKEY"

URL-адрес предварительно назначенного URL-адреса Amazon Web Services S3

Используйте предварительно подписанный URL-адрес S3 в качестве строка подключения.

Пример
"https://yourbucketname.s3.us-east-1.amazonaws.com/file.csv?12345678PRESIGNEDTOKEN"

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