適用于 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" 
            } 
        } 
    } 
}

另請參閱