Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описано, как зарегистрировать Snowflake, а также как проверить подлинность Snowflake и взаимодействовать с ним в Microsoft Purview. Дополнительные сведения о Microsoft Purview см. в обзоре Microsoft Purview.
Важно!
Snowflake объявила об устаревании базовой проверки подлинности и планирует отключить ее к августу 2026 года. Чтобы согласовать изменения и избежать сбоев в работе служб, клиенты Microsoft Purview, использующие соединитель Карты данных Snowflake, должны перейти на проверку подлинности пары ключей (SHIR).
Рекомендуемое действие (завершено к июлю 2026 г.): Чтобы предоставить клиентам больше времени, Snowflake позволяет пользователям служб типа LEGACY_SERVICE продолжать использовать обычную проверку подлинности до июля 2026 г. Эта политика помогает гарантировать, что при переходе на новый метод проверки подлинности служба не прерывает работу службы. Вы можете продолжать использовать обычную проверку подлинности в течение ограниченного периода времени, одновременно настраивая и проверяя новую пару ключей механизма проверки подлинности.
Мы рекомендуем клиентам Microsoft Purview обновить своих пользователей до типа LEGACY_SERVICE . Это изменение обеспечивает постоянный доступ и предоставляет больше времени для завершения перехода. Это обновление должно быть завершено до конца июля 2026 г., выполнив следующую команду в Snowflake:
*ALTER USER <purview_user_name> SET TYPE = LEGACY_SERVICE;Создание новых пользователей с типом LEGACY_SERVICE запрещено с августа 2026 г.
Поддерживаемые возможности
В следующих разделах описаны возможности, доступные при сканировании Snowflake в Microsoft Purview.
Возможности сканирования
В следующей таблице перечислены возможности сканирования, поддерживаемые Snowflake в Microsoft Purview.
| Извлечение метаданных | Полная проверка | Добавочное сканирование | Сканирование с заданной областью |
|---|---|---|---|
| Да | Да | Нет | Да |
При сканировании источника Snowflake Microsoft Purview поддерживает:
Извлечение технических метаданных, включая:
- Сервер
- Databases
- Схемы
- Таблицы, включая столбцы, внешние ключи и ограничения уникальности
- Представления, включая столбцы
- Хранимые процедуры, включая набор данных параметров и результирующий набор
- Функции, включая набор данных параметров
- Трубы
- Stages
- Потоки, включая столбцы
- Задачи
- Последовательности
Получение статического происхождения данных о связях ресурсов между таблицами, представлениями, потоками и хранимыми процедурами.
Для хранимых процедур можно выбрать уровень сведений для извлечения в разделе Создание и запуск сканирования . Происхождение хранимых процедур поддерживается для языков Сценариев Snowflake (SQL) и JavaScript и создается на основе определения процедуры.
При настройке сканирования можно выбрать проверку одной или нескольких баз данных Snowflake полностью на основе заданных имен или шаблонов имен, или дополнительно область сканирование подмножество схем, соответствующих заданным именам или шаблонам имен.
Другие возможности
Сведения о классификациях, метках конфиденциальности, политиках, происхождении данных и динамическом представлении см. в списке поддерживаемых возможностей.
Известные ограничения
Учитывайте следующие ограничения при сканировании Snowflake в Microsoft Purview.
- При удалении объекта из источника данных последующее сканирование не удаляет соответствующий ресурс в Microsoft Purview автоматически.
- Происхождение хранимых процедур не поддерживается для следующих шаблонов:
- Хранимая процедура, определенная на языках Java, Python и Scala.
- Хранимая процедура с использованием SQL EXECUTE IMMEDIATE со статическим SQL-запросом в качестве переменной.
Предварительные условия
Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно.
Активная учетная запись Microsoft Purview.
Для регистрации источника данных и управления им на портале Microsoft Purview требуются разрешения администратора источников и читателя данных. Дополнительные сведения о разрешениях см. в статье Управление доступом в Microsoft Purview.
Выберите правильную конфигурацию среды выполнения интеграции для своего сценария.
- Чтобы использовать управляемое виртуальная сеть Integration Runtime для подключения к Snowflake через приватный канал, выполните действия, описанные в разделе Подключение к Snowflake через управляемую частную конечную точку, чтобы настроить частную конечную точку.
- Чтобы использовать для сканирования локальные Integration Runtime, настройте последнюю локальную среду выполнения интеграции. Дополнительные сведения см. в руководстве по созданию и настройке локальной среды выполнения интеграции.
- Убедитесь, что JDK 11 установлен на компьютере, где установлена локальная среда выполнения интеграции. Перезапустите компьютер после установки JDK, чтобы он вступил в силу.
- Убедитесь, что на локальном компьютере среды выполнения интеграции установлен Распространяемый компонент Visual C++ (версия Visual Studio 2012 с обновлением 4 или более поздней). Если это обновление не установлено, скачайте Распространяемый компонент Visual C++.
Необходимые разрешения для сканирования
Microsoft Purview поддерживает обычную проверку подлинности (имя пользователя и пароль) для сканирования Snowflake. Для выполнения проверки будет использоваться роль указанного пользователя по умолчанию. Пользователь Snowflake должен иметь права на использование хранилища и баз данных для проверки, а также доступ на чтение к системным таблицам для доступа к расширенным метаданным.
Ниже приведен пример пошагового руководства по созданию пользователя специально для проверки Microsoft Purview и настройки разрешений. Если вы решили использовать существующего пользователя, убедитесь, что у него есть достаточные права на объекты хранилища и базы данных.
Настройка
purview_readerроли. Для этого вам потребуются права ACCOUNTADMIN .USE ROLE ACCOUNTADMIN; --create role to allow read only access - this will later be assigned to the Microsoft Purview user CREATE OR REPLACE ROLE purview_reader; --make sysadmin the parent role GRANT ROLE purview_reader TO ROLE sysadmin;Создайте хранилище для Microsoft Purview для использования и предоставления прав.
--create warehouse - account admin required CREATE OR REPLACE WAREHOUSE purview_wh WITH WAREHOUSE_SIZE = 'XSMALL' WAREHOUSE_TYPE = 'STANDARD' AUTO_SUSPEND = 300 AUTO_RESUME = TRUE MIN_CLUSTER_COUNT = 1 MAX_CLUSTER_COUNT = 2 SCALING_POLICY = 'STANDARD'; --grant rights to the warehouse GRANT USAGE ON WAREHOUSE purview_wh TO ROLE purview_reader;Создайте пользователя
purviewдля проверки Microsoft Purview.CREATE OR REPLACE USER purview PASSWORD = '<password>'; --note the default role will be used during scan ALTER USER purview SET DEFAULT_ROLE = purview_reader; --add user to purview_reader role GRANT ROLE purview_reader TO USER purview;Предоставьте права чтения объектам базы данных.
GRANT DATABASE ROLE SNOWFLAKE.OBJECT_VIEWER TO USER purview_reader; GRANT USAGE ON DATABASE <your_database_name> TO purview_reader; --grant reader access to all the database structures that purview can currently scan GRANT USAGE ON ALL SCHEMAS IN DATABASE <your_database_name> TO role purview_reader; GRANT USAGE ON ALL FUNCTIONS IN DATABASE <your_database_name> TO role purview_reader; GRANT USAGE ON ALL PROCEDURES IN DATABASE <your_database_name> TO role purview_reader; GRANT SELECT ON ALL TABLES IN DATABASE <your_database_name> TO role purview_reader; GRANT SELECT ON ALL VIEWS IN DATABASE <your_database_name> TO role purview_reader; GRANT USAGE, READ on ALL STAGES IN DATABASE <your_database_name> TO role purview_reader; --grant reader access to any future objects that could be created GRANT USAGE ON FUTURE SCHEMAS IN DATABASE <your_database_name> TO role purview_reader; GRANT USAGE ON FUTURE FUNCTIONS IN DATABASE <your_database_name> TO role purview_reader; GRANT USAGE ON FUTURE PROCEDURES IN DATABASE <your_database_name> TO role purview_reader; GRANT SELECT ON FUTURE TABLES IN DATABASE <your_database_name> TO role purview_reader; GRANT SELECT ON FUTURE VIEWS IN DATABASE <your_database_name> TO role purview_reader; GRANT USAGE, READ ON FUTURE STAGES IN DATABASE <your_database_name> TO role purview_reader;
Регистрация
В этом разделе описывается, как зарегистрировать Snowflake в Microsoft Purview с помощью классического портала управления Microsoft Purview.
Действия по регистрации
Чтобы зарегистрировать новый источник Snowflake в Единый каталог Microsoft Purview, выполните следующие действия.
- Перейдите к учетной записи Microsoft Purview на классическом портале управления Microsoft Purview.
- Выберите Карта данных в области навигации слева.
- Выберите Зарегистрировать.
- В разделе Регистрация источников выберите Snowflake. Нажмите Продолжить.
На экране Регистрация источников (Snowflake) выполните следующие действия.
Введите имя , которое источник данных будет указан в каталоге.
Введите URL-адрес сервера в виде
<account_identifier>.snowflakecomputing.com, напримерorgname-accountname.snowflakecomputing.com. Дополнительные сведения об идентификаторе учетной записи Snowflake. Обратите внимание, что этот URL-адрес используется как часть полного имени ресурсов Snowflake и является конечной точкой по умолчанию для Microsoft Purview для подключения к Snowflake во время сканирования.При необходимости добавьте дополнительные узлы . Укажите его, если операции сканирования должны подключаться к конечной точке Snowflake, отличной от URL-адреса сервера. Во время настройки проверки можно выбрать узел для подключения.
Совет
Если вы уже сканировали Snowflake, но хотите переключиться на использование другой конечной точки, например из общедоступной конечной точки в частную конечную точку, можно добавить другой узел в источник данных и выбрать этот узел для подключения при проверке, чтобы убедиться, что Microsoft Purview создает ресурсы с тем же полным именем, что и ранее.
При регистрации источника данных Microsoft Purview выполняет уникальность проверка, что URL-адрес сервера и другие узлы не перекрываются с существующими источниками.
Выберите коллекцию из списка.
Завершите регистрацию источника данных.
Проверка
Выполните следующие действия, чтобы проверить Snowflake для автоматической идентификации ресурсов. Дополнительные сведения о сканировании в целом см. в статье Введение в сканирование и прием данных.
Проверка подлинности для сканирования
Поддерживаемые типы проверки подлинности для источника Snowflake: обычная проверка подлинности и пара ключей.
Выполните этот процесс, чтобы настроить учетные данные пары ключей.
Предварительные требования для проверки подлинности с помощью пары ключей
Перед началом работы убедитесь, что у вас есть:
Доступ к снежинке
Учетная запись Snowflake с правами администратора
Учетная запись пользователя для проверки Microsoft Purview (например, purview_scanner)
Доступ для выполнения команд ALTER USER
Средства & программное обеспечение
Установленный OpenSSL (для создания ключей)
Azure CLI или PowerShell (для операций Key Vault)
Доступ к порталу Microsoft Purview
Убедитесь, что у вас есть Microsoft Open JDK 11. Скачайте Microsoft Open JDK 11. Другие варианты JDK могут иметь проблемы с расширенными зашифрованными алгоритмами.
Пошаговая настройка
Часть 1. Конфигурация Snowflake
Этот шаг включает создание открытого и закрытого ключей, а затем назначение открытого ключа пользователю purview ("purview_scanner" в приведенном ниже примере), который подключается к Snowflake для выполнения сканирования.
Шаг 1.1. Создание пары ключей RSA
- Создание закрытого ключа
Откройте терминал и создайте закрытый ключ:
--For Encrypted Private Key (Recommended):
openssl genrsa 2048 | openssl pkcs8 -topk8 -v2 aes-256-cbc -v2prf hmacWithSHA512 - inform PEM -out rsa_key.p8
--Note: You'll be prompted to enter a passphrase. Remember this passphrase!
ИЛИ
--For Unencrypted Private Key:
openssl genrsa 2048 | openssl pkcs8 -topk8 -v2 aes-256-cbc -v2prf hmacWithSHA512 - inform PEM -out rsa_key.p8 -nocrypt
Примечание. Используйте приведенные выше команды для создания ключа.
- Создание открытого ключа
openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
- Извлечение содержимого открытого ключа
Просмотр и копирование содержимого открытого ключа (за исключением заголовков):
cat rsa_key.pub
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
... -----END PUBLIC KEY-----
Скопируйте все данные между строками BEGIN и END (не включайте линии-разделители).
Шаг 1.2. Назначение открытого ключа пользователю Snowflake
Подключитесь к Snowflake и выполните:
-- Create user if it doesn't exist
CREATE USER IF NOT EXISTS purview_scanner
DEFAULT_ROLE = 'PUVRIEW_READER'
TYPE = 'SERVICE' ;
-- Assign the public key (paste your key without the BEGIN/END lines)
ALTER USER purview_scanner
SET RSA_PUBLIC_KEY='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...';
-- Grant necessary privileges
GRANT ROLE purview_reader TO USER purview_scanner;
-- Verify the fingerprint
DESC USER purview_scanner;
Шаг 1.3. Проверка конфигурации ключа [необязательный шаг для проверки]
Проверьте соответствие общедоступного отпечаток ключа:
В Snowflake:
DESC USER purview_scanner ->> SELECT SUBSTR(
(SELECT "value" FROM $1
WHERE "property" = 'RSA_PUBLIC_KEY_FP'),
LEN('SHA256:') + 1) AS key;
В командной строке:
openssl rsa -pubin -in rsa_key.pub -outform DER | openssl dgst -sha256 -binary | openssl
enc -base64
Обратите внимание, что оба должны создавать один и тот же хэш отпечатков пальцев.
Часть 2. Настройка Azure Key Vault
Шаг 2.1. Подготовка содержимого закрытого ключа
Просмотр закрытого ключа:
cat rsa_key.p8
Скопируйте все содержимое, включая строки -----BEGIN ENCRYPTED PRIVATE KEY----- и -----END ENCRYPTED PRIVATE KEY-----.
Шаг 2.2. Хранение секретов в Azure Key Vault
В Azure Key Vault необходимо хранить два секрета:
Секрет 1: закрытый ключ
КРИТИЧЕСКОЕ ТРЕБОВАНИЕ. Закрытый ключ должен храниться с помощью Azure CLI или Azure Cloud Shell.
НЕ используйте пользовательский интерфейс портала Azure для создания секрета закрытого ключа, так как:
Текстовые данные портала Azure не сохраняют многострочное форматирование
Он преобразует разрывы строк в пробелы, повреждая формат PEM.
Подключения Snowflake будут завершатся ошибкой с неправильными ключевыми ошибками
Секрет пароля или парольной фразы можно создать на портале (однострочное значение).
Способ 1. Azure CLI (рекомендуется)
# Replace with your values
KEY_VAULT_NAME="your-keyvault-name"
CREDENTIAL_NAME="snowflake-purview-cred"
# Store the private key from file (preserves multi-line format)
az keyvault secret set \
--vault-name $KEY_VAULT_NAME \
--name "${CREDENTIAL_NAME}-privateKey" \
--file rsa_key.p8
ИЛИ
Способ 2. Azure Cloud Shell
Открыть Azure Cloud Shell (https://shell.azure.com)
Отправьте файл rsa_key.p8 с помощью кнопки "Отправить" (значок папки)
Выполните команду:
az keyvault secret set \
--vault-name your-keyvault-name \
--name "snowflake-purview-cred-privateKey" \
--file rsa_key.p8
ИЛИ
Метод 3. PowerShell с Azure CLI
# Read the private key preserving line breaks
$privateKeyContent = Get-Content -Path "rsa_key.p8" -Raw
# Store in Key Vault using Azure CLI
az keyvault secret set `
--vault-name "your-keyvault-name" `
--name "snowflake-purview-cred-privateKey" `
--value $privateKeyContent
ИЛИ
Проверка формата закрытого ключа после отправки: [необязательный шаг]
# Retrieve and check the secret maintains proper formatting
az keyvault secret show \
--vault-name $KEY_VAULT_NAME \
--name "${CREDENTIAL_NAME}-privateKey" \
--query value -o tsv
# Expected output: Multiple lines like this
# -----BEGIN ENCRYPTED PRIVATE KEY-----
# MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQI...
# (multiple lines of base64 encoded content)
# ...
# -----END ENCRYPTED PRIVATE KEY-----
Правильно: несколько строк с сохраненными разрывами строк
Неправильно: одна длинная строка или текст с пробелами вместо новых строк
Секрет 2: парольная фраза закрытого ключа
Парольную фразу можно создать с помощью портала Azure или Azure CLI (это однострочное значение).
# Store the passphrase (if your key is encrypted)
az keyvault secret set \
--vault-name $KEY_VAULT_NAME \
--name "${CREDENTIAL_NAME}-password" \
--value "your_passphrase_here"
Важно: Если вы использовали незашифрованный закрытый ключ, необходимо по-прежнему создать секрет пароля, но присвоить ему пустую строку или заполнитель.
Использование портала Azure:
Перейдите в раздел Секреты → создание и импорт
Имя: snowflake-purview-cred.password
Значение: парольная фраза (или пустая строка для незашифрованных ключей)
Нажмите кнопку Создать
Создание и запуск сканирования
Чтобы создать и запустить проверку, выполните следующие действия.
На классическом портале управления Microsoft Purview перейдите в раздел Источники.
Выберите зарегистрированный источник Snowflake.
Выберите + Создать сканирование.
Укажите следующие сведения.
Имя: имя сканирования
Подключение через среду выполнения интеграции. Выберите среду выполнения интеграции Azure, управляемую виртуальная сеть ir или SHIR в соответствии с вашим сценарием. Дополнительные сведения см . в статье Выбор правильной конфигурации среды выполнения интеграции для вашего сценария. Чтобы использовать управляемое виртуальная сеть IR для подключения к Snowflake через приватный канал, выполните действия, описанные в разделе Подключение к Snowflake через управляемую частную конечную точку, чтобы сначала настроить частную конечную точку.
Узел для подключения. Выберите конечную точку, используемую для подключения к Snowflake во время проверки. Вы можете выбрать URL-адрес сервера или другие узлы, настроенные в разделе Регистрация.
Учетные данные. Выберите учетные данные для подключения к источнику данных.
При использовании обычной проверки подлинности при создании учетных данных.
- Укажите имя пользователя, используемое для подключения к Snowflake, в поле Ввода имени пользователя.
- Сохраните пароль пользователя, используемый для подключения к Snowflake, в секретном ключе.
При использовании пары ключей при создании учетных данных
Укажите имя пользователя: purview_scanner (ваш пользователь Snowflake)
Справочник по паролю Key Vault:
Подключение Key Vault: выберите Key Vault
Имя секрета: snowflake-purview-cred.password
- Справочник по приватным Key Vault:
Подключение Key Vault: выберите Key Vault
Имя секрета: snowflake-purview-cred.privateKey
Warehouse: укажите имя экземпляра хранилища, используемого для разрешения сканирования в верхнем регистре. Роль по умолчанию, назначенная пользователю, указанному в учетных данных, должна иметь права USAGE в этом хранилище.
Базы данных. Укажите одно или несколько имен экземпляров базы данных для импорта в верхнем регистре. Разделите имена в списке с запятой (;). Например,
DB1;DB2. Роль по умолчанию, назначенная пользователю, указанному в учетных данных, должна иметь соответствующие права на объекты базы данных.Примечание.
Классификация не применяется к таблицам, если указано несколько имен экземпляров базы данных.
Допустимые шаблоны имен баз данных могут быть статическими именами или содержать подстановочные знаки . Например:
A%;%B;%C%;D:- Начните с A или
- Заканчивается на B или
- Содержать C или
- Равный D
Схема: перечисление подмножества схем для импорта, выраженных в виде списка, разделенного точкой с запятой. Например,
schema1;schema2. Все пользовательские схемы импортируются, если этот список пуст. Все системные схемы и объекты по умолчанию игнорируются.Допустимые шаблоны имен схемы с использованием могут быть статическими именами или содержать подстановочные знаки %. Например:
A%;%B;%C%;D:- Начните с A или
- Заканчивается на B или
- Содержать C или
- Равный D
Использование символов NOT и специальных символов недопустимо.
Сведения о хранимой процедуре. Управляет количеством сведений, импортированных из хранимых процедур.
- Сигнатура (по умолчанию) — имя и параметры хранимых процедур.
- Код, сигнатура: имя, параметры и код хранимых процедур.
- Происхождение, код, сигнатура: имя, параметры и код хранимых процедур, а также происхождение данных, производных от кода.
- Нет: сведения о хранимой процедуре не включаются.
Примечание.
Если для проверки используется локальная Integration Runtime, с версии 5.30.8541.1 поддерживается настраиваемый параметр, отличный от сигнатуры по умолчанию. Предыдущие версии всегда извлекают имя и параметры хранимых процедур.
Максимальный доступный объем памяти (применяется при использовании локальной среды выполнения интеграции): максимальный объем памяти (в ГБ), доступный на виртуальной машине клиента для использования процессами сканирования. Это зависит от размера проверяемого источника Snowflake.
Примечание.
Как правило, предоставьте 1 ГБ памяти для каждых 1000 таблиц.
Выберите Проверить подключение, чтобы проверить параметры (доступные при использовании Azure Integration Runtime).
Нажмите Продолжить.
Выберите набор правил сканирования для классификации. Вы можете выбрать системный набор правил по умолчанию, существующие настраиваемые наборы правил или создать новый встроенный набор правил . Дополнительные сведения см. в статье Автоматическое применение классификаций в Microsoft Purview.
Примечание.
Классификация не применяется к таблицам или представлениям, если имя таблицы, имя представления, имя схемы или имя базы данных содержат специальные символы.
Примечание.
Если вы используете локальную среду выполнения, необходимо выполнить обновление до версии 5.26.404.1 или более поздней, чтобы использовать классификацию Snowflake. Скачайте последнюю Microsoft Integration Runtime.
Выберите триггер сканирования. Вы можете настроить расписание или запустить проверку один раз.
Просмотрите проверку и выберите Сохранить и запустить.
Просмотр проверок и запусков сканирования
Чтобы просмотреть существующие проверки, выполните приведенные далее действия.
- Перейдите на портал Microsoft Purview. В левой области выберите Карта данных.
- Выберите источник данных. Список существующих проверок для этого источника данных можно просмотреть в разделе Последние проверки или просмотреть все проверки на вкладке Сканирование .
- Выберите сканирование с результатами, которые вы хотите просмотреть. На панели отображаются все предыдущие запуски сканирования, а также состояние и метрики для каждого запуска сканирования.
- Выберите идентификатор запуска, чтобы проверка сведения о выполнении проверки.
Управление проверками
Чтобы изменить, отменить или удалить сканирование:
Перейдите на портал Microsoft Purview. В левой области выберите Карта данных.
Выберите источник данных. Список существующих проверок для этого источника данных можно просмотреть в разделе Последние проверки или просмотреть все проверки на вкладке Сканирование .
Выберите проверку, которой вы хотите управлять. Далее вы можете:
- Измените сканирование, выбрав Изменить проверку.
- Отмените выполняемую проверку, выбрав Отмена выполнения проверки.
- Удалите сканирование, выбрав Удалить сканирование.
Примечание.
- При удалении сканирования ресурсы каталога, созданные на основе предыдущих проверок, не удаляются.
Lineage
После сканирования источника Snowflake можно просмотреть Единый каталог или выполнить поиск Единый каталог, чтобы просмотреть сведения об активе.
Перейдите на вкладку asset — lineage (Ресурс —> происхождение), и при необходимости вы увидите связь активов. См. раздел поддерживаемых возможностей о поддерживаемых сценариях происхождения происхождения snowflake. Дополнительные сведения о происхождении данных в целом см. в руководстве пользователя по происхождению данных и происхождению данных.
Примечание.
Если представление было создано таблицами из разных баз данных или разными схемами, проверьте все базы данных и схемы одновременно, используя имена в точке с запятой (;) списке.
Подключение к Snowflake через управляемую частную конечную точку
В этом разделе описаны необходимые действия по настройке управляемой частной конечной точки (PE) из Microsoft Purview в Snowflake на Azure. Дополнительные сведения о Приватный канал Azure и Snowflake.
В учетной записи Snowflake получите целевые конечные точки и идентификатор ресурса. Запустите системную функцию SYSTEM$GET_PRIVATELINK_CONFIG() с ролью account Администратор и запишите значения следующих свойств:
- privatelink-pls-id
- privatelink-account-url
- regionless-privatelink-account-url
- privatelink_ocsp-url
use role accountadmin; select key, value::varchar from table(flatten(input=>parse_json(SYSTEM$GET_PRIVATELINK_CONFIG())));В Microsoft Purview создайте управляемую частную конечную точку для Snowflake.
- Выполните действия, описанные в статье Создание управляемого виртуальная сеть Integration Runtime. Если у вас уже есть, убедитесь, что он находится в версии 2, которая поддерживает Snowflake PE.
- Создайте управляемую частную конечную точку для Snowflake. Перейдите в раздел Управляемая частная конечная точка ->+ Создать ->Snowflake и укажите следующие сведения.
- Идентификатор ресурса или псевдоним. Введите полученное значение privatelink-pls-id .
- Полные доменные имена. Добавьте privatelink_ocsp-url, regionless-privatelink-account-url и privatelink-account-url.
После создания среды предустановки состояние подготовки отображается как Состояние успешно выполнено , а состояние утверждения — Ожидание. Откройте PE и найдите страницу СИД ресурса управляемой частной конечной точки на странице сведений.
Обратитесь в службу технической поддержки Snowflake и предоставьте идентификатор ресурса, чтобы Snowflake утвердила эту предустановку.
Когда служба поддержки Snowflake подтвердит, что pe утверждена, вы увидите состояние утверждения управляемой частной конечной точки как Утверждено в Microsoft Purview.
Зарегистрируйте источник данных и настройте проверку. При настройке проверки выберите управляемое виртуальная сеть IR, связанное с pe Snowflake.
Советы по устранению неполадок
Если при регистрации или сканировании Snowflake возникают проблемы, ознакомьтесь со следующими советами.
- Проверьте идентификатор учетной записи на шаге регистрации источника. Не включайте
https://в начало. - Убедитесь, что имя хранилища и имя базы данных находятся в верхнем регистре на странице настройки сканирования.
- Проверьте хранилище ключей. Убедитесь, что в пароле нет опечаток.
- Проверьте учетные данные, настроенные в Microsoft Purview. Указанный пользователь должен иметь роль по умолчанию с необходимыми правами доступа к хранилищу и базе данных, которую вы пытаетесь проверить. См. раздел Необходимые разрешения для сканирования. Используйте
DESCRIBE USER;для проверки роли пользователя по умолчанию, указанного для Microsoft Purview. - Используйте журнал запросов в Snowflake, чтобы узнать, происходит ли какое-либо действие.
- Если возникла проблема с идентификатором учетной записи или паролем, вы не увидите никаких действий.
- Если возникла проблема с ролью по умолчанию, по крайней мере должна отобразиться
USE WAREHOUSE . . .инструкция . - Вы можете использовать функцию таблицы QUERY_HISTORY_BY_USER , чтобы определить, какая роль используется соединением. Настройка выделенного пользователя Microsoft Purview упрощает устранение неполадок.
Устранение неполадок при проверке подлинности пары ключей
В этом разделе рассматриваются распространенные проблемы с подключением при использовании проверки подлинности пары ключей Snowflake в Microsoft Purview.
Проблема 1. "Сбой тестового подключения"
Симптомы: сбой теста подключения в Purview
Возможные причины и решения:
Открытый ключ не назначен
Проверьте в Snowflake: DESC USER purview_scanner;
Проверка RSA_PUBLIC_KEY_FP заполнена
Проблемы с доступом Key Vault
Убедитесь, что у управляемого удостоверения есть разрешения на получение и вывод списка
Проверка параметров брандмауэра Key Vault
Неправильные имена секретов
Убедитесь, что {credentialName}.password существует
Убедитесь, что {credentialName}.privateKey существует
Проблема 2: "Недопустимый формат закрытого ключа" или "Сбой подключения с ошибкой ключа"
Симптомы:
Сбой проверки подлинности с ошибкой "недопустимый формат закрытого ключа"
Проверка подключения немедленно завершается ошибкой
Сообщения об ошибках неправильного формата PEM или синтаксического анализа ключей
Распространенная причина: Закрытый ключ был сохранен на портале Azure (поврежденный многострочный формат)
Решение:
Проверьте, поврежден ли формат ключа:
# Retrieve the secret and check format az keyvault secret show \ --vault-name your-keyvault \ --name "snowflake-purview-cred-privateKey" \ --query value -o tsv | head -5 # Should show multiple lines starting with: # -----BEGIN ENCRYPTED PRIVATE KEY----- # MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w... # (NOT a single long line)В случае повреждения выполните инструкции DELETE и повторно создайте его с помощью интерфейса командной строки:
# Delete the corrupted secret az keyvault secret delete \ --vault-name your-keyvault \ --name "snowflake-purview-cred-privateKey" # Wait for soft-delete purge (or purge immediately if needed) az keyvault secret purge \ --vault-name your-keyvault \ --name "snowflake-purview-cred-privateKey" # Recreate using CLI with --file parameter az keyvault secret set \ --vault-name your-keyvault \ --name "snowflake-purview-cred-privateKey" \ --file rsa_key.p8Дополнительные проверки:
Убедитесь, что закрытый ключ имеет формат PEM PKCS#8
Включите строки -----BEGIN ENCRYPTED PRIVATE KEY----- и -----END ENCRYPTED PRIVATE KEY-----
Сначала проверьте ключ локально:
openssl rsa -in rsa_key.p8 -check
Помните: всегда используйте Azure CLI или Cloud Shell для секретов закрытого ключа, никогда не используйте пользовательский интерфейс портала Azure.
Проблема 3. Несоответствие отпечатков пальцев открытого ключа
Симптом: проверка подлинности выполнена успешно, но используется неправильный ключ
Решение:
# Regenerate public key from private key
openssl rsa -in rsa_key.p8 -pubout -out rsa_key_new.pub
# Verify fingerprint
openssl rsa -pubin -in rsa_key_new.pub -outform DER | openssl dgst sha256 -binary | openssl enc -base64
# Update in Snowflake
ALTER USER purview_scanner SET RSA_PUBLIC_KEY='';
Проблема 4. "Парольная фраза неправильная"
Симптом: Сбой расшифровки ключа
Решение:
Убедитесь, что парольная фраза в Key Vault соответствует той, которая использовалась при создании ключа
Протестируйте парольную фразу локально:
openssl rsa -in rsa_key.p8 -check
# Enter passphrase when prompted
Проблема 5. "Отсутствуют разрешения Snowflake"
Симптом: подключение завершается успешно, но сканирование завершается ошибкой
Решение:
Предоставьте пользователю Snowflake необходимые привилегии:
-- Create role for Purview
CREATE ROLE IF NOT EXISTS purview_reader;
-- Grant usage on warehouse
GRANT USAGE ON WAREHOUSE COMPUTE_WH TO ROLE purview_reader;
-- Grant usage on database
GRANT USAGE ON DATABASE my_database TO ROLE purview_reader;
-- Grant usage on all schemas
GRANT USAGE ON ALL SCHEMAS IN DATABASE my_database TO ROLE purview_reader;
-- Grant select on all tables
GRANT SELECT ON ALL TABLES IN DATABASE my_database TO ROLE purview_reader;
GRANT SELECT ON FUTURE TABLES IN DATABASE my_database TO ROLE purview_reader;
-- Grant select on all views
GRANT SELECT ON ALL VIEWS IN DATABASE my_database TO ROLE purview_reader;
GRANT SELECT ON FUTURE VIEWS IN DATABASE my_database TO ROLE purview_reader;
-- Assign role to user
GRANT ROLE purview_reader TO USER purview_scanner;
-- Set as default role
ALTER USER purview_scanner SET DEFAULT_ROLE = purview_reader;
Связанные материалы
Теперь, когда вы зарегистрировали источник, используйте следующие ресурсы, чтобы узнать больше о Microsoft Purview и ваших данных.