Azure Blob 存储更改现有容器的加密范围

Azure Blob Storage changing Encryption Scope for existing container

我正在尝试更改现有 Azure Blob 存储容器的加密范围。我正在使用 Azure Management API 和相关的 SDK。当我尝试设置加密范围新容器时,一切正常:

var container = new BlobContainer(name:"testcontainer2", defaultEncryptionScope:"testscope", denyEncryptionScopeOverride: true);
var res = await client.BlobContainers.CreateWithHttpMessagesAsync("cmkpoc", "cmktest", "testcontainer2", container);

这成功创建了新容器,我看到在 Azure 门户(容器属性)中分配了自定义加密范围:

不幸的是,当我尝试修改现有容器时,我仍然从 Azure API 收到 200 响应,但加密范围没有改变。代码:

var container = new BlobContainer(name:"testcontainer", defaultEncryptionScope:"testscope", denyEncryptionScopeOverride: true);
var res = await client.BlobContainers.UpdateWithHttpMessagesAsync("cmkpoc", "cmktest", "testcontainer", container);

本例中的容器属性:

这让我觉得可能不支持加密范围,但我在存储文档中找不到它。

• 当您创建一个容器时,它会自动select一个加密范围,但是您不能在创建容器后更改加密范围,因为创建时的加密范围已经由加密定义参数,即 Microsoft 管理的默认密钥或客户管理的密钥。

• 但有一种方法可以在创建容器或 blob 时 select 客户管理的密钥加密范围,如下面的屏幕截图所示。

https://docs.microsoft.com/en-us/azure/storage/blobs/encryption-scope-manage?tabs=portal#upload-a-blob-with-an-encryption-scope – 有关更多详细信息,请参阅“使用加密范围上传 blob”部分 • 此外,如果您创建的容器没有 select 加密范围,它会将容器的默认加密范围配置为“$account-encryption-key”,如下所示。

https://docs.microsoft.com/en-us/azure/storage/blobs/encryption-scope-overview#encryption-scopes-for-containers-and-blobs – 有关详细信息,请参阅“容器和 blob 的加密范围”部分。