是否可以使用密钥保管库加密文件并使用“Azure 存储数据移动库”将其存储在存储帐户中

Posted

技术标签:

【中文标题】是否可以使用密钥保管库加密文件并使用“Azure 存储数据移动库”将其存储在存储帐户中【英文标题】:Is it possible to encrypt the file using key vault and store it in storage account using "Azure Storage Data Movement Library" 【发布时间】:2017-11-23 05:35:22 【问题描述】:

我可以使用 Azure Key Vault 加密和解密 Microsoft Azure 存储中的 blob,但是否可以使用 Azure 存储数据移动库来做同样的事情。 以下是我与 azure storage 数据移动库一起使用的代码

                    TransferManager.Configurations.ParallelOperations = 32;
            TransferManager.Configurations.BlockSize = 4 * 1024 * 1024;
            ServicePointManager.DefaultConnectionLimit = Environment.ProcessorCount * 8;
            UploadOptions options = new UploadOptions();
            SingleTransferContext context = new SingleTransferContext();
            context.SetAttributesCallback = (destination) =>
            
                CloudBlob destBlob = destination as CloudBlob;
                destBlob.Properties.ContentType = "application/octet-stream";
            ;

            // Start the upload
            await TransferManager.UploadAsync(fileToUpload.InputStream, blob, options, context);

【问题讨论】:

【参考方案1】:

通过使用 Key Vault 加密和解密,您是指 Azure 存储客户端库中的此功能:https://docs.microsoft.com/en-us/azure/storage/storage-client-side-encryption 吗? DataMovement 还不支持这个。 如果您打算自己加密并使用 DataMovement 将加密的流上传到 Azure 存储,那么只要流是固定长度、可读和可搜索的,您的代码就应该可以工作。

【讨论】:

【参考方案2】:

我可以使用 Azure Key Vault 加密和解密 Microsoft Azure 存储中的 blob,但是否可以使用 Azure 存储数据移动库来做同样的事情。

据我所知,Azure 存储数据移动库现在不支持加密/解密功能。我们可以发现其他人报告了问题/功能请求。

Jatin Bhatt asked "Is there a way to encrypt/decrypt using DML?"

Support for client side encryption

【讨论】:

以上是关于是否可以使用密钥保管库加密文件并使用“Azure 存储数据移动库”将其存储在存储帐户中的主要内容,如果未能解决你的问题,请参考以下文章

Azure 磁盘加密 - 通过带有密钥保管库的 Terraform - VmExtensionProvisioningError

实现Azure密钥保管库2.0时出现Newtonsoft Json版本问题

如何使用 Azure ARM 模板将 VM 部署到资源组“A”并引用资源组“B”中的现有密钥保管库?

由于自签名 CA,访问 Azure 密钥保管库错误

如何读取存储在 Azure 密钥保管库中的值/秘密

使用 Azure.Security.KeyVault.Secrets 的网络核心密钥保管库配置