首页 > 解决方案 > 使用 Key Vault 访问数据工厂中的 SQL 数据库托管标识

问题描述

我正在尝试通过将连接字符串保存在 Azure Key Vault 中来使用数据工厂中的 AD 身份验证(托管标识)连接到 Azure SQL DB。通过提供对 ADF(ADF 名称)的访问权限,我在 Azure SQL DB 中设置了托管标识访问权限。我已将连接字符串以下列格式存储在 Key Vault 中,但没有成功。

尝试了以下连接字符串格式:

Server=tcp:xxxxxxxxxx.database.windows.net;Initial Catalog=xxxxxxx;Authentication = 'Active Directory Interactive';

Server=tcp:xxxxxxxxxxxx.database.windows.net;Initial Catalog=xxxxxxxxxxx;User ID=DatafactoryName;Authentication = 'Active Directory Interactive';  -- Actual DatafactoryName

Server=tcp:xxxxxxxxxxxxxx.windows.net;Initial Catalog=xxxxxxxxx;User ID=MSI_ID;Authentication = 'Active Directory Interactive';   -- Actual MSI ID for the DataFactory

Server=tcp:xxxxxxxxxxxxxx.windows.net;Initial Catalog=xxxxxxxxx;User ID=a;Authentication = 'Active Directory Interactive';   -- Tried arbitrary value

我收到以下错误

在此处输入图像描述

标签: azure-sql-databaseazure-data-factoryazure-keyvaultazure-managed-identity

解决方案


连接字符串应该是:

Data Source=tcp:<servername>.database.windows.net,1433;Initial Catalog=<databasename>;Connection Timeout=30

连接应该是这样的: 在此处输入图像描述

参考:Azure 资源身份验证的托管标识存储在密钥保管库中的参考机密


推荐阅读