在此文章
Azure 儲存體會加密待用儲存體帳戶中的所有資料。 根據預設,資料是以使用 Microsoft 管理的金鑰加密。 若要加強對加密金鑰的控制,您可以管理自己的金鑰。 客戶自控金鑰必須儲存在 Azure Key Vault 或 Key Vault 受控硬體安全模組 (HSM)。
本文說明如何在儲存體帳戶和金鑰保存庫位於相同租用戶中時,運用現有儲存體帳戶的客戶自控金鑰來設定加密。 客戶自控金鑰會儲存在金鑰保存庫中。
若要了解如何針對新的儲存體帳戶設定客戶自控金鑰,請參閱針對新的儲存體帳戶,設定 Azure 金鑰保存庫中的客戶自控金鑰 。
若要了解如何使用儲存在受控 HSM 中的客戶自控金鑰來設定加密,請參閱使用儲存在 Azure Key Vault 受控 HSM 中的客戶自控金鑰來設定加密 。
注意
Azure Key Vault 和 Azure Key Vault 受控 HSM 支援使用相同的 API 和管理介面以進行客戶自控金鑰的設定。 Azure Key Vault 支援的任何動作也受 Azure Key Vault 受控 HSM 所支援。
您可以使用新的或現有的金鑰保存庫來儲存客戶自控金鑰。 儲存體帳戶和金鑰保存庫可能位於相同租用戶的不同區域或訂用帳戶。 若要深入了解 Azure Key Vault,請參閱 Azure Key Vault 概觀 和什麼是 Azure Key Vault? 。
要將客戶自控金鑰用於 Azure 儲存體加密,必須為金鑰保存庫啟用虛刪除和清除保護。 依預設會在您建立新的金鑰保存庫啟用虛刪除,且無法停用。 您可以在建立金鑰保存庫期間或建立後啟用清除保護。
Azure Key Vault 支援透過 Azure RBAC 權限模型向 Azure RBAC 授權。 Microsoft 建議透過金鑰保存庫存取原則使用 Azure RBAC 權限模型。 如需詳細資訊,請參閱使用 Azure RBAC 授與權限至應用程式以存取 Azure Key Vault 。
若要了解如何使用 Azure 入口網站建立金鑰保存庫,請參閱快速入門:使用 Azure 入口網站建立金鑰保存庫 。 在建立金鑰保存庫時,請選取 [啟用清除保護] ,如下圖所示。
若要在現有的金鑰保存庫上啟用清除保護,請遵循下列步驟:
在 Azure 入口網站中瀏覽至您的金鑰保存庫。
在 [設定] 之下選擇 [屬性] 。
在 [清除保護] 區段中,選擇 [啟用清除保護] 。
若要使用 PowerShell 建立新的金鑰保存庫,請安裝 Az.KeyVault PowerShell 模組 2.0.0 版或更新版本。 然後,呼叫 New-AzKeyVault 以建立新的金鑰保存庫。 使用 Az.KeyVault 模組 2.0.0 版或更新版本時,當您建立新的金鑰保存庫時,依預設會啟用虛刪除。
下列範例會建立新的金鑰保存庫,並啟用虛刪除和清除保護。 金鑰保存庫的權限模型會設定為使用 Azure RBAC。 請記得將括弧中的預留位置值取代為您自己的值。
$rgName = "<resource_group>"
$location = "<location>"
$kvName = "<key-vault>"
$keyVault = New-AzKeyVault -Name $kvName `
-ResourceGroupName $rgName `
-Location $location `
-EnablePurgeProtection `
-EnableRbacAuthorization
若要了解如何使用 PowerShell 在現有的金鑰保存庫上啟用清除保護,請參閱 Azure Key Vault 復原概觀 。
建立金鑰保存庫之後,您必須將金鑰保存庫密碼編譯人員 角色指派給自己。 此角色可讓您在金鑰保存庫中建立金鑰。 下列範例會將此角色指派給使用者,範圍設定為金鑰保存庫:
New-AzRoleAssignment -SignInName "<user-email>" `
-RoleDefinitionName "Key Vault Crypto Officer" `
-Scope $keyVault.ResourceId
如需如何使用 PowerShell 指派 RBAC 角色的詳細資訊,請參閱使用 Azure PowerShell 指派 Azure 角色 。
若要使用 Azure CLI 建立新的金鑰保存庫,請呼叫 az keyvault create 。 下列範例會建立新的金鑰保存庫,並啟用虛刪除和清除保護。 金鑰保存庫的權限模型會設定為使用 Azure RBAC。 請記得將括弧中的預留位置值取代為您自己的值。
rgName="<resource_group>"
location="<location>"
kvName="<key-vault>"
az keyvault create \
--name $kvName \
--resource-group $rgName \
--location $location \
--enable-purge-protection \
--enable-rbac-authorization
若要了解如何使用 Azure CLI 在現有的金鑰保存庫上啟用清除保護,請參閱 Azure Key Vault 復原概觀 。
建立金鑰保存庫之後,您必須將金鑰保存庫密碼編譯人員 角色指派給自己。 此角色可讓您在金鑰保存庫中建立金鑰。 下列範例會將此角色指派給使用者,範圍設定為金鑰保存庫:
kvResourceId=$(az keyvault show --resource-group $rgName \
--name $kvName \
--query id \
--output tsv)
az role assignment create --assignee "<user-email>" \
--role "Key Vault Crypto Officer" \
--scope $kvResourceId
如需如何使用 Azure CLI, 指派 RBAC 角色的詳細資訊,請參閱使用 Azure CLI 指派 Azure 角色 。
新增金鑰
接著,將金鑰新增至金鑰保存庫。 新增金鑰之前,請確定您已將金鑰保存庫密碼編譯人員 角色指派給自己。
Azure 儲存體加密支援 2048、3072 和 4096 大小的 RSA 和 RSA-HSM 金鑰。 若要進一步了解支援的金鑰類型,請參閱關於金鑰 。
若要使用 PowerShell 來新增金鑰,請呼叫 Add-AzKeyVaultKey 。 請記得將括弧中的預留位置值取代為您自己的值,並使用先前的範例中定義的變數。
$keyName = "<key-name>"
$key = Add-AzKeyVaultKey -VaultName $keyVault.VaultName `
-Name $keyName `
-Destination 'Software'
若要使用 Azure CLI 來新增金鑰,請呼叫 az keyvault key create 。 請記得將括弧中的預留位置值取代為您自己的值。
keyName="<key-name>"
az keyvault key create \
--name $keyName \
--vault-name $kvName
選擇受控識別以授與金鑰保存庫的存取權
為現有儲存體帳戶啟用客戶自控金鑰時,您必須指定受控識別,以用來授權存取金鑰所在的金鑰保存庫。 受控識別必須有權存取金鑰保存庫中的金鑰。
授與金鑰保存庫存取權的受控識別可以是使用者指派或系統指派的受控識別。 若要深入了解系統指派與使用者指派的受控識別,請參閱受控識別類型 。
使用使用者指派的受控識別來授與存取權
當您為新的儲存體帳戶啟用客戶自控金鑰時,必須指定使用者指派的受控識別。 現有的儲存體帳戶上支援使用使用者指派的受控識別或系統指派的受控識別,以設定客戶自控金鑰。
當您使用使用者指派的受控識別來設定客戶自控金鑰時,會使用使用者指派的受控識別來授權存取包含金鑰的金鑰保存庫。 在設定客戶自控金鑰之前,必須先建立使用者指派的身分識別。
使用者指派的受控識別是獨立的 Azure 資源。 若要深入了解使用者指派的受控識別,請參閱受控識別類型 。 若要了解如何建立及管理使用者指派的受控識別,請參閱管理使用者指派的受控識別 。
使用者指派的受控識別必須有權限可存取金鑰保存庫中的金鑰。 將 Key Vault 密碼編譯服務加密使用者 角色指派給金鑰保存庫範圍內的使用者指派的受控識別,以授與這些權限。
您必須先將金鑰保存庫密碼編譯服務加密使用者 角色指派給使用者指派的受控識別,範圍設為金鑰保存庫,才能利用使用者指派的受控識別來設定客戶自控金鑰。 此角色授與使用者指派的受控識別權限,以存取金鑰保存庫中的金鑰。 如需使用 Azure 入口網站指派 Azure RBAC 角色的詳細資訊,請參閱使用 Azure 入口網站指派 Azure 角色 。
使用 Azure 入口網站設定客戶自控金鑰時,您可以透過入口網站使用者介面來選取使用者指派的現有身分識別。
下列範例示範如何擷取使用者指派的受控識別,並將其指派為必要的 RBAC 角色,範圍設定為金鑰保存庫。 請記得將括弧中的預留位置值取代為您自己的值,並使用先前的範例中定義的變數:
$userIdentity = Get-AzUserAssignedIdentity -Name <user-assigned-identity> `
-ResourceGroupName $rgName
$principalId = $userIdentity.PrincipalId
New-AzRoleAssignment -ObjectId $principalId `
-RoleDefinitionName "Key Vault Crypto Service Encryption User" `
-Scope $keyVault.ResourceId
下列範例示範如何擷取使用者指派的受控識別,並將其指派為必要的 RBAC 角色,範圍設定為金鑰保存庫。 請記得將括弧中的預留位置值取代為您自己的值,並使用先前的範例中定義的變數:
identityResourceId=$(az identity show --name <user-assigned-identity> \
--resource-group $rgName \
--query id \
--output tsv)
principalId=$(az identity show --name <user-assigned-identity> \
--resource-group $rgName \
--query principalId \
--output tsv)
az role assignment create --assignee-object-id $principalId \
--role "Key Vault Crypto Service Encryption User" \
--scope $kvResourceId \
--assignee-principal-type ServicePrincipal
使用系統指派的受控識別來授與存取權
系統指派的受控識別會與 Azure 服務的執行個體相關聯,在此案例中為 Azure 儲存體帳戶。 您必須將系統指派的受控識別明確指派給儲存體帳戶,才能使用系統指派的受控識別,來授權存取您的客戶自控金鑰所在的金鑰保存庫。
只有現有的儲存體帳戶可以使用系統指派的身分識別來授與金鑰保存庫的存取權。 如果在帳戶建立時設定了客戶自控金鑰,新的儲存體帳戶就必須使用使用者指派的身分識別。
系統指派的受控識別必須有權限可存取金鑰保存庫中的金鑰。 將 Key Vault 密碼編譯服務加密使用者 角色指派給金鑰保存庫範圍內的系統指派的受控識別,以授與這些權限。
您必須先將 Key Vault 密碼編譯服務加密使用者 角色指派給系統指派的受控識別,範圍設定為金鑰保存庫,才能使用系統指派的受控識別來設定客戶自控金鑰。 此角色授與系統指派的受控識別權限,以存取金鑰保存庫中的金鑰。 如需使用 Azure 入口網站指派 Azure RBAC 角色的詳細資訊,請參閱使用 Azure 入口網站指派 Azure 角色 。
使用系統指派的受控識別在 Azure 入口網站中設定客戶自控金鑰時,系統指派的受控識別會在幕後指派給您的儲存體帳戶。
若要將系統指派的受控識別指派給您的儲存體帳戶,請先呼叫 Set-AzStorageAccount :
$accountName = "<storage-account>"
$storageAccount = Set-AzStorageAccount -ResourceGroupName $rgName `
-Name $accountName `
-AssignIdentity
接下來,將所需的 RBAC 角色指派給系統指派的受控識別,範圍設定為金鑰保存庫。 請記得將括弧中的預留位置值取代為您自己的值,並使用先前的範例中定義的變數:
$principalId = $storageAccount.Identity.PrincipalId
New-AzRoleAssignment -ObjectId $storageAccount.Identity.PrincipalId `
-RoleDefinitionName "Key Vault Crypto Service Encryption User" `
-Scope $keyVault.ResourceId
若要使用系統指派的受控識別來驗證金鑰保存庫的存取權,請先呼叫 az storage account update ,將系統指派的受控識別指派給儲存體帳戶:
accountName="<storage-account>"
az storage account update \
--name $accountName \
--resource-group $rgName \
--assign-identity
接下來,將所需的 RBAC 角色指派給系統指派的受控識別,範圍設定為金鑰保存庫。 請記得將括弧中的預留位置值取代為您自己的值,並使用先前的範例中定義的變數:
principalId=$(az storage account show --name $accountName \
--resource-group $rgName \
--query identity.principalId \
--output tsv)
az role assignment create --assignee-object-id $principalId \
--role "Key Vault Crypto Service Encryption User" \
--scope $kvResourceId
使用客戶自控金鑰為現有的儲存體帳戶設定加密時,您可以選擇在相關聯的金鑰保存庫中有新版本可用時,自動更新用於 Azure 儲存體加密的金鑰版本。 或者,您可以明確指定在手動更新金鑰版本前要用於加密的金鑰版本。
當變更金鑰版本時 (無論是自動還是手動),根加密金鑰的保護會變更,但 Azure 儲存體帳戶中的資料會一直保持加密。 您不需要採取進一步動作以確保資料有受到保護。 輪換金鑰版本並不會影響效能。 沒有與輪替金鑰版本相關聯的停機。
為現有的儲存體帳戶設定客戶自控金鑰時,您可以使用系統指派或使用者指派的受控識別來授與金鑰保存庫的存取權。
Azure 儲存體可自動更新用於加密的客戶自控金鑰,以使用金鑰保存庫中的最新金鑰版本。 Azure 儲存體每天都會檢查金鑰保存庫中是否有新的金鑰版本。 有新版本可供使用時,Azure 儲存體就會自動使用最新版本的金鑰進行加密。
重要
Azure 儲存體每天只會檢查金鑰保存庫是否有新的金鑰版本一次。 當您輪替金鑰時,請務必等候 24 小時,再停用舊版金鑰。
若要在 Azure 入口網站中為現有帳戶設定會自動更新金鑰版本的客戶自控金鑰,請遵循下步驟:
瀏覽至您的儲存體帳戶。
在 [安全性 + 網路] 下方,選取 [加密] 。 根據預設,金鑰管理會設定為 [Microsoft 自控金鑰] ,如下圖所示:
選取 [客戶自控金鑰] 選項。 如果帳戶先前已設定為具有手動更新金鑰版本的 [客戶自控金鑰] ,請選取頁面底部附近的 [變更金鑰] 。
選擇 [從 Key Vault 選取] 選項。
選取 [選取金鑰保存庫和金鑰] 。
選取包含您所要使用金鑰的金鑰保存庫。 您也可以建立新的金鑰保存庫。
從金鑰保存庫中選取金鑰。 您也可以建立新的金鑰。
選取用來驗證金鑰保存庫存取權的身分識別類型。 這些選項包括 [系統指派的] (預設值) 或 [使用者指派的] 。 若要深入了解每種類型的受控識別,請參閱受控識別類型 。
如果您選取 [系統指派] ,就會在幕後為儲存體帳戶建立系統指派的受控識別 (如果尚不存在)。
如果您選取 [使用者指派的] ,則必須選取由使用者指派、且有權存取金鑰保存庫的現有身分識別。 若要了解如何建立使用者指派的身分識別,請參閱管理使用者指派的受控識別 。
儲存您的變更。
指定金鑰後,Azure 入口網站會指出已啟用金鑰版本的自動更新,並顯示目前用於加密的金鑰版本。 入口網站也會顯示用來授與金鑰保存庫存取權的受控識別類型,以及受控識別的主體識別碼。
若要使用 PowerShell 為現有帳戶設定會自動更新金鑰版本的客戶自控金鑰,請安裝 Az.Storage 模組 2.0.0 版或更新版本。
接著,呼叫 Set-AzStorageAccount 以更新儲存體帳戶的加密設定。 包含 KeyvaultEncryption
參數以為儲存體帳戶啟用客戶自控金鑰,並將 KeyVersion
設定為空字串以啟用金鑰版本的自動更新。 如果儲存體帳戶先前已設定為具有特定金鑰版本的客戶自控金鑰,接下來請將金鑰版本設定為空字串,日後金鑰版本即會自動更新。
$accountName = "<storage-account>"
# Use this form of the command with a user-assigned managed identity.
Set-AzStorageAccount -ResourceGroupName $rgName `
-AccountName $accountName `
-IdentityType SystemAssignedUserAssigned `
-UserAssignedIdentityId $userIdentity.Id `
-KeyvaultEncryption `
-KeyVaultUri $keyVault.VaultUri `
-KeyName $key.Name `
-KeyVersion "" `
-KeyVaultUserAssignedIdentityId $userIdentity.Id
# Use this form of the command with a system-assigned managed identity.
Set-AzStorageAccount -ResourceGroupName $rgName `
-AccountName $accountName `
-KeyvaultEncryption `
-KeyName $key.Name `
-KeyVersion "" `
-KeyVaultUri $keyVault.VaultUri
若要使用 Azure CLI 為現有帳戶設定會自動更新金鑰版本的客戶自控金鑰,請安裝 Azure CLI 2.4.0 版 或更新版本。 如需詳細資訊,請參閱 安裝 Azure CLI 。
接著,呼叫 az storage account update 以更新儲存體帳戶的加密設定。 包含 --encryption-key-source
參數並將其設定為Microsoft.Keyvault
,以為帳戶啟用客戶自控金鑰,並將 encryption-key-version
設定為空字串以啟用金鑰版本的自動更新。 如果儲存體帳戶先前已設定為具有特定金鑰版本的客戶自控金鑰,接下來請將金鑰版本設定為空字串,日後金鑰版本即會自動更新。
accountName="<storage-account>"
keyVaultUri=$(az keyvault show \
--name $kvName \
--resource-group $rgName \
--query properties.vaultUri \
--output tsv)
# Use this form of the command with a user-assigned managed identity.
az storage account update \
--name $accountName \
--resource-group $rgName \
--identity-type SystemAssigned,UserAssigned \
--user-identity-id $identityResourceId \
--encryption-key-name $keyName \
--encryption-key-version "" \
--encryption-key-source Microsoft.Keyvault \
--encryption-key-vault $keyVaultUri \
--key-vault-user-identity-id $identityResourceId
# Use this form of the command with a system-assigned managed identity.
az storage account update \
--name $accountName \
--resource-group $rgName \
--encryption-key-name $keyName \
--encryption-key-version "" \
--encryption-key-source Microsoft.Keyvault \
--encryption-key-vault $keyVaultUri
如果您想要手動更新金鑰版本,請在使用客戶自控金鑰設定加密時明確指定版本。 在此情況下,在金鑰保存庫中建立新版本時,Azure 儲存體將不會自動更新金鑰版本。 若要使用新的金鑰版本,您必須手動更新 Azure 儲存體加密所使用的版本。
若要在 Azure 入口網站中設定手動更新金鑰版本的客戶自控金鑰,請指定金鑰 URI,包括版本在內。 若要將金鑰指定為 URI,請遵循下列步驟:
若要在 Azure 入口網站中找出金鑰 URI,請巡覽至金鑰保存庫,然後選取 [金鑰] 設定。 選取所需的金鑰,並選取金鑰以檢視其版本。 選取金鑰版本以檢視該版本的設定。
複製 [金鑰識別碼] 欄位的值,以提供 URI。
在儲存體帳戶的 [加密金鑰] 設定中,選擇 [輸入金鑰 URI] 選項。
將您複製的 URI 貼到 [金鑰 URI] 欄位中。 在 URI 中省略金鑰版本,以啟用金鑰版本的自動更新。
指定包含金鑰保存庫的訂閱。
指定系統指派或使用者指派的受控識別。
儲存您的變更。
若要透過金鑰版本的手動更新來設定客戶自控金鑰,請在設定儲存體帳戶的加密時明確提供金鑰版本。 呼叫 Set-AzStorageAccount 以更新儲存體帳戶的加密設定 (如下列範例所示),並納入 -KeyvaultEncryption 選項,為儲存體帳戶啟用客戶自控金鑰。
請記得將括弧中的預留位置值取代為您自己的值,並使用先前的範例中定義的變數。
$accountName = "<storage-account>"
# Use this form of the command with a user-assigned managed identity.
Set-AzStorageAccount -ResourceGroupName $rgName `
-AccountName $accountName `
-IdentityType SystemAssignedUserAssigned `
-UserAssignedIdentityId $userIdentity.Id `
-KeyvaultEncryption `
-KeyVaultUri $keyVault.VaultUri `
-KeyName $key.Name `
-KeyVersion $key.Version `
-KeyVaultUserAssignedIdentityId $userIdentity.Id
# Use this form of the command with a system-assigned managed identity.
Set-AzStorageAccount -ResourceGroupName $rgName `
-AccountName $accountName `
-KeyvaultEncryption `
-KeyVaultUri $keyVault.VaultUri `
-KeyName $key.Name `
-KeyVersion $key.Version
在手動更新金鑰版本時,您接下來必須將儲存體帳戶的加密設定更新為使用新的版本。 首先,呼叫 Get-AzKeyVaultKey 以取得最新版的金鑰。 接著呼叫 Set-AzStorageAccount ,更新儲存體帳戶的加密設定以使用新版本的金鑰,如先前的範例所示。
若要透過金鑰版本的手動更新來設定客戶自控金鑰,請在設定儲存體帳戶的加密時明確提供金鑰版本。 呼叫 az storage account update 以更新儲存體帳戶的加密設定,如下列範例所示。 納入 --encryption-key-source
參數並將其設定為 Microsoft.Keyvault
,為帳戶啟用客戶自控金鑰。
請記得將括弧中的預留位置值取代為您自己的值。
accountName="<storage-account>"
keyVaultUri=$(az keyvault show \
--name $kvName \
--resource-group $rgName \
--query properties.vaultUri \
--output tsv)
keyVersion=$(az keyvault key list-versions \
--name $keyName \
--vault-name $kvName \
--query [-1].kid \
--output tsv | cut -d '/' -f 6)
# Use this form of the command with a user-assigned managed identity
az storage account update \
--name $accountName \
--resource-group $rgName \
--identity-type SystemAssigned,UserAssigned \
--user-identity-id $identityResourceId \
--encryption-key-name $keyName \
--encryption-key-version $keyVersion \
--encryption-key-source Microsoft.Keyvault \
--encryption-key-vault $keyVaultUri \
--key-vault-user-identity-id $identityResourceId
# Use this form of the command with a system-assigned managed identity
az storage account update \
--name $accountName \
--resource-group $rgName \
--encryption-key-name $keyName \
--encryption-key-version $keyVersion \
--encryption-key-source Microsoft.Keyvault \
--encryption-key-vault $keyVaultUri
在手動更新金鑰版本時,您接下來必須將儲存體帳戶的加密設定更新為使用新的版本。 首先,呼叫 az keyvault show 以查詢金鑰保存庫 URI,然後呼叫 az keyvault key list-versions 以查詢金鑰版本。 接著呼叫 az storage account update ,更新儲存體帳戶的加密設定以使用新版本的金鑰,如先前的範例所示。
變更金鑰
您可以隨時變更 Azure 儲存體加密所使用的金鑰。
注意
當您變更金鑰或金鑰版本時,根加密金鑰的保護會變更,但 Azure 儲存體帳戶中的資料會一直保持加密。 您不需要在電腦上執行其他動作,就可以確保您的資料受到保護。 變更金鑰或輪替金鑰版本不會影響效能。 變更金鑰或輪替金鑰版本時,不會有任何停機時間。
若要使用 Azure 入口網站來變更金鑰,請遵循下列步驟:
瀏覽至您的儲存體帳戶,並顯示 [加密] 設定。
選取金鑰保存庫,然後選擇新的金鑰。
儲存您的變更。
如果新金鑰位於不同的金鑰保存庫中,您必須授與受控識別在新保存庫中的金鑰存取權 。 如果您選擇手動更新金鑰版本,您也必須更新金鑰保存庫 URI 。
撤銷使用客戶自控金鑰的儲存體帳戶存取權
若要暫時撤銷使用客戶自控金鑰的儲存體帳戶存取權,請停用金鑰保存庫中目前所使用的金鑰。 沒有與停用和重新啟用密鑰相關聯的效能影響或停機時間。
停用金鑰之後,客戶端即無法呼叫從 Blob 或其中繼資料讀取或寫入其中的作業。 如需哪些作業會失敗的資訊,請參閱撤銷使用客戶自控金鑰的儲存體帳戶存取權 。
警告
當您停用金鑰保存庫中的金鑰時,Azure 儲存體帳戶中的資料會保持加密狀態,但在您重新啟用金鑰之前,該密鑰會變成無法存取。
若要使用 Azure 入口網站停用客戶自控金鑰,請遵循下列步驟:
瀏覽至包含該金鑰的金鑰保存庫。
在 [物件] 下選取 [金鑰] 。
以滑鼠右鍵按一下該金鑰,然後選取 [停用] 。
若要使用 PowerShell 撤銷客戶自控金鑰,請呼叫 Update-AzKeyVaultKey 命令,如下列範例所示。 請記得將括弧中的預留位置值取代為您自己的值以定義變數,或使用先前範例中定義的變數。
$kvName = "<key-vault-name>"
$keyName = "<key-name>"
$enabled = $false
# $false to disable the key / $true to enable it
# Check the current state of the key (before and after enabling/disabling it)
Get-AzKeyVaultKey -Name $keyName -VaultName $kvName
# Disable (or enable) the key
Update-AzKeyVaultKey -VaultName $kvName -Name $keyName -Enable $enabled
若要使用 Azure CLI 撤銷客戶自控金鑰,請呼叫 az keyvault key set-attributes 命令,如下列範例所示。 請記得將括弧中的預留位置值取代為您自己的值以定義變數,或使用先前範例中定義的變數。
kvName="<key-vault-name>"
keyName="<key-name>"
enabled="false"
# "false" to disable the key / "true" to enable it:
# Check the current state of the key (before and after enabling/disabling it)
az keyvault key show \
--vault-name $kvName \
--name $keyName
# Disable (or enable) the key
az keyvault key set-attributes \
--vault-name $kvName \
--name $keyName \
--enabled $enabled
切換回 Microsoft 管理的金鑰
您可以隨時使用 Azure 入口網站、PowerShell 或 Azure CLI,從客戶自控金鑰切換回 Microsoft 管理的金鑰。
若要在 Azure 入口網站中從客戶自控金鑰切換回 Microsoft 管理的金鑰,請遵循下列步驟:
瀏覽至您的儲存體帳戶。
在 [安全性 + 網路] 下方,選取 [加密] 。
將 [加密類型] 變更為 [Microsoft 管理的金鑰] 。
若要使用 PowerShell 從客戶自控金鑰切換回 Microsoft 管理的金鑰,請使用 -StorageEncryption
選項呼叫 Set-AzStorageAccount ,如下列範例所示。 請記得將括弧中的預留位置值取代為您自己的值,並使用先前的範例中定義的變數。
Set-AzStorageAccount -ResourceGroupName $storageAccount.ResourceGroupName `
-AccountName $storageAccount.StorageAccountName `
-StorageEncryption
若要使用 Azure CLI 從客戶自控金鑰切換回 Microsoft 管理的金鑰,請呼叫 az storage account update ,並將 --encryption-key-source parameter
設定為 Microsoft.Storage
,如下列範例所示。 請記得將括弧中的預留位置值取代為您自己的值,並使用先前的範例中定義的變數。
az storage account update \
--name <storage-account> \
--resource-group <resource_group> \
--encryption-key-source Microsoft.Storage
下一步