Azure Data Factory V2 + Key Vault

时间:2018-01-20 20:48:25

标签: azure-data-factory

我正在尝试利用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时,它看起来不正确(请参阅下面的最终图像)。为什么会显示用户名和凭据?

enter image description here

enter image description here

2 个答案:

答案 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)

现在就支持此功能。您提供的链接也已更新,以反映以下内容:

  

当前,除自定义活动外的所有活动类型都支持此功能   特征。对于特定的连接器配置,请选中“已链接   服务属性”部分中的每个连接器主题以获取详细信息。

enter image description here

有关更多信息,请检查docs for Data Lake Storage Gen 1docs for Data Lake Storage Gen2