我正在尝试利用Azure Key Vault来保护服务帐户的密码,该帐户通过Azure Data Factory将数据从本地SQL服务器移动到Azure Data Lake。
我首先创建了链接服务并对凭据进行了硬编码。有用。
但是,我想将服务帐户密码(即密码)存储在密钥值中,并根据以下post,我添加了存储在密钥值中的Azure Key Vault Liked服务和引用的凭据。
在“链接服务”中的“高级”下,请参见图像#1,其中包含以下JSON:
{
"name": "LinkedService",
"properties": {
"type": "SqlServer",
"typeProperties": {
"username": "<domain>\<account name>",
"password": {
"type": "AzureKeyVaultSecret",
"secretName": "<service account name>",
"store":{
"referenceName": "https://<name>.vault.azure.net/",
"type": "LinkedServiceReference"
}
}
},
"connectVia": {
"referenceName": "IRMYService",
"type": "IntegrationRuntimeReference"
}
}
}
但是,当我查看Linked Service中的最终JSON时,它看起来不正确(请参阅下面的最终图像)。为什么会显示用户名和凭据?
答案 0 :(得分:1)
你可能错过了同一个链接的下面部分 -
目前,Dynamics连接器,Salesforce连接器和一些新的 启用连接器支持此功能。期待更多时间到来。您 可以检查每个连接器主题的详细信息对于秘密领域 支持此功能,您将在说明中看到一条说明 &#34;您可以选择将此字段标记为SecureString来存储它 安全地在ADF中,或在Azure Key Vault中存储密码并进行复制 执行数据复制时从那里开始活动 - 从中了解更多信息 将凭据存储在Key Vault中。&#34;
截至目前Azure Data Lake Store
并不支持Key Vault
集成。您始终可以选择 - 托管服务标识(MSI)身份验证,该身份验证不会公开您的服务主体信息。
同样适用于Sql Server
- 您必须选择Secure String
才能使用connectionString
&amp; password
。
答案 1 :(得分:1)
现在就支持此功能。您提供的链接也已更新,以反映以下内容:
当前,除自定义活动外的所有活动类型都支持此功能 特征。对于特定的连接器配置,请选中“已链接 服务属性”部分中的每个连接器主题以获取详细信息。
有关更多信息,请检查docs for Data Lake Storage Gen 1和docs for Data Lake Storage Gen2。