Chaves gerenciadas pelo cliente para criptografia do Azure Fluid Relay

Você pode usar a própria chave de criptografia para proteger os dados no seu recurso do Azure Fluid Relay. Quando você especifica uma CMK (chave gerenciada pelo cliente), essa chave é usada para proteger e controlar o acesso à chave que criptografa os dados. A CMK oferece maior flexibilidade para gerenciar controles de acesso.

Você precisa usar um dos seguintes repositórios de chaves do Azure para armazenar sua CMK:

Você precisa criar um recurso do Azure Fluid Relay para habilitar a CMK. Não é possível alterar a habilitação/desabilitação da CMK em um recurso do Fluid Relay existente.

Além disso, a CMK do Fluid Relay depende da Identidade Gerenciada, e você precisa atribuir uma identidade gerenciada ao recurso de Fluid Relay ao habilitar a CMK. Somente a identidade atribuída pelo usuário é permitida para o CMK do recurso do Fluid Relay. Para obter mais informações sobre identidades gerenciadas, confira aqui.

A configuração de um recurso do Fluid Relay com a CMK ainda não pode ser feita por meio portal do Azure.

Quando você configura o recurso do Fluid Relay com a CMK, o serviço do Azure Fluid Relay configura as configurações criptografadas da CMK adequadas no escopo da conta de Armazenamento do Azure em que os artefatos da sessão do Fluid são armazenados. Para obter mais informações sobre o CMK no Armazenamento do Azure, confira aqui.

Para verificar se um recurso do Fluid Relay está usando a CMK, você pode verificar a propriedade do recurso enviando GET e ver se ele tem uma propriedade válida e não vazia de encryption.customerManagedKeyEncryption.

Pré-requisitos:

Antes de configurar a CMK no seu recurso do Azure Fluid Relay, os seguintes pré-requisitos devem ser atendidos:

  • As chaves precisam ser armazenadas em um Azure Key Vault.
  • As chaves devem ser chave RSA e não chave EC, pois a chave EC não dá suporte a WRAP e UNWRAP.
  • Uma identidade gerenciada atribuída pelo usuário precisa ser criada com a permissão necessária (GET, WRAP e UNWRAP) para o cofre de chaves na etapa 1. Mais informações aqui. Conceda GET, WRAP e UNWRAP em Permissões de Chave no AKV.
  • O Cofre de Chaves do Azure, a identidade atribuída pelo usuário e o recurso Fluid Relay devem estar na mesma região e no mesmo locatário do Microsoft Entra.

Criar um recurso do Fluid Relay com a 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>" 

Solicitar formato de carga:

{ 
    "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>" 
            } 
        } 
    } 
} 

Exemplo de userAssignedIdentities e userAssignedIdentityResourceId: /subscriptions/ xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testUserAssignedIdentity

Exemplo de keyEncryptionKeyUrl: https://test-key-vault.vault.azure.net/keys/testKey/testKeyVersionGuid

Observações:

  • Identity.type precisa ser UserAssigned. É o tipo de identidade da identidade gerenciada atribuída ao recurso do Fluid Relay.
  • Properties.encryption.customerManagedKeyEncryption.keyEncryptionKeyIdentity.identityType precisa ser UserAssigned. É o tipo de identidade da identidade gerenciada que deve ser usado para CMK.
  • Embora você possa especificar mais de uma em Identity.userAssignedIdentities, apenas uma identidade de usuário atribuída ao recurso do Fluid Relay especificada será usada para o CMK acessar o cofre de chaves para criptografia.
  • Properties.encryption.customerManagedKeyEncryption.keyEncryptionKeyIdentity.userAssignedIdentityResourceId é a ID de recurso da identidade atribuída pelo usuário que deve ser usada para CMK. Observe que ele deve ser uma das identidades em Identity.userAssignedIdentities (você deve atribuir a identidade ao recurso do Fluid Relay antes que ele possa usá-la para CMK). Além disso, ele deve ter permissões necessárias na chave (fornecida por keyEncryptionKeyUrl).
  • Properties.encryption.customerManagedKeyEncryption.keyEncryptionKeyUrl é o identificador de chave usado para CMK.

Atualizar as configurações do CMK de um recurso do Fluid Relay existente

Você pode atualizar as seguintes configurações da CMK no recurso do Fluid Relay existente:

  • Altere a identidade usada para acessar a chave de criptografia de chave.
  • Altere o identificador de chave de criptografia (URL da chave).
  • Altere a versão chave da chave de criptografia.

Observe que você não pode desabilitar a CMK no recurso de Fluid Relay existente depois que ele está habilitado.

URL da solicitação:

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" 

Exemplo de conteúdo de solicitação para atualizar a URL da chave de criptografia de chave:

{ 
    "properties": { 
       "encryption": { 
            "customerManagedKeyEncryption": { 
                "keyEncryptionKeyUrl": "https://test_key_vault.vault.azure.net/keys/testKey /xxxxxxxxxxxxxxxx" 
            } 
        } 
    } 
}

Confira também