Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 das cargas de trabalho e otimizar para o resultado desejado. Eles também podem ajudar a mitigar riscos originados de problemas específicos, que podem 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 sem supervisão podem representar riscos significativos para o negócio. 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 agnósticos ao fornecedor. Usar padrões bem conhecidos como forma de padronizar o design da carga de trabalho é um componente da excelência operacional.
Muitos padrões de design suportam diretamente um ou mais pilares de arquitetura. Os padrões de design que suportam o pilar Segurança priorizam conceitos como segmentação e isolamento, autorização forte, segurança uniforme de aplicativos e protocolos modernos.
A tabela a seguir resume os padrões de design de arquitetura que suportam os objetivos de segurança.
| Padrão | Resumo |
|---|---|
| Embaixador | Encapsula e gerencia 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. Este ponto de mediação oferece uma oportunidade para aumentar a segurança nas comunicações de rede. |
| Backends para Frontends | Individualiza a camada de serviço de uma carga de trabalho criando serviços separados que são exclusivos para uma interface de frontend específica. Devido a essa separação, a segurança e a autorização na camada de serviço que suportam um cliente podem ser adaptadas à funcionalidade fornecida por esse cliente, reduzindo potencialmente a área de superfície de uma API e o movimento lateral entre diferentes back-ends que podem expor diferentes recursos. |
| Anteparas | Introduz segmentação intencional e completa entre componentes para isolar o raio de jateamento de avarias. Você também pode usar essa estratégia para conter incidentes de segurança na antepara comprometida. |
| Verificação de sinistros | Separa os dados do fluxo de mensagens, fornecendo uma maneira de recuperar separadamente os dados relacionados a uma mensagem. Esse padrão suporta manter dados confidenciais fora dos corpos das mensagens, mantendo-os gerenciados em um armazenamento de dados seguro. Essa configuração permite que você estabeleça uma autorização mais rigorosa para dar suporte ao acesso aos dados confidenciais de serviços que devem usar os dados, mas remova a visibilidade de serviços auxiliares, como soluções de monitoramento de filas. |
| Identidade federada | Delega confiança a 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 deteçã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 modernos protocolos de autenticação interoperáveis. |
| Gatekeeper | Descarrega o processamento de solicitações especificamente para aplicaçã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ções permite centralizar a funcionalidade de segurança, como firewalls de aplicativos da Web, proteção contra DDoS, deteção de bots, manipulação de solicitações, início 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 contato que um cliente tem com um sistema, o que reduz a área de superfície pública e os pontos de autenticação. Os back-ends agregados podem ficar totalmente isolados da rede dos clientes. |
| Descarregamento de gateway | Descarrega o processamento de solicitações 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ções permite centralizar a funcionalidade de segurança, como firewalls de aplicativos da Web e conexões TLS com clientes. Qualquer funcionalidade descarregada fornecida pela plataforma já oferece segurança aprimorada. |
| Editor/Subscritor | Desacopla componentes em uma arquitetura substituindo a comunicação direta cliente-serviço pela comunicação por meio de um agente de mensagens intermediário ou barramento de eventos. Essa substituição introduz um importante limite de segmentação de segurança que permite que os assinantes da fila fiquem 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 verificação serve como uma primeira validação de segurança de artefatos externos. A validação em um artefato é conduzida em um ambiente segmentado antes de ser usado dentro do ciclo de vida de desenvolvimento seguro (SDL). |
| Carro lateral | Estende a funcionalidade de um aplicativo encapsulando tarefas não primárias ou transversais em um processo complementar que existe junto com o aplicativo principal. Ao encapsular essas tarefas e implantá-las fora do processo, você pode reduzir a área de superfície de processos confidenciais para apenas 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 foi projetado nativamente com essa funcionalidade. |
| Escalonamento | Impõe limites à taxa ou taxa de transferência de solicitações de entrada para um recurso ou componente. Você pode projetar os limites para ajudar a evitar o esgotamento de recursos que poderia resultar do abuso automatizado do sistema. |
| Chave de manobrista | Concede acesso restrito de segurança a um recurso sem usar um recurso intermediário para proxy do acesso. Esse padrão permite que um cliente acesse diretamente um recurso sem precisar de credenciais duradouras ou permanentes. Todas as solicitações de acesso começam com uma transação auditável. O acesso concedido é então limitado tanto em termos de âmbito como de duração. Esse padrão também facilita a revogação do acesso concedido. |
Próximos passos
Analise os padrões de design de arquitetura que dão suporte aos outros pilares do Azure Well-Architected Framework: