Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Azure Storage encripta todos os dados de uma conta de armazenamento em repouso. Por padrão, os dados são encriptados com chaves geridas pela Microsoft. Para obter um controlo adicional sobre as chaves de encriptação, pode gerir as suas próprias chaves. As chaves geridas pelo cliente devem ser armazenadas num Cofre de Chaves do Azure ou num Modelo de Segurança de Hardware Gerido pelo Cofre de Chaves do Azure (HSM).
Este artigo explica como configurar a encriptação com chaves geridas pelo cliente para uma conta de armazenamento existente. No cenário de arrendatário cruzado, a conta de armazenamento reside num arrendatário gerido por um ISV (Fornecedor Independente de Software), enquanto a chave usada para a encriptação dessa conta de armazenamento reside num cofre de chaves num arrendatário que é gerido pelo cliente.
Para aprender como configurar chaves geridas pelo cliente para uma nova conta de armazenamento, consulte Configurar chaves geridas pelo cliente de inquilino cruzado para uma nova conta de armazenamento.
Nota
Azure Key Vault e Azure Key Vault Managed HSM suportam as mesmas APIs e interfaces de gestão para configuração de chaves geridas por clientes. Qualquer ação que seja suportada para o Azure Key Vault também é suportada para o Azure Key Vault Managed HSM.
Sobre chaves geridas pelo cliente entre inquilinos
Muitos fornecedores de serviços que estão a construir ofertas de Software como Serviço (SaaS) no Azure querem oferecer aos seus clientes a opção de gerir as suas próprias chaves de encriptação. As chaves geridas pelo cliente permitem que um prestador de serviços criptografe os dados do cliente usando uma chave de criptografia que é gerida pelo cliente do prestador de serviços e que não é acessível ao prestador de serviços. No Azure, o cliente do fornecedor de serviços pode usar o Azure Key Vault para gerir as suas chaves de encriptação na sua própria entidade e subscrição Microsoft Entra.
Os serviços e recursos da plataforma Azure que são propriedade do fornecedor de serviços e que residem no inquilino do fornecedor de serviços exigem acesso à chave do inquilino do cliente para realizar as operações de encriptação/desencriptação.
A imagem abaixo mostra a encriptação de dados em repouso com identidade federada num fluxo de trabalho CMK entre inquilinos, abrangendo um fornecedor de serviços e o seu cliente.
No exemplo acima, há dois clientes Microsoft Entra: um cliente de um fornecedor de serviços independente (Cliente 1) e um cliente de um cliente (Cliente 2). Inquilino 1 aloja serviços da plataforma Azure e Inquilino 2 aloja o cofre de chaves do cliente.
Uma registo de aplicação multitenant é criado pelo fornecedor de serviços em Tenant 1. Uma federated identity credential é criada nesta aplicação usando uma identidade gerida atribuída pelo utilizador. Em seguida, o nome e o ID da aplicação são partilhados com o cliente.
Um utilizador com as permissões adequadas instala a aplicação do fornecedor de serviços no inquilino do cliente, Tenant 2. Em seguida, um utilizador concede ao principal de serviço associado à aplicação instalada acesso ao cofre de chaves do cliente. O cliente também armazena a chave de encriptação, ou chave gerida pelo cliente, no cofre de chaves. O cliente partilha a localização da chave (a URL da chave) com o prestador de serviços.
O prestador de serviços agora tem:
- Um ID de aplicação para uma aplicação multitenant instalada no locatário do cliente, à qual foi concedido acesso à chave gerida pelo cliente.
- Uma identidade gerida configurada como a credencial na aplicação de múltiplos inquilinos.
- A localização da chave no cofre de chaves do cliente.
Com estes três parâmetros, o fornecedor de serviços provisiona recursos do Azure em Inquilino 1 que podem ser encriptados com a chave gerida pelo cliente em Inquilino 2.
Vamos dividir a solução completa acima em três fases:
- O fornecedor de serviços configura identidades.
- O cliente concede acesso à aplicação multitenant do prestador de serviços a uma chave de encriptação no Azure Key Vault.
- O prestador de serviços cifra dados em um recurso do Azure utilizando o CMK.
As operações na Fase 1 seriam uma configuração única para a maioria das aplicações dos fornecedores de serviços. As operações nas Fases 2 e 3 seriam repetidas para cada cliente.
Fase 1 - O fornecedor de serviços configura uma aplicação Microsoft Entra
Passo | Descrição | Função mínima no Azure RBAC | Função mínima no Microsoft Entra RBAC |
---|---|---|---|
1. | Crie um novo registo de aplicação Microsoft Entra multitenant ou comece com um registo de aplicação já existente. Tome nota do ID da aplicação (ID de cliente) do registo da aplicação utilizando o Azure portal, Microsoft Graph API, Azure PowerShell ou o Azure CLI. | None | Application Developer |
2. | Criar uma identidade gerida atribuída ao utilizador (a ser utilizada como uma Credencial de Identidade Federada). Azure portal / Azure CLI / Azure PowerShell/ Azure Resource Manager Templates |
Contribuidor de identidade gerida | None |
3. | Configure a identidade gerida atribuída pelo utilizador como uma credencial de identidade federada na aplicação, para que possa representar a identidade da aplicação. Graph API reference/ Azure portal/ Azure CLI/ Azure PowerShell |
None | Proprietário da aplicação |
4. | Partilhe o nome da aplicação e o ID da aplicação com o cliente, para que este possa instalar e autorizar a aplicação. | Nenhum | None |
Considerações para os prestadores de serviços
- Os modelos de Azure Resource Manager (ARM) não são recomendados para criar aplicações Microsoft Entra.
- A mesma aplicação multitenant pode ser usada para aceder a chaves em qualquer número de inquilinos, como Inquilino 2, Inquilino 3, Inquilino 4, e assim por diante. Em cada inquilino, é criada uma instância independente da aplicação que tem o mesmo ID de aplicação, mas um ID de objeto diferente. Cada instância desta aplicação é, assim, autorizada independentemente. Considere como o objeto de aplicação usado para esta funcionalidade é utilizado para dividir a sua aplicação entre todos os clientes.
- Uma aplicação pode ter no máximo 20 credenciais de identidade federada, o que requer que um fornecedor de serviços partilhe identidades federadas entre os seus clientes. Para mais informações sobre considerações de design e restrições de identidades federadas, consulte Configurar uma aplicação para confiar num fornecedor de identidade externo
- Em cenários raros, um fornecedor de serviços pode usar um único objeto de Aplicação por cliente, mas isso implica custos de manutenção significativos para gerir aplicações em escala em todos os clientes.
- No inquilino do fornecedor de serviços, não é possível automatizar a Verificação do Editor.
Fase 2 - O cliente autoriza o acesso ao cofre de chaves
Passo | Descrição | Funções RBAC mais restritas do Azure | Funções menos privilegiadas do Microsoft Entra |
---|---|---|---|
1. | None | Utilizadores com permissões para instalar aplicações | |
2. | Criar um Azure Key Vault e uma chave usada como a chave gerida pelo cliente. | Para criar o cofre de chaves, um utilizador deve ter a função Key Vault Contributor atribuída. Um utilizador deve ser atribuído à função Key Vault Crypto Officer para adicionar uma chave ao cofre de chaves. |
None |
3. | Conceda acesso de identidade à aplicação consentida ao cofre de chaves do Azure, atribuindo o papel Key Vault Crypto Service Encryption User | Para atribuir o papel de Utilizador de Criptografia do Key Vault Crypto Service à aplicação, é necessário que tenha sido atribuído o papel de Administrador de Acesso de Utilizadores. | Nenhum |
4. | Copie o URL do cofre de chaves e o nome da chave para a configuração de chaves geridas pelo cliente na oferta de SaaS. | None | None |
Nota
Para autorizar o acesso ao HSM Gerido para encriptação usando CMK, veja o exemplo para a Conta de Armazenamento aqui. Para mais informações sobre a gestão de chaves com Managed HSM, consulte Gerir um HSM Gerido usando o Azure CLI
Considerações para clientes de prestadores de serviços
- No inquilino do cliente, Tenant 2, um administrador pode definir políticas para bloquear usuários não administradores de instalar aplicações. Estas políticas podem impedir que utilizadores sem privilégios de administrador criem principais de serviço. Se tal política estiver configurada, então os utilizadores com permissões para criar principais de serviço precisam de estar envolvidos.
- O acesso ao Azure Key Vault pode ser autorizado usando Azure RBAC ou políticas de acesso. Ao conceder acesso a um cofre de chaves, certifique-se de usar o mecanismo ativo para o seu cofre de chaves.
- A aplicação de registo Microsoft Entra tem um ID de aplicação (ID de cliente). Quando a aplicação é instalada no seu inquilino, um principal de serviço é criado. O principal de serviço partilha o mesmo ID da aplicação que o registo da aplicação, mas gera o seu próprio ID de objeto. Quando autorizar a aplicação a ter acesso aos recursos, poderá precisar usar a propriedade principal do serviço
Name
ouObjectID
.
Fase 3 - O fornecedor de serviços encripta os dados num recurso do Azure usando a chave gerida pelo cliente
Após a conclusão das fases 1 e 2, o fornecedor de serviços pode configurar a encriptação no recurso do Azure com a chave e o cofre de chaves no inquilino do cliente e o recurso do Azure no inquilino do ISV. O fornecedor de serviços pode configurar chaves geridas pelo cliente entre locatários diferentes utilizando as ferramentas de cliente suportadas por esse recurso do Azure, com um modelo ARM ou com a API REST.
Configure as chaves geridas pelo cliente entre inquilinos
Esta seção descreve como configurar uma chave gerida pelo cliente entre inquilinos (CMK) e encriptar os dados do cliente. Aprende a encriptar dados de clientes num recurso em Tenant1 utilizando um CMK (Chave Mestra de Cliente) armazenado num cofre de chaves em Tenant2. Pode utilizar o portal do Azure, o Azure PowerShell ou a Azure CLI.
Inicie sessão no portal do Azure e siga estes passos.
O prestador de serviços configura identidades
Os passos seguintes são executados pelo fornecedor de serviços no inquilino do fornecedor de serviços Tenant1.
O fornecedor de serviço cria um novo registo de aplicação multi-inquilino.
Pode criar um novo registo de aplicação Microsoft Entra multicliente ou começar com um registo de aplicação multicliente existente. Se começar com um registo de aplicação existente, anote o ID da aplicação (ID do cliente) da aplicação.
Para criar um novo registo:
Pesquise por Microsoft Entra ID na caixa de pesquisa. Localize e selecione a extensão Microsoft Entra ID.
Selecione Gerir > Registos de Aplicações no painel à esquerda.
Selecione + Novo registo.
Forneça o nome para o registo da aplicação e selecione Conta em qualquer diretório organizacional (Qualquer diretório do Microsoft Entra – Multi-inquilino).
Select Register.
Tome nota do ApplicationId/ClientId da aplicação.
O fornecedor de serviços cria uma identidade gerida atribuída ao utilizador
Crie uma identidade gerida atribuída ao utilizador para ser usada como credencial de identidade federada.
Pesquise por Managed Identities na caixa de pesquisa. Localize e selecione a extensão Managed Identities.
Select + Create.
Forneça o grupo de recursos, a região e o nome para a identidade gerida.
Select Review + create.
Após a implementação bem-sucedida, anote o ID de recurso do Azure da identidade gerida atribuída pelo utilizador, que está disponível em Propriedades. For example:
/subscriptions/tttttttt-0000-tttt-0000-tttt0000tttt/resourcegroups/XTCMKDemo/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ConsotoCMKDemoUA
O fornecedor de serviços configura a identidade gerida atribuída pelo utilizador como uma credencial federada na aplicação.
Configure uma identidade gerida atribuída ao utilizador como uma credencial de identidade federada na aplicação, para que possa assumir a identidade da aplicação.
Navegue até Microsoft Entra ID > Registros de Aplicações > a sua aplicação.
Selecione Certificados e segredos.
Selecione Federated credentials.
Select + Add credential.
Em Cenário de credenciais federadas, selecione Identidade gerenciada.
Clique em Select a managed identity. A partir do painel, selecione a subscrição. Sob Identidade gerida, selecione Identidade gerida atribuída ao utilizador. Na caixa Select, procure a identidade gerida que criou anteriormente e, em seguida, clique em Select na parte inferior do painel.
Sob Detalhes das Credenciais, forneça um nome e uma descrição opcional para a credencial e selecione Adicionar.
O prestador de serviços partilha a ID da aplicação com o cliente
Encontre o ID da aplicação (ID do cliente) da aplicação multiinquilino e partilhe-o com o cliente.
O cliente concede ao aplicativo do prestador de serviços acesso à chave no cofre de chaves.
Os passos seguintes são realizados pelo cliente no inquilino do cliente Tenant2. O cliente pode usar o portal do Azure, o Azure PowerShell ou o Azure CLI.
O utilizador que executa os passos deve ser um administrador com uma função privilegiada, como Administrador de Aplicações, Administrador de Aplicações na Nuvem ou Administrador Global.
Inicie sessão no Azure portal e siga estes passos.
O cliente instala a aplicação do fornecedor de serviços no espaço reservado ao cliente.
Para instalar a aplicação registada do prestador de serviço no cliente do inquilino, cria um principal de serviço com o ID da aplicação a partir da aplicação registada. Pode criar o principal do serviço de uma das seguintes maneiras:
- Utilize Microsoft Graph, Microsoft Graph PowerShell, Azure PowerShell ou Azure CLI para criar manualmente o principal de serviço.
- Construa um URL de consentimento de administração e conceda consentimento a nível de inquilino para criar o principal de serviço. Terá de lhes fornecer o seu AppId.
O cliente cria um cofre de chaves
Para criar o cofre de chaves, a conta do utilizador deve ser atribuída ao cargo de Key Vault Contributor ou a outro cargo que permita a criação de um cofre de chaves.
A partir do menu do portal Azure ou da página inicial, selecione + Criar um recurso. Na caixa de pesquisa, introduza Key vaults. Na lista de resultados, selecione Cofres de chaves. On the Key vaults page, select Create.
Na aba Início, escolha uma subscrição. Sob Grupo de Recursos, selecione Criar novo e introduza um nome para o grupo de recursos.
Insira um nome único para o cofre de chaves.
Selecione uma região e um nível de preços.
Ativar a proteção de eliminação para o novo cofre de chaves.
Na aba Política de Acesso, selecione controle de acesso baseado em função do Azure para Modelo de Permissão.
Selecione Revise + crie e depois Crie.
Tome nota do nome e do URI do cofre de chaves. As aplicações que acedem ao seu cofre de chaves devem utilizar este URI.
Para mais informações, consulte Início rápido - Criar um Cofre de Chaves Azure com o portal Azure.
O cliente atribui a função de Oficial de Criptografia do Key Vault a uma conta de utilizador
Este passo garante que pode criar chaves de encriptação.
- Navegue até o seu cofre de chaves e selecione Access Control (IAM) no painel à esquerda.
- Em Conceder acesso a este recurso, selecione Adicionar atribuição de função.
- Procure por e selecione Key Vault Crypto Officer.
- Em Membros, selecione Utilizador, grupo ou principal de serviço.
- Selecione Membros e procure a sua conta de utilizador.
- Select Review + Assign.
O cliente cria uma chave de encriptação
Para criar a chave de encriptação, a conta do utilizador deve ser atribuída à função de Oficial Cripto do Cofre de Chaves ou a outra função que permita a criação de uma chave.
- Na página de propriedades do Key Vault, selecione Chaves.
- Select Generate/Import.
- Na tela Criar uma chave, especifique um nome para a chave. Deixe os outros valores nos seus valores padrão.
- Select Create.
- Copie o URI chave.
O cliente concede ao fornecedor de serviços acesso à aplicação ao cofre de chaves
Atribua o papel "Azure RBAC" Utilizador de Criptografia de Serviço da Key Vault à aplicação registada do fornecedor de serviços, para que possa aceder ao Key Vault.
- Navegue até o seu cofre de chaves e selecione Controlo de Acesso (IAM) no painel à esquerda.
- Em Conceder acesso a este recurso, selecione Adicionar atribuição de função.
- Procure e selecione Key Vault Crypto Service Encryption User.
- Em Membros, selecione Utilizador, grupo ou entidade de serviço.
- Selecione Membros e procure o nome da aplicação que instalou do fornecedor de serviços.
- Select Review + Assign.
Agora pode configurar chaves geridas pelo cliente com o URI do cofre de chaves e a chave.
Configurar chaves geridas pelo cliente para uma conta existente
Até este ponto, configurou a aplicação multi-inquilino no inquilino do ISV, instalou a aplicação no inquilino do cliente e configurou o cofre de chaves e a chave no inquilino do cliente. Em seguida, pode configurar as chaves geridas pelo cliente numa conta de armazenamento existente com a chave do inquilino do cliente.
Os exemplos neste artigo mostram como configurar chaves geridas pelo cliente numa conta de armazenamento existente usando uma identidade gerida atribuída pelo utilizador para autorizar o acesso ao cofre de chaves. Pode também usar uma identidade gerida atribuída pelo sistema para configurar chaves geridas pelo cliente numa conta de armazenamento existente. Em qualquer dos casos, a identidade gerida deve ter as permissões adequadas para aceder ao cofre de chaves. Para mais informações, consulte Autenticar no Azure Key Vault.
Ao configurar a encriptação com chaves geridas pelo cliente para uma conta de armazenamento existente, pode optar por atualizar automaticamente a versão da chave utilizada para encriptação do Azure Storage sempre que uma nova versão estiver disponível no cofre de chaves associado. Para fazer isso, omita a versão da chave do URI da chave. Alternativamente, pode especificar explicitamente uma versão de chave a ser utilizada para encriptação até que a versão da chave seja atualizada manualmente. Incluir a versão da chave no URI da chave configura chaves geridas pelo cliente para atualização manual da versão da chave.
Importante
Para rodar uma chave, crie uma nova versão da chave no Azure Key Vault. O Azure Storage não realiza a rotação de chaves, por isso precisará gerir a rotação da chave no cofre de chaves. Pode configurar a rotação automática de chaves no Azure Key Vault ou rodar a sua chave manualmente.
O Azure Storage verifica o cofre de chaves para uma nova versão da chave apenas uma vez por dia. Quando rodar uma chave no Azure Key Vault, certifique-se de esperar 24 horas antes de desativar a versão antiga.
Para configurar chaves geridas pelo cliente entre inquilinos para uma conta de armazenamento existente no portal do Azure, siga estes passos:
Navegue para a sua conta de armazenamento.
Em Segurança + rede, selecione Encriptação. Por predefinição, a gestão de chaves está definida para chaves geridas pela Microsoft, como mostrado na imagem seguinte.
Selecione a opção Customer-managed keys.
Escolha a opção Select from Key Vault.
Selecione Introduzir URI de chave e especifique o URI de chave. Omita a versão da chave do URI se quiser que o Azure Storage verifique automaticamente uma nova versão da chave e a atualize.
Selecione a subscrição que contém o cofre de chaves e a chave.
No campo Tipo de Identidade, selecione Atribuído pelo Usuário, e depois especifique a identidade gerida com a credencial de identidade federada que criou anteriormente.
Expanda a secção Avançado e selecione a aplicação registada multi-inquilino que criou anteriormente no inquilino da ISV.
Guarde as suas alterações.
Depois de especificar a chave do cofre de chaves no inquilino do cliente, o portal Azure indica que as chaves geridas pelo cliente estão configuradas com essa chave. Também indica que a atualização automática da versão da chave está ativada e exibe a versão da chave atualmente em uso para encriptação. O portal também exibe o tipo de identidade gerida usada para autorizar o acesso ao cofre de chaves, o ID principal para a identidade gerida, e o ID da aplicação da aplicação multi-tenant.
Alterar a chave
Pode alterar a chave que está a utilizar para a encriptação de Armazenamento Azure a qualquer momento.
Nota
Quando alteras a chave ou a versão da chave, a proteção da chave de encriptação raiz muda, mas os dados na tua conta Azure Storage permanecem sempre encriptados. Não é necessária nenhuma ação adicional da sua parte para garantir que os seus dados estão protegidos. Mudar a chave ou rodar a versão da chave não tem impacto no desempenho. Não há tempo de inatividade associado à alteração da chave ou à rotação da versão da chave.
Para alterar a chave no portal do Azure, siga estas etapas:
- Navegue até à sua conta de armazenamento e exiba as definições de Encriptação.
- Selecione o cofre de chaves e escolha uma nova chave.
- Guarde as suas alterações.
Revogar o acesso a uma conta de armazenamento que utiliza chaves geridas pelo cliente
Para revogar temporariamente o acesso a uma conta de armazenamento que utiliza chaves geridas pelo cliente, desative a chave que está atualmente a ser usada no cofre de chaves. Não há impacto no desempenho ou tempo de inatividade associado a desativar e reativar a chave.
Depois de a chave ser desativada, os clientes não podem chamar operações que leiam ou escrevam num blob ou nos seus metadados. Para informações sobre quais operações falharão, veja Revogar acesso a uma conta de armazenamento que utiliza chaves geridas pelo cliente.
Cuidado
Quando desativa a chave no cofre de chaves, os dados na sua conta de Armazenamento Azure permanecem encriptados, mas tornam-se inacessíveis até reativar a chave.
Para desativar uma chave gerida pelo cliente no portal do Azure, siga estes passos:
Navegue até o cofre de chaves que contém a chave.
Em Objetos, selecione Chaves.
Clique com o botão direito do rato na chave e selecione Desativar.
Voltar a utilizar chaves geridas pela Microsoft
Pode alternar das chaves geridas pelo cliente para as chaves geridas pela Microsoft a qualquer momento, utilizando o portal Azure, o PowerShell ou a CLI do Azure.
Para alternar de chaves geridas pelo cliente para chaves geridas pela Microsoft no portal Azure, siga estes passos:
Aceda à sua conta de armazenamento.
Under Security + networking, select Encryption.
Altere Tipo de encriptação para Chaves geridas pela Microsoft.