適用于 Azure Fluid Relay 加密的客戶自控金鑰
您可以使用自己的加密金鑰來保護 Azure Fluid Relay 資源中的資料。 當您指定客戶自控金鑰 (CMK) 時,該金鑰會用來保護和控制對加密資料之金鑰的存取。 CMK 提供更大的彈性來管理存取控制。
您必須使用下列其中一個 Azure 金鑰存放區來儲存 CMK:
您必須建立新的 Azure Fluid Relay 資源,才能啟用 CMK。 您無法變更現有流體轉接資源上的 CMK 啟用/停用。
此外,Fluid Relay 的 CMK 依賴受控識別,而且您必須在啟用 CMK 時,將受控識別指派給 Fluid Relay 資源。 只有使用者指派的身分識別才允許用於 Fluid Relay 資源 CMK。 如需受控識別的詳細資訊,請參閱 這裡 。
使用 CMK 設定流暢轉接資源尚無法透過Azure 入口網站完成。
當您使用 CMK 設定 Fluid Relay 資源時,Azure Fluid Relay 服務會在儲存您 Fluid 會話成品的 Azure 儲存體 帳戶範圍上設定適當的 CMK 加密設定。 如需 Azure 儲存體 中 CMK 的詳細資訊,請參閱 這裡 。
若要驗證 Fluid Relay 資源是否使用 CMK,您可以傳送 GET 來檢查資源的 屬性,並查看其是否具有 encryption.customerManagedKeyEncryption 的有效非空白屬性。
先決條件:
在 Azure Fluid Relay 資源上設定 CMK 之前,必須符合下列必要條件:
- 金鑰必須儲存在 Azure 金鑰保存庫中。
- 金鑰必須是 RSA 金鑰,而不是 EC 金鑰,因為 EC 金鑰不支援 WRAP 和 UNWRAP。
- 您必須使用步驟 1 中金鑰保存庫的必要許可權來建立使用者指派的受控識別(GET、WRAP 和 UNWRAP)。 如需詳細資訊,請參閱 這裡 。 請在 AKV 中的金鑰許可權下授與 GET、WRAP 和 UNWRAP。
- Azure 金鑰保存庫、使用者指派的身分識別,以及 Fluid Relay 資源必須位於相同的區域和相同的 Microsoft Entra 租使用者中。
使用 CMK 建立流暢轉接資源
PUT https://management.azure.com/subscriptions/<subscription ID>/resourceGroups/<resource group name> /providers/Microsoft.FluidRelay/fluidRelayServers/< Fluid Relay resource name>?api-version=2022-06-01 @"<path to request payload>"
要求承載格式:
{
"location": "<the region you selected for Fluid Relay resource>",
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
“<User assigned identity resource ID>": {}
}
},
"properties": {
"encryption": {
"customerManagedKeyEncryption": {
"keyEncryptionKeyIdentity": {
"identityType": "UserAssigned",
"userAssignedIdentityResourceId": "<User assigned identity resource ID>"
},
"keyEncryptionKeyUrl": "<key identifier>"
}
}
}
}
範例 userAssignedIdentities 和 userAssignedIdentityResourceId:/subscriptions/ xxxxxxxx-xxxx-xxxx-xxxx-resourceGroups/testGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testUserAssignedIdentity
範例 keyEncryptionKeyUrl: https://test-key-vault.vault.azure.net/keys/testKey/testKeyVersionGuid
注意:
- Identity.type 必須是 UserAssigned。 它是指派給 Fluid Relay 資源的受控識別識別類型。
- Properties.encryption.customerManagedKeyEncryption.keyEncryptionKeyIdentity.identityType 必須是 UserAssigned。 這是應該用於 CMK 之受控識別的識別類型。
- 雖然您可以在 Identity.userAssignedIdentities 中指定多個使用者身分識別,但只有一個指派給 Fluid Relay 資源的使用者身分識別會用於 CMK 存取金鑰保存庫以進行加密。
- Properties.encryption.customerManagedKeyEncryption.keyEncryptionKeyIdentity.userAssignedIdentityResourceId 是使用者指派身分識別的資源識別碼,應該用於 CMK。 請注意,它應該是 Identity.userAssignedIdentities 中的其中一個身分識別(您必須將身分識別指派給 Fluid Relay 資源,才能將其用於 CMK)。 此外,它應該具有金鑰的必要許可權(由 keyEncryptionKeyUrl 提供)。
- Properties.encryption.customerManagedKeyEncryption.keyEncryptionKeyUrl 是 CMK 所使用的金鑰識別碼。
更新現有流體轉接資源的 CMK 設定
您可以在現有的流體轉接資源上更新下列 CMK 設定:
- 變更用來存取金鑰加密金鑰的身分識別。
- 變更金鑰加密金鑰識別碼(金鑰 URL)。
- 變更金鑰加密金鑰的金鑰版本。
請注意,一旦啟用 CMK,就無法在現有的流體轉接資源上停用 CMK。
要求 URL:
PATCH https://management.azure.com/subscriptions/<subscription id>/resourceGroups/<resource group name>/providers/Microsoft.FluidRelay/fluidRelayServers/<fluid relay server name>?api-version=2022-06-01 @"path to request payload"
更新金鑰加密金鑰 URL 的要求承載範例:
{
"properties": {
"encryption": {
"customerManagedKeyEncryption": {
"keyEncryptionKeyUrl": "https://test_key_vault.vault.azure.net/keys/testKey /xxxxxxxxxxxxxxxx"
}
}
}
}