Azure 数据工厂:在链接服务外部存储链接服务的敏感值
Azure Data Factory: Storing sensitive values for a linked service outside the linked service
我有一个 Azure 数据工厂 (V2) 和一个 通过 1 个 SFTP 链接服务连接到多台外部机器的管道。
我已经完全参数化了链接服务。 API 中有 2 个参数 与 相关的身份验证目前不受 Azure Key Vault 支持; SSH Host Fingerprint
和 Username
。这些都是链接服务运行所必需的。
这些参数的参数将根据所需的连接而改变,因此不能硬编码。
一种可能性是在数据库中捕获这些值并在运行时读入。一个可能的问题是安全负责人不会接受这个。这可能会引发关于加密值的对话,但这是行不通的,因为在 Azure 数据工厂使用这些值之前需要对其进行解密。
我还考虑过让安全团队拥有一个包含这些值的数据库,工程人员无法访问它。我们当然会在读取此数据库的 activity 中启用 secure input
和 secure output
。然而,这只会阻止记录值,最终我们仍然可以访问这些值。
我需要这样才能满足要求,但解决方案需要安全且不简单。我真的不认为让这些值不受保护是可以接受的。
您可以将敏感数据存储在密钥保管库中,并通过网络从密钥保管库中获取值activity。下面的 GIT 位置具有相同的 JSON 代码:https://github.com/NandanHegde15/Azure-DataFactory-Generic-Pipelines/blob/main/Get%20Secret%20From%20KeyVault/Pipeline/GetSecretFromKeyVault.json
我有一个 Azure 数据工厂 (V2) 和一个 通过 1 个 SFTP 链接服务连接到多台外部机器的管道。
我已经完全参数化了链接服务。 API 中有 2 个参数 与 相关的身份验证目前不受 Azure Key Vault 支持; SSH Host Fingerprint
和 Username
。这些都是链接服务运行所必需的。
这些参数的参数将根据所需的连接而改变,因此不能硬编码。
一种可能性是在数据库中捕获这些值并在运行时读入。一个可能的问题是安全负责人不会接受这个。这可能会引发关于加密值的对话,但这是行不通的,因为在 Azure 数据工厂使用这些值之前需要对其进行解密。
我还考虑过让安全团队拥有一个包含这些值的数据库,工程人员无法访问它。我们当然会在读取此数据库的 activity 中启用 secure input
和 secure output
。然而,这只会阻止记录值,最终我们仍然可以访问这些值。
我需要这样才能满足要求,但解决方案需要安全且不简单。我真的不认为让这些值不受保护是可以接受的。
您可以将敏感数据存储在密钥保管库中,并通过网络从密钥保管库中获取值activity。下面的 GIT 位置具有相同的 JSON 代码:https://github.com/NandanHegde15/Azure-DataFactory-Generic-Pipelines/blob/main/Get%20Secret%20From%20KeyVault/Pipeline/GetSecretFromKeyVault.json