Multilocação e Azure Key Vault
O Azure Key Vault é usado para gerenciar dados seguros para sua solução, incluindo segredos, chaves de criptografia e certificados. Neste artigo, descrevemos alguns dos recursos do Azure Key Vault que são úteis para soluções multilocatário. Em seguida, fornecemos links para as diretrizes que poderão ajudá-lo quando você estiver planejando como usará o Key Vault.
Modelos de isolamento
Ao trabalhar com um sistema multilocatário usando o Key Vault, você precisará tomar uma decisão sobre o nível de isolamento que deseja usar. A escolha de modelos de isolamento usados depende dos seguintes fatores:
- Quantos locatários você planeja ter?
- Você compartilha sua camada de aplicativo entre múltiplos locatários, implanta instâncias de aplicativo de locatário único ou implanta selos de implantação separados para cada locatário?
- Seus locatários precisam gerenciar as próprias chaves de criptografia?
- Seus locatários têm requisitos de conformidade que exigem que seus segredos sejam armazenados separadamente dos segredos de outros locatários?
A tabela a seguir resume as diferenças entre os principais modelos de locação do Key Vault:
Consideração | Cofre por locatário, na assinatura do provedor | Cofre por locatário, na assinatura do locatário | Cofre compartilhado |
---|---|---|---|
Isolamento de dados | Alto | Muito alto | Baixo |
Isolamento de desempenho | Média. A alta taxa de transferência pode ser limitada, mesmo com muitos cofres | Alto | Baixo |
Complexidade da implantação | Baixa/média, dependendo do número de locatários | Alto. O locatário deve conceder corretamente acesso ao provedor | Baixo |
Complexidade operacional | Alto | Baixa para o provedor, mais alta para o locatário | O menor |
Cenário de exemplo | Instâncias de aplicativos individuais por locatário | Chaves de criptografia gerenciadas pelo cliente | Grande solução multilocatário com uma camada de aplicativo compartilhada |
Cofre por locatário, na assinatura do provedor
Você pode considerar a implantação de um cofre para cada um de seus locatários em sua assinatura do Azure (do provedor de serviços). Essa abordagem fornece um forte isolamento de dados entre os dados de cada locatário. No entanto, isso requer que você implante e gerencie um número crescente de cofres à medida que aumenta o número de locatários.
Não há limite para o número de cofres que você pode implantar em uma assinatura do Azure. No entanto, você deve considerar os seguintes limites:
- Há limites de assinatura no número de solicitações que você pode fazer em um período de tempo. Esses limites são aplicados independentemente do número de cofres na assinatura. Portanto, será importante seguir nossas diretrizes de limitação, mesmo quando você tiver cofres específicos do locatário.
- Há um limite para o número de atribuições de função do Azure que você pode criar em uma assinatura. Ao implantar e configurar um grande número de cofres em uma assinatura, você poderá abordar esses limites.
Cofre por locatário, na assinatura do locatário
Em algumas situações, seus locatários poderão criar cofres em suas próprias assinaturas do Azure e talvez queiram conceder acesso ao aplicativo para trabalhar com segredos, certificados ou chaves. Essa abordagem é apropriada quando você permite chaves gerenciadas pelo cliente (CMKs) para criptografia em sua solução.
Para acessar os dados no cofre do seu locatário, o locatário deve fornecer ao seu aplicativo acesso ao cofre dele. Esse processo requer que seu aplicativo seja autenticado por meio de uma instância do Microsoft Entra. Uma abordagem é publicar um aplicativo multilocatário do Microsoft Entra. Seus locatários devem executar um processo de consentimento único. Primeiro, eles registram o aplicativo multilocatário do Microsoft Entra em seu próprio locatário do Microsoft Entra. Em seguida, concedem ao aplicativo multilocatário do Microsoft Entra o nível apropriado de acesso ao cofre. Eles também precisam fornecer a ID de recurso completa do cofre que criaram. Em seguida, seu código de aplicativo pode usar uma entidade de serviço associada ao aplicativo multilocatário do Microsoft Entra em seu próprio Microsoft Entra ID para acessar o cofre de cada locatário.
Como alternativa, você pode pedir a cada locatário para criar uma entidade de serviço para seu serviço usar e fornecer suas credenciais. No entanto, essa abordagem exige que você armazene e gerencie com segurança as credenciais destinadas a cada locatário, o que é uma responsabilidade de segurança.
Se os seus locatários configurarem controles de acesso à rede em seus cofres, verifique se você poderá acessar os cofres. Projete seu aplicativo para lidar com situações em que um locatário altera seus controles de acesso à rede e impede que você acesse seus cofres.
Cofres compartilhados
Você pode optar por compartilhar os segredos dos locatários em um cofre único. O cofre é implantado em sua assinatura do Azure (do provedor de solução), e você é responsável por gerenciá-lo. Essa abordagem é mais simples, mas fornece o mínimo de isolamento de dados e de desempenho.
Você também pode optar por implantar vários cofres compartilhados. Por exemplo, se você seguir o padrão de Selos de Implantação, será provável que implante um cofre compartilhado em cada selo. Da mesma forma, se você implantar uma solução de várias regiões, deverá implantar cofres em cada região pelos seguintes motivos:
- Para evitar a latência de tráfego entre regiões ao trabalhar com os dados no seu cofre.
- Para dar suporte aos requisitos de residência de dados.
- Para habilitar o uso de cofres regionais em outros serviços que requerem implantações de mesma região.
Quando você trabalha com um cofre compartilhado, é importante considerar o número de operações executadas no cofre. As operações incluem a leitura de segredos e a execução de operações de criptografia ou descriptografia. O Key Vault impõe limites ao número de solicitações que podem ser feitas em um único cofre e em todos os cofres em uma assinatura do Azure. Certifique-se de seguir as diretrizes de limitação. É importante seguir as práticas recomendadas, incluindo armazenar em cache com segurança os segredos recuperados e usar a criptografia de envelope para evitar o envio de todas as operações de criptografia para o Key Vault. Ao seguir essas práticas recomendadas, você poderá executar soluções de alta escala em um cofre único.
Se você precisar armazenar segredos, chaves ou certificados específicos do locatário, considere usar uma convenção de nomenclatura como um prefixo de nomenclatura. Por exemplo, você poderá acrescentar a ID do locatário ao nome de cada segredo. Em seguida, o código do aplicativo poderá carregar facilmente o valor de um segredo específico para um locatário específico.
Recursos do Azure Key Vault que dão suporte à multilocação
Marcações
O Key Vault tem suporte para marcação de segredos, certificados e chaves com metadados personalizados, para que você possa usar uma marca para rastrear a ID do locatário para o segredo específico de cada locatário. No entanto, o Key Vault não tem suporte para consulta por marcas, portanto, esse recurso é mais adequado para fins de gerenciamento, em vez de para uso na lógica do aplicativo.
Para obter mais informações:
Suporte ao Azure Policy
Se você decidir implantar um grande número de cofres, será importante garantir que eles sigam um padrão consistente para a configuração de acesso à rede, o registro em log e o controle de acesso. Considere usar o Azure Policy para verificar se os cofres foram configurados de acordo com seus requisitos.
Para obter mais informações:
HSM Gerenciado e HSM Dedicado
Se você precisar executar um grande número de operações por segundo e os limites de operação do Key Vault forem insuficientes, considere usar o HSM Gerenciado ou o HSM Dedicado. Os dois produtos fornecem uma quantidade reservada de capacidade, mas geralmente são mais caros do que o Key Vault. Além disso, esteja ciente dos limites no número de instâncias desses serviços que você pode implantar em cada região.
Para obter mais informações:
- Como decidir se devo usar o Azure Key Vault ou o HSM Dedicado do Azure?
- O HSM Dedicado do Azure é a opção certa para você?
Colaboradores
Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.
Autor principal:
- John Downs | Engenheiro de software principal
Outros colaboradores:
- Jack Lichwa | Gerente Principal de Produto, Azure Key Vault
- Arsen Vladimirskiy | Engenheiro principal de atendimento ao cliente, FastTrack for Azure
Para ver perfis não públicos do LinkedIn, entre no LinkedIn.
Próximas etapas
Examine as abordagens de implantação e configuração para multilocação.