建立支援針對資料表和佇列使用客戶自控金鑰的帳戶
Azure 儲存體會加密待用儲存體帳戶中的所有資料。 根據預設,佇列儲存體和資料表儲存體會使用將範圍限制為該服務,且由 Microsoft 管理的金鑰。 您也可以選擇使用客戶自控金鑰來將佇列或資料表資料加密。 若要將客戶自控金鑰與佇列和資料表搭配使用,您必須先建立使用將範圍限制為帳戶 (而不是服務) 之加密金鑰的儲存體帳戶。 當您建立針對佇列和資料表資料使用帳戶加密金鑰的帳戶之後,便可以為該儲存體帳戶設定客戶自控金鑰。
此文章描述如何建立依賴將範圍限制為該帳戶之金鑰的儲存體帳戶。 第一次建立帳戶時,Microsoft 會使用帳戶金鑰來將帳戶中的資料加密,而 Microsoft 會管理該金鑰。 您隨後可以為帳戶設定客戶自控金鑰以利用那些優點,包括提供您自己的金鑰、更新金鑰版本、輪替金鑰,以及撤銷存取控制的能力。
建立使用帳戶加密金鑰的帳戶
當您建立儲存體帳戶時,您必須設定新的儲存體帳戶以針對佇列和資料表使用帳戶加密金鑰。 建立帳戶之後,就無法變更加密金鑰的範圍。
儲存體帳戶必須是一般用途 v2 類型。 您可以使用 Azure 入口網站、PowerShell、Azure CLI 或 Azure Resource Manager 範本來建立儲存體帳戶,並將其設定為依賴帳戶加密金鑰。
若要深入了解如何建立儲存體帳戶,請參閱建立儲存體帳戶。
注意
建立儲存體帳戶時,只有佇列和資料表儲存體才能選擇性地設定成使用帳戶加密金鑰來將資料加密。 Blob 儲存體和 Azure 檔案儲存體一律會使用帳戶加密金鑰來將資料加密。
若要使用 Azure 入口網站來建立依賴帳戶加密金鑰的儲存體帳戶,請遵循下列步驟:
從入口網站左側的功能表中,選取 [儲存體帳戶],以顯示您的儲存體帳戶清單。
在 [儲存體帳戶] 頁面上,選取 [新增]。
填寫 [基本] 索引標籤上的欄位。
在 [進階] 索引標籤上,找出 [資料表和佇列] 區段,然後選取 [啟用客戶自控金鑰的支援]。
若要使用 PowerShell 來建立依賴帳戶加密金鑰的儲存體帳戶,請確定您已安裝 Azure PowerShell 模組 3.4.0 版或更新版本。 如需詳細資訊,請參閱安裝 Azure PowerShell 模組。
接下來,搭配適當的參數呼叫 New-AzStorageAccount 命令,來建立一般用途 v2 儲存體帳戶:
- 包括
-EncryptionKeyTypeForQueue
選項,並將其值設定為 Account
,以使用帳戶加密金鑰來加密佇列儲存體中的資料。
- 包括
-EncryptionKeyTypeForTable
選項,並將其值設定為 Account
,以使用帳戶加密金鑰來加密資料表儲存體中的資料。
下列範例示範如何建立針對讀取權限異地備援儲存體 (RA-GRS) 加以設定,並使用帳戶加密金鑰來對佇列和資料表儲存體資料進行加密的一般用途 v2 儲存體帳戶。 請記得使用您自己的值來取代括弧中的預留位置值:
New-AzStorageAccount -ResourceGroupName <resource_group> `
-AccountName <storage-account> `
-Location <location> `
-SkuName "Standard_RAGRS" `
-Kind StorageV2 `
-EncryptionKeyTypeForTable Account `
-EncryptionKeyTypeForQueue Account
若要使用 Azure CLI 來建立依賴帳戶加密金鑰的儲存體帳戶,請確定您已安裝 Azure CLI 2.0.80 版或更新版本。 如需詳細資訊,請參閱 安裝 Azure CLI。
接下來,使用適當的參數呼叫 az storage account create 命令,來建立一般用途 v2 儲存體帳戶:
- 包括
--encryption-key-type-for-queue
選項,並將其值設定為 Account
,以使用帳戶加密金鑰來加密佇列儲存體中的資料。
- 包括
--encryption-key-type-for-table
選項,並將其值設定為 Account
,以使用帳戶加密金鑰來加密資料表儲存體中的資料。
下列範例示範如何建立針對讀取權限異地備援儲存體 (RA-GRS) 加以設定,並使用帳戶加密金鑰來對佇列和資料表儲存體資料進行加密的一般用途 v2 儲存體帳戶。 請記得使用您自己的值來取代括弧中的預留位置值:
az storage account create \
--name <storage-account> \
--resource-group <resource-group> \
--location <location> \
--sku Standard_RAGRS \
--kind StorageV2 \
--encryption-key-type-for-table Account \
--encryption-key-type-for-queue Account
下列 JSON 範例會建立針對讀取權限異地備援儲存體 (RA-GRS) 加以設定,並使用帳戶加密金鑰來對佇列和資料表儲存體資料進行加密的一般用途 v2 儲存體帳戶。 請記得使用您自己的值來取代角括弧中的預留位置值:
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-06-01",
"name": "[parameters('<storage-account>')]",
"location": "[parameters('<location>')]",
"dependsOn": [],
"tags": {},
"sku": {
"name": "[parameters('Standard_RAGRS')]"
},
"kind": "[parameters('StorageV2')]",
"properties": {
"accessTier": "[parameters('<accessTier>')]",
"supportsHttpsTrafficOnly": "[parameters('supportsHttpsTrafficOnly')]",
"largeFileSharesState": "[parameters('<largeFileSharesState>')]",
"encryption": {
"services": {
"queue": {
"keyType": "Account"
},
"table": {
"keyType": "Account"
}
},
"keySource": "Microsoft.Storage"
}
}
}
],
當您建立依賴帳戶加密金鑰的帳戶之後,便可以設定客戶自控金鑰;這些金鑰可以儲存於 Azure Key Vault 或 Key Vault 受控硬體安全模型 (HSM) 中。 若要了解如何將客戶自控金鑰儲存於金鑰保存庫中,請參閱使用儲存在 Azure Key Vault 中的客戶自控金鑰來設定加密。 若要了解如何將客戶自控金鑰儲存於受控 HSM 中,請參閱使用儲存在 Azure Key Vault 受控 HSM 中的客戶自控金鑰來設定加密。
驗證帳戶加密金鑰
建立帳戶之後,您可以使用 Azure 入口網站、PowerShell 或 Azure CLI,來驗證儲存體帳戶是否使用將範圍限制為該帳戶的加密金鑰。
若要使用 Azure 入口網站來驗證儲存體帳戶中的服務是否使用將範圍限制為該帳戶的加密金鑰,請遵循下列步驟:
在 Azure 入口網站中,瀏覽至您的新儲存體帳戶。
在 [安全性 + 網路] 區段中,選取 [加密]。
如果建立的儲存體帳戶依賴帳戶加密金鑰,您將在 [加密] 索引標籤上看到可針對全部四個 Azure 儲存體服務啟用客戶自控金鑰:Blob、檔案、資料表和佇列。
若要使用 PowerShell 來驗證儲存體帳戶中的服務是否使用帳戶加密金鑰,請呼叫 Get-AzStorageAccount 命令。 此命令會傳回一組儲存體帳戶屬性及其值。 在 Encryption
屬性內尋找每個服務的 KeyType
欄位,並確認已將其設定為 Account
。
$account = Get-AzStorageAccount -ResourceGroupName <resource-group> `
-StorageAccountName <storage-account>
$account.Encryption.Services.Queue
$account.Encryption.Services.Table
若要使用 Azure CLI 來驗證儲存體帳戶中的服務是否使用帳戶加密金鑰,請呼叫 az storage account show 命令。 此命令會傳回一組儲存體帳戶屬性及其值。 在加密屬性內尋找每個服務的 keyType
欄位,並確認已將其設定為 Account
。
az storage account show \
--name <storage-account> \
--resource-group <resource-group>
當您驗證儲存體帳戶使用的加密金鑰已將範圍限制為該帳戶之後,您可以為該帳戶啟用客戶自控金鑰。 全部四個 Azure 儲存體服務 (Blob、檔案、資料表和佇列) 接著都會使用客戶自控金鑰進行加密。
定價和帳務
建立來使用將範圍限制為該帳戶之加密金鑰的儲存體帳戶,會以不同於使用預設服務範圍金鑰之帳戶的費率,針對資料表儲存體容量和交易進行計費。 如需詳細資料,請參閱 Azure 資料表儲存體定價。
下一步