Padrões de design de nuvem que dão suporte à segurança
Ao projetar arquiteturas de carga de trabalho, você deve usar padrões do setor que abordam desafios comuns. Os padrões podem ajudá-lo a fazer compensações intencionais dentro de cargas de trabalho e otimizar para o resultado desejado. Eles também podem ajudar a atenuar os riscos originados de problemas específicos, o que pode afetar a confiabilidade, o desempenho, o custo e as operações. Esses riscos podem ser indicativos de falta de garantias de segurança, se deixados autônomos podem representar riscos significativos para os negócios. Esses padrões são apoiados pela experiência do mundo real, são projetados para escala de nuvem e modelos operacionais e são inerentemente independentes do fornecedor. Usar padrões conhecidos como uma maneira de padronizar seu design de carga de trabalho é um componente de excelência operacional.
Muitos padrões de design dão suporte direto a um ou mais pilares de arquitetura. Padrões de design que dão suporte ao pilar segurança priorizam conceitos como segmentação e isolamento, autorização forte, segurança de aplicativo uniforme e protocolos modernos.
Padrões de design para segurança
A tabela a seguir resume os padrões de design de nuvem que dão suporte às metas de segurança.
Padrão | Resumo |
---|---|
Embaixador | Encapsula e gerencia as comunicações de rede descarregando tarefas transversais relacionadas à comunicação de rede. Os serviços auxiliares resultantes iniciam a comunicação em nome do cliente. Esse ponto de mediação oferece uma oportunidade para aumentar a segurança nas comunicações de rede. |
Back-ends para Front-ends | Individualiza a camada de serviço de uma carga de trabalho criando serviços separados que são exclusivos de uma interface de front-end específica. Devido a essa separação, a segurança e a autorização na camada de serviço que dão suporte a um cliente podem ser adaptadas à funcionalidade fornecida por esse cliente, reduzindo potencialmente a área de superfície de uma API e a movimentação lateral entre diferentes back-ends que podem expor diferentes funcionalidades. |
Bulkhead | Apresenta a segmentação intencional e completa entre componentes para isolar o raio de explosão de defeitos. Você também pode usar essa estratégia para conter incidentes de segurança para o bulkhead comprometido. |
Verificação de declaração | Separa os dados do fluxo de mensagens, fornecendo uma maneira de recuperar separadamente os dados relacionados a uma mensagem. Esse padrão dá suporte à manutenção de dados confidenciais fora dos corpos das mensagens, mantendo-os gerenciados em um armazenamento de dados seguro. Essa configuração permite estabelecer uma autorização mais rigorosa para dar suporte ao acesso aos dados confidenciais de serviços que devem usar os dados, mas remover a visibilidade de serviços auxiliares, como soluções de monitoramento de fila. |
Identidade Federada | Os delegados confiam em um provedor de identidade externo à carga de trabalho para gerenciar usuários e fornecer autenticação para seu aplicativo. Ao externalizar o gerenciamento e a autenticação de usuários, você pode obter recursos evoluídos para detecção e prevenção de ameaças baseadas em identidade sem a necessidade de implementar esses recursos em sua carga de trabalho. Os provedores de identidade externos usam protocolos de autenticação interoperáveis modernos. |
Gatekeeper | Descarrega o processamento de solicitação especificamente para a imposição de segurança e controle de acesso antes e depois de encaminhar a solicitação para um nó de back-end. Adicionar um gateway ao fluxo de solicitação permite centralizar a funcionalidade de segurança, como firewalls de aplicativo Web, proteção contra DDoS, detecção de bot, manipulação de solicitações, iniciação de autenticação e verificações de autorização. |
Agregação de Gateway | Simplifica as interações do cliente com sua carga de trabalho agregando chamadas para vários serviços de back-end em uma única solicitação. Essa topologia geralmente reduz o número de pontos de toque que um cliente tem com um sistema, o que reduz a área da superfície pública e os pontos de autenticação. Os back-ends agregados podem permanecer totalmente isolados da rede dos clientes. |
Descarregamento de Gateway | Descarrega o processamento de solicitação para um dispositivo de gateway antes e depois de encaminhar a solicitação para um nó de back-end. Adicionar um gateway ao fluxo de solicitação permite centralizar a funcionalidade de segurança, como firewalls de aplicativo Web e conexões TLS com clientes. Qualquer funcionalidade descarregada fornecida pela plataforma já oferece segurança aprimorada. |
Publicador/Assinante | Separa os componentes em uma arquitetura substituindo a comunicação direta cliente a serviço pela comunicação por meio de um agente de mensagens intermediário ou barramento de eventos. Essa substituição apresenta um importante limite de segmentação de segurança que permite que os assinantes da fila sejam isolados da rede do editor. |
Quarentena | Garante que os ativos externos atendam a um nível de qualidade acordado pela equipe antes de serem autorizados a consumi-los na carga de trabalho. Essa marcar serve como uma primeira validação de segurança de artefatos externos. A validação em um artefato é realizada em um ambiente segmentado antes de ser usada no SDL (ciclo de vida de desenvolvimento seguro). |
Sidecar | Estende a funcionalidade de um aplicativo encapsulando tarefas nãoprimárias ou transversais em um processo complementar que existe junto com o aplicativo main. Encapsulando essas tarefas e implantando-as fora do processo, você pode reduzir a área de superfície de processos confidenciais apenas para o código necessário para realizar a tarefa. Você também pode usar sidecars para adicionar controles de segurança transversais a um componente de aplicativo que não é projetado nativamente com essa funcionalidade. |
Limitação | Impõe limites à taxa ou à taxa de transferência de solicitações de entrada para um recurso ou componente. Você pode criar os limites para ajudar a evitar o esgotamento de recursos que podem resultar de abuso automatizado do sistema. |
Valet Key | Concede acesso restrito à segurança a um recurso sem usar um recurso intermediário para fazer proxy do acesso. Esse padrão permite que um cliente acesse diretamente um recurso sem precisar de credenciais de longa duração ou permanentes. Todas as solicitações de acesso começam com uma transação auditável. Em seguida, o acesso concedido é limitado no escopo e na duração. Esse padrão também facilita a revogação do acesso concedido. |
Próximas etapas
Examine os padrões de design de nuvem que dão suporte a outros pilares do Azure Well-Architected Framework: