Configurar chaves gerenciadas pelo cliente para dados criptografados Pesquisa de IA do Azure 

A habilitação de CMK (chaves gerenciadas pelo cliente) adiciona segurança adicional sobre a criptografia padrão em repouso ao usar chaves gerenciadas por Microsoft. Ao habilitar o CMK, você controla as chaves de criptografia usadas para proteger seus dados, incluindo a capacidade de:

  • Girar chaves em um cronograma definido pelo cliente
  • Desabilitar ou revogar chaves para bloquear o acesso ao conteúdo criptografado (as chaves armazenadas em cache podem persistir por até 60 minutos)
  • Auditar o uso da chave no Azure Key Vault através dos registros de log

Você pode criar, armazenar e gerenciar chaves usando:

  • Azure Key Vault

  • Azure Key Vault para HSM Gerenciado (Módulo de Segurança de Hardware). Um Azure Key Vault Managed HSM é um HSM validado FIPS 140-2 de Nível 3. Para migrar do Azure Key Vault para o HSM, rotate suas chaves e escolha HSM Gerenciado para armazenamento.

Este artigo explica como configurar o CMK para proteção adicional de seus dados criptografados em Pesquisa de IA do Azure .

Importante

  • A adição de uma CMK (chave gerenciada pelo cliente) se aplica à criptografia de dados em repouso. Se você precisar proteger os dados em uso, considere usar a computação confidencial.

Configurar o CMK em objetos Pesquisa de IA do Azure 

Objetos com dados criptografados que podem ser configurados com uma CMK (chave gerenciada pelo cliente) incluem índices, listas de sinônimos, indexadores, fontes de dados, vetores e conjuntos de habilidades. A criptografia é computacionalmente cara de descriptografar, por isso somente o conteúdo sensível é criptografado.

A criptografia é executada em:

  • Todo o conteúdo dos índices e das listas de sinônimos.

  • Conteúdo confidencial em indexadores, fontes de dados, conjuntos de habilidades e vetorizadores. Conteúdo confidencial refere-se a cadeias de conexão, descrições, identidades, chaves e entradas do usuário. Por exemplo, os conjuntos de habilidades têm chaves do Foundry Tools e algumas habilidades aceitam entradas do usuário, como entidades personalizadas. Em ambos os casos, as chaves e as entradas do usuário são criptografadas. Todas as referências a recursos externos (como fontes de dados Azure ou modelos Azure OpenAI) também são criptografadas.

A adição de uma chave gerenciada pelo cliente a um objeto deve acontecer quando o objeto for criado recentemente. É importante ter em mente:

  • Não é possível adicionar o CMK retroativamente a um objeto existente. Se você quiser adicionar uma chave gerenciada pelo cliente a um objeto existente, deverá excluir e recriar esse objeto com a criptografia habilitada.

  • Depois que o CMK é configurado, a criptografia ocorre sempre que o serviço grava dados, incluindo dados em repouso (armazenamento de longo prazo) ou dados em cache temporários (armazenamento de curto prazo). Para objetos como fontes de dados, indexadores e conjuntos de habilidades, a definição de objeto é criptografada. Para índices, os próprios documentos indexados (não apenas o esquema de índice) são criptografados.

  • Embora não seja possível adicionar criptografia a um objeto existente, depois que um objeto é configurado para criptografia, é possível alterar todas as partes de sua definição de criptografia, inclusive alternar para outro cofre de chaves ou armazenamento HMS, desde que o recurso esteja no mesmo locatário.

  • A criptografia com um CMK é irreversível. Você pode girar chaves e alterar a configuração do CMK, mas a criptografia de índice dura o tempo de vida do índice. Após a criptografia com o CMK, um índice só será acessível se o serviço de pesquisa tiver acesso à chave. Se você revogar o acesso à chave excluindo ou alterando a atribuição de função, o índice será inutilizável e o serviço não poderá ser dimensionado até que o índice seja excluído ou o acesso à chave seja restaurado. Se você excluir ou rotacionar chaves, a chave mais recente será armazenada em cache por até 60 minutos.

  • Se você precisar de CMK em seu serviço de pesquisa, defina uma política de imposição.

  • A imposição do CMK usando Azure Policy e a configuração do CMK no nível do serviço (que ainda está em versão prévia) são configurações independentes. Você pode usar um ou ambos, dependendo de suas necessidades. A configuração do CMK de nível de serviço aplica uma chave padrão a novos objetos, enquanto a imposição da Azure Policy garante que todos os objetos estejam em conformidade com seus requisitos de criptografia. Se você habilitar uma política de imposição do CMK sem uma chave de nível de serviço, todos os objetos habilitados para CMK deverão especificar sua própria chave de criptografia no momento da criação. As solicitações de criação de objeto que omitem a configuração do CMK falham.

Habilite a CMK em nível de serviço para novos objetos por padrão (prévia)

Observação

Esse recurso está atualmente em versão prévia pública. Essa visualização é fornecida sem um contrato de nível de serviço e não é recomendada para utilização em produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Supplemental Terms of Use for Microsoft Azure Previews.

A partir da versão 2026-03-01-preview, você tem a capacidade de configurar uma chave gerenciada pelo cliente no service-level no próprio serviço Pesquisa de IA do Azure . Esse recurso possibilita configurar a chave uma vez no nível do serviço e fazer com que ela se aplique a todos os objetos recém-criados por padrão. Isso garante que todos os dados confidenciais em seu serviço de pesquisa sejam protegidos por uma chave que você controla, sem precisar especificar informações importantes sempre que um objeto for criado.

Habilitar o CMK no nível de serviço significa:

  • Todos os objetos new criados em seu serviço Pesquisa de IA do Azure  usam automaticamente a chave gerenciada pelo cliente no nível do serviço por padrão, portanto, você não precisa mais especificar explicitamente os detalhes da chave de criptografia sempre que criar um objeto.

  • Esse recurso é opcional e você pode continuar configurando o CMK por objeto. Também é possível substituir a chave em nível de serviço para objetos individuais e rotacioná-la de forma independente, permitindo o uso de chaves distintas conforme necessário para diferentes objetos.

Você também pode girar essa chave padrão especificando uma nova chave, específica para o objeto que você está criando. A chave no nível do objeto especificada substituirá a chave de nível de serviço padrão para esse objeto.

Pré-requisitos

  • Pesquisa de IA do Azure em um nível faturável (Básico ou superior, em qualquer região).

  • Azure Key Vault com um cofre de chaves que tenha exclusão reversível e proteção contra limpeza habilitadas. Ou, Azure Key Vault Managed HSM. Esse recurso pode estar em qualquer assinatura e em um tenant diferente. Essas instruções pressupõem um único locatário. Para a configuração entre locatários, consulte Configurar chaves gerenciadas pelo cliente em diferentes locatários.

  • Capacidade de configurar permissões para acesso de chave e atribuir funções. Para criar chaves, é necessário ser Oficial de Criptografia do Key Vault no Azure Key Vault ou Oficial de Criptografia do HSM gerenciado no HSM gerenciado do Azure Key Vault.

    Para atribuir funções, você deve ser Proprietário, Administrador de Acesso do Usuário, Administrador de Controle de Acesso baseado em Função da assinatura ou ser atribuído a uma função personalizada com permissões Microsoft.Authorization/roleAssignments/write.

Etapa 1: Criar uma chave de criptografia

Use Azure Key Vault ou Azure Key Vault HSM Gerenciado para criar uma chave. Pesquisa de IA do Azure  criptografia dá suporte a chaves RSA dos tamanhos 2048, 3072 e 4096. Para obter mais informações sobre os tipos de chave com suporte, confira Sobre chaves.

É recomendável revisar essas dicas antes de começar.

As operações necessárias são Encapsular, Desembrulhar, Criptografar e Descriptografar.

Você pode criar um cofre de chaves usando o portal Azure, CLI do Azure ou Azure PowerShell.

  1. Vá para o seu cofre de chaves no portal do Azure.

  2. Selecione Objetos>Chaves à esquerda e, em seguida, selecione Gerar/Importar.

  3. No painel Criar uma chave, na lista de Opções, escolha Gerar para criar uma chave.

  4. Insira um Nome para sua chave e aceite os padrões para outras propriedades da chave.

  5. Opcionalmente, defina uma política de rotação de chaves para habilitar a rotação automática.

  6. Selecione Criar para iniciar a implantação.

  7. Depois que a chave for criada, obtenha seu identificador de chave. Selecione a chave, selecione a versão atual e copie o identificador de chave. Ele é composto pelo URI do valor da chave, pelo nome da chave e pela versão da chave. Você precisa do identificador para definir um índice criptografado em Pesquisa de IA do Azure . Lembre-se de que as operações necessárias são Wrap, Unwrap, Encrypt e Decrypt.

    Criar uma nova chave de cofre de chaves

Etapa 2: criar uma entidade de segurança

Crie uma entidade de segurança que seu serviço de pesquisa usa para acessar a chave de criptografia. Você pode usar uma identidade gerenciada e atribuição de função ou registrar um aplicativo e fazer com que o serviço de pesquisa forneça a ID do aplicativo nas solicitações.

Use uma identidade gerenciada e funções. Você pode usar uma identidade gerenciada pelo sistema ou uma identidade gerenciada pelo usuário. Uma identidade gerenciada permite que seu serviço de pesquisa se autentique por meio de Microsoft Entra ID, sem armazenar credenciais (ApplicationID ou ApplicationSecret) no código. O ciclo de vida desse tipo de identidade gerenciada está vinculado ao ciclo de vida do serviço de pesquisa, que só pode ter uma identidade gerenciada atribuída ao sistema. Para obter mais informações sobre como as identidades gerenciadas funcionam, consulte O que são identidades gerenciadas para Azure recursos.

Habilite a identidade gerenciada atribuída pelo sistema para seu serviço de pesquisa. É uma operação de dois cliques: habilitar e salvar.

Captura de tela da ativação da identidade gerenciada atribuída pelo sistema.

Etapa 3: conceder permissões

Se você configurou seu serviço de pesquisa para usar uma identidade gerenciada, atribua funções que lhe dão acesso à chave de criptografia.

O controle de acesso baseado em função é recomendado no modelo de permissão da Política de Acesso. Para obter mais informações ou etapas de migração, comece com controle de acesso baseado em função do Azure (Azure RBAC) vs. políticas de acesso (legado).

  1. Vá para o seu cofre de chaves no portal do Azure.

  2. Selecione Controle de Acesso (IAM) e selecione Adicionar atribuição de função.

  3. Selecione uma função:

    • Em Azure Key Vault, selecione Key Vault Crypto Service Encryption User.
    • No HSM Gerenciado, selecione Usuário de Criptografia do Serviço de Criptografia Gerenciada do HSM.
  4. Selecione identidades gerenciadas, selecione membros e, em seguida, selecione a identidade gerenciada de seu serviço de pesquisa. Se estiver testando localmente, atribua essa função a si mesmo também.

  5. Selecione Examinar + Atribuir.

Aguarde alguns minutos para que a atribuição de função se torne operacional.

Etapa 4: Adicionar informações de chave de criptografia a objetos Pesquisa de IA do Azure 

Ao criar um objeto criptografado, insira o URI do cofre de chaves, o nome da chave e a versão da chave. Se você estiver usando um aplicativo Microsoft Entra ID para autenticação, insira também a ID e o segredo do aplicativo.

Você pode configurar novos objetos de pesquisa com uma chave gerenciada pelo cliente no nível do serviço ou no nível do objeto. Ao configurar o CMK no nível de serviço, você aplica a mesma chave por padrão a todos os objetos recém-criados no serviço, a menos que especifique uma chave de nível de objeto diferente para substituir o padrão de nível de serviço.

Especifique a chave gerenciada pelo cliente na definição de objeto ao criar um objeto criptografado. Esse objeto pode ser um índice, indexador, fonte de dados, conjunto de habilidades, vetorizador ou mapa de sinônimos.

Para configurar o CMK em um objeto, use o portal Azure, Search Service REST APIs ou um SDK do Azure.

Ao criar um novo objeto no portal Azure, você pode especificar uma chave gerenciada pelo cliente predefinida em um cofre de chaves. O portal Azure permite habilitar a criptografia com um CMK para:

  • Índices
  • Fontes de dados
  • Indexadores

Para usar o portal Azure, o cofre de chaves e a chave devem existir e você deve concluir as etapas anteriores para acesso autorizado à chave.

No portal Azure, os conjuntos de habilidades são definidos no modo de exibição JSON. Use o JSON mostrado nos exemplos da API REST para fornecer uma chave gerenciada pelo cliente em um conjunto de habilidades.

  1. Acesse o serviço de pesquisa no Azure portal.

  2. Em Gerenciamento de pesquisa, selecione Índices, Indexadores ou Fontes de Dados.

  3. Adicione um novo objeto. Na definição de objeto, selecione Microsoft-managed encryption.

  4. Selecione chaves gerenciadas pelo cliente e escolha sua assinatura, cofre, chave e versão.

Screenshot da página de chave de criptografia no portal Azure.

Importante

O conteúdo criptografado em Pesquisa de IA do Azure  é configurado para usar uma chave específica com uma version específica. Se você alterar a chave ou a versão, o objeto deverá ser atualizado para usá-la antes de excluir a anterior. Se isso não fizer efeito, o objeto ficará inutilizável. Não será possível descriptografar o conteúdo se a chave for perdida.

Configuração da CMK em nível de serviço (versão preliminar)

Para habilitar a configuração de CMK em nível de serviço, recomendamos que você use a API REST de Gerenciamento de Pesquisa ou um pacote do SDK do Azure atualizado para suportar a versão 2026-03-01-preview ou posterior da API REST de Gerenciamento de Pesquisa. Esse recurso ainda não tem suporte no portal do Azure. Habilitar o CMK no nível de serviço não adiciona criptografia a objetos existentes, mas aplica a mesma chave por padrão a todos os objetos recém-criados no serviço, a menos que você especifique uma chave de nível de objeto diferente para substituir o padrão de nível de serviço.

Atualmente, o portal Azure não dá suporte à criptografia de nível de serviço. Utilize a API REST diretamente.

Etapa 5: testar criptografia

Para verificar se a criptografia está funcionando, revogue a chave de criptografia, consulte o índice (ele deve estar inutilizável) e, em seguida, restabeleça a chave de criptografia.

Use o portal Azure para esta tarefa. Verifique se você tem uma atribuição de função que concede acesso de leitura à chave.

  1. Na página Azure Key Vault, selecione Objects>Keys.

  2. Selecione a chave que você criou e, em seguida, selecione Excluir.

  3. Na página Pesquisa de IA do Azure , selecione Search management>Indexes.

  4. Selecione seu índice e use o Explorador de Pesquisa para executar uma consulta. Você deverá receber um erro.

  5. Retorne à página Azure Key Vault Objects>Keys.

  6. Selecione Gerenciar chaves excluídas.

  7. Selecione sua chave e, em seguida, Recuperar.

  8. Retorne ao índice em Pesquisa de IA do Azure  e execute novamente a consulta. Você deverá ver os resultados da pesquisa. Se os resultados não forem imediatos, aguarde um minuto e tente novamente.

Configurar uma política para impor a conformidade com o CMK

As políticas do Azure ajudam a impor padrões organizacionais e a avaliar a conformidade em larga escala. Pesquisa de IA do Azure  tem duas políticas internas opcionais relacionadas ao CMK. Essas políticas se aplicam a serviços de pesquisa novos e existentes.

Efeito Descrição
AuditIfNotExists Verifica se há conformidade com a política: os objetos têm uma chave gerenciada pelo cliente definida e é o conteúdo criptografado. Esse efeito se aplica aos serviços existentes com conteúdo. Ele é avaliado sempre que um objeto é criado ou atualizado, ou de acordo com o agendamento de avaliação. Saiba mais...
Negar Verifica se há imposição de política: o serviço de pesquisa tem SearchEncryptionWithCmk definido como Enabled. Esse efeito se aplica somente a novos serviços, que devem ser criados com a criptografia habilitada. Os serviços existentes permanecem operacionais, mas você não pode atualizá-los, a menos que você corrija o serviço. Nenhuma das ferramentas usadas para serviços de provisionamento expõe essa propriedade, portanto, lembre-se de que definir a política limita a configuração programática.

Atribuir uma política

  1. No portal Azure, navegue até uma política interna e selecione Assign.

    Veja um exemplo da política AuditIfExists no portal Azure:

    Captura de tela da atribuição de uma política interna da CMK.

  2. Defina o escopo da política selecionando a assinatura e o grupo de recursos. Exclua os serviços de pesquisa para os quais a política não deve ser aplicada.

  3. Aceite ou modifique os valores padrão. Selecione Examinar + Criar e, em seguida, selecione Criar.

Habilitar a imposição de política da CMK

Quando você atribui uma política a um grupo de recursos em sua assinatura, ela entra em vigor imediatamente. As políticas de auditoria sinalizam recursos não compatíveis, mas as políticas de negação impedem a criação e a atualização de serviços de pesquisa não compatíveis. Esta seção explica como criar um serviço de pesquisa em conformidade ou atualizar um serviço para torná-lo compatível. Para colocar objetos em conformidade, comece na etapa um deste artigo.

Criar um serviço de pesquisa em conformidade

Para novos serviços de pesquisa, crie-os com SearchEncryptionWithCmk definido como Enabled.

Nem o portal de Azure nem as ferramentas de linha de comando (o CLI do Azure e Azure PowerShell) fornecem essa propriedade nativamente, mas você pode usar API RESTManagement para provisionar um serviço de pesquisa com uma definição de política cmk.

Este exemplo é de Gerencie seu serviço de Pesquisa de IA do Azure  com APIs REST, modificado para incluir a propriedade SearchEncryptionWithCmk.

### Create a search service (provide an existing resource group)
@resource-group = my-rg
@search-service-name = my-search
PUT https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service-name}}?api-version=2025-05-01 HTTP/1.1
     Content-type: application/json
     Authorization: Bearer {{token}}

    {
        "location": "North Central US",
        "sku": {
            "name": "basic"
        },
        "properties": {
            "replicaCount": 1,
            "partitionCount": 1,
            "hostingMode": "default",
            "encryptionWithCmk": {
                "enforcement": "Enabled"
        }
      }
    }

Atualizar um serviço de pesquisa existente

Para serviços de pesquisa existentes que agora não estão em conformidade, corrija-os usando Services – Atualizar a API ou o comando CLI do Azure az resource update. A aplicação de patches nos serviços restaura a capacidade de atualizar as propriedades do serviço de pesquisa.

PATCH https://management.azure.com/subscriptions/<your-subscription-Id>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Search/searchServices/<your-search-service-name>?api-version=2025-05-01

{
  "properties": {
      "encryptionWithCmk": {
          "enforcement": "Enabled"
      }
  }
}

Girar ou atualizar as chaves de criptografia

Use as instruções a seguir para girar chaves ou migrar de Azure Key Vault para o HSM (Modelo de Segurança de Hardware).

Para rotação de chaves, use as funcionalidades de autorotação do Azure Key Vault. Se você usar a rotação automática, omita a versão da chave nas definições de objeto. A chave mais recente é usada, em vez de uma versão específica.

Ao alterar uma chave ou sua versão, atualize qualquer objeto que use a chave para usar os novos valores antes de excluir os valores antigos. Caso contrário, o objeto se tornará inutilizável porque não poderá ser descriptografado.

Se a CMK em nível de serviço estiver configurada, a rotação dessa chave será aplicada automaticamente a objetos recém-criados desse ponto. Objetos que já herdaram a chave de nível de serviço anterior automaticamente captam a nova chave, portanto, você não precisa atualizá-los. No entanto, se você tiver algum objeto configurado com uma chave no nível do objeto que você também deseja girar, será necessário atualizar esses objetos para usar a nova chave.

As chaves são armazenadas em cache por 60 minutos. Lembre-se disso ao testar e girar chaves.

  1. Determine a chave usada por um mapa de índice ou de sinônimo.

  2. Criar uma nova chave no cofre de chaves, mas deixar a chave original disponível. Nesta etapa, você pode alternar do cofre de chaves para o HSM.

  3. Atualize as propriedades do encryptionKey em um mapa de índice ou de sinônimos para usar os novos valores. Somente os objetos que foram criados originalmente com essa propriedade poderão ser atualizados para usar um valor diferente.

  4. Desabilitar ou excluir a chave anterior no cofre de chaves. Monitorar o acesso à chave para verificar se a nova chave está sendo usada.

Por motivos de desempenho, o serviço de pesquisa armazena em cache a chave por até várias horas. Se a chave for desabilitada ou excluída sem o fornecimento de uma nova, as consultas continuarão a funcionar de forma temporária até que o cache expire. No entanto, depois que o serviço de pesquisa não puder mais descriptografar o conteúdo, você receberá esta mensagem: "Access forbidden. The query key used might have been revoked - please retry."

dicas de Key Vault

  • Se você não estiver familiarizado com Azure Key Vault, examine este início rápido para saber mais sobre tarefas básicas: Set e recupere um segredo de Azure Key Vault usando o PowerShell.

  • Use quantos cofres de chaves forem necessários. As chaves gerenciadas podem estar em cofres de chaves diferentes. Um serviço de pesquisa pode ter diversos objetos criptografados, cada um com uma chave de criptografia gerenciada pelo cliente diferente, armazenados em diferentes cofres de chaves.

  • Use o mesmo Azure tenant para que você possa recuperar sua chave gerenciada por meio de atribuições de função e conectando-se através de uma identidade gerenciada pelo sistema ou pelo usuário. Para obter mais informações sobre a criação de um locatário, consulte Configurar um novo locatário.

  • Habilite a proteção contra limpeza e a exclusão temporária em um cofre de chaves. Devido à natureza da criptografia com chaves gerenciadas pelo cliente, ninguém poderá recuperar seus dados se sua chave Azure Key Vault for excluída. Para evitar a perda de dados causada por exclusões acidentais de chaves do Key Vault, devem ser habilitadas a exclusão temporária e a proteção contra limpeza no cofre de chaves. A exclusão lógica é habilitada por padrão, portanto, você só terá problemas se a desabilitar intencionalmente. A proteção contra limpeza não é ativada por padrão, mas é obrigatória para criptografia com CMK na Pesquisa de IA do Azure.

  • Habilite o registro no cofre de chaves para poder monitorar o uso de chaves.

  • Habilite a rotação automática de chaves ou siga procedimentos rigorosos durante a rotação de rotina das chaves do cofre de chaves e dos segredos e registros de aplicativos. Sempre atualize todo o conteúdo criptografado para usar novos segredos e chaves antes de excluir os antigos. O conteúdo não será descriptografado se essa etapa for ignorada.

Trabalhar com conteúdo criptografado

Usando o CMK, você pode notar latência tanto para indexação quanto para consultas devido ao trabalho extra de criptografia e descriptografia. Pesquisa de IA do Azure  não registra a atividade de criptografia, mas você pode monitorar o acesso à chave por meio do log do cofre de chaves.

Recomendamos habilitar o registro em log como parte da configuração do cofre de chaves.

  1. Crie um workspace do Log Analytics.

  2. Adicione uma configuração de diagnóstico no Key Vault que use o espaço de trabalho para retenção de dados.

  3. Selecione auditoria ou allLogs para a categoria, dê um nome à configuração de diagnóstico e salve-a.

Próximas etapas

Se você não estiver familiarizado com a arquitetura de segurança do Azure, examine a documentação Azure Security e, em particular, este artigo: