Workloads OU — Conta de aplicativo - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Workloads OU — Conta de aplicativo

Influencie o futuro da Arquitetura de Referência de AWS Segurança (AWS SRA) respondendo a uma breve pesquisa.

O diagrama a seguir ilustra os serviços de AWS segurança configurados na conta do aplicativo (junto com o próprio aplicativo).

Serviços de segurança para conta de aplicativo

A conta do aplicativo hospeda a infraestrutura e os serviços principais para executar e manter um aplicativo corporativo. A conta do aplicativo e a UO de cargas de trabalho atendem a alguns objetivos principais de segurança. Primeiro, você cria uma conta separada para cada aplicativo para fornecer limites e controles entre cargas de trabalho para evitar problemas de combinação de funções, permissões, dados e chaves de criptografia. Você deseja fornecer um contêiner de conta separado, no qual a equipe de aplicativos possa ter amplos direitos para gerenciar sua própria infraestrutura sem afetar outras pessoas. Em seguida, você adiciona uma camada de proteção fornecendo um mecanismo para a equipe de operações de segurança monitorar e coletar dados de segurança. Use uma trilha organizacional e implantações locais de serviços de segurança de contas (Amazon, GuardDuty AWS Config, Security AWS Hub, Amazon, AWS IAM Access Analyzer) EventBridge, que são configurados e monitorados pela equipe de segurança. Por fim, você permite que sua empresa defina os controles de forma centralizada. Você alinha a conta do aplicativo à estrutura de segurança mais ampla, tornando-a membro da OU de cargas de trabalho, por meio da qual ela herda as permissões, restrições e proteções de serviço apropriadas.

Considerações sobre design
  • Em sua organização, é provável que você tenha mais de um aplicativo de negócios. A OU de cargas de trabalho foi projetada para abrigar a maioria das cargas de trabalho específicas de sua empresa, incluindo ambientes de produção e não produção. Essas cargas de trabalho podem ser uma combinação de aplicativos comerciais off-the-shelf (COTS) e seus próprios aplicativos e serviços de dados personalizados desenvolvidos internamente. Existem poucos padrões para organizar diferentes aplicativos de negócios junto com seus ambientes de desenvolvimento. Um padrão é ter vários filhos OUs com base em seu ambiente de desenvolvimento, como produção, preparação, teste e desenvolvimento, e usar AWS contas secundárias separadas sob aquelas OUs que pertencem a aplicativos diferentes. Outro padrão comum é ter filhos separados OUs por aplicativo e, em seguida, usar AWS contas secundárias separadas para ambientes de desenvolvimento individuais. A estrutura exata da OU e da conta depende do design do aplicativo e das equipes que gerenciam esses aplicativos. Considere os controles de segurança que você deseja aplicar, sejam eles específicos do ambiente ou do aplicativo, porque é mais fácil implementar esses controles imediatamente. SCPs OUs Para mais considerações sobre a organização orientada à carga de trabalhoOUs, consulte a OUs seção Organização orientada à carga de trabalho do whitepaper Organizando seu ambiente usando várias contas. AWS AWS

Aplicação VPC

A nuvem privada virtual (VPC) na conta do aplicativo precisa tanto de acesso de entrada (para os serviços web simples que você está modelando) quanto de saída (para necessidades de aplicativos ou necessidades de AWS serviços). Por padrão, os recursos dentro de a VPC são roteáveis entre si. Há duas sub-redes privadas: uma para hospedar as EC2 instâncias (camada de aplicativo) e outra para o Amazon Aurora (camada de banco de dados). A segmentação da rede entre diferentes camadas, como a camada do aplicativo e a camada do banco de dados, é realizada por meio de grupos de VPC segurança, que restringem o tráfego no nível da instância. Para maior resiliência, a carga de trabalho abrange duas ou mais zonas de disponibilidade e utiliza duas sub-redes por zona.

Considerações sobre design
  • Você pode usar o espelhamento de tráfego para copiar o tráfego de rede de uma interface de rede elástica de EC2 instâncias. Em seguida, você pode enviar o tráfego para dispositivos out-of-band de segurança e monitoramento para inspeção de conteúdo, monitoramento de ameaças ou solução de problemas. Por exemplo, talvez você queira monitorar o tráfego que está saindo do seu VPC ou o tráfego cuja origem está fora da suaVPC. Nesse caso, você espelhará todo o tráfego, exceto o tráfego que passa dentro do seu, VPC e o enviará para um único dispositivo de monitoramento. Os registros VPC de fluxo da Amazon não capturam tráfego espelhado; eles geralmente capturam informações somente dos cabeçalhos dos pacotes. O espelhamento de tráfego fornece uma visão mais profunda do tráfego da rede, permitindo que você analise o conteúdo real do tráfego, incluindo a carga útil. Ative o espelhamento de tráfego somente para a interface de rede elástica de EC2 instâncias que podem estar operando como parte de cargas de trabalho confidenciais ou para as quais você espera precisar de diagnósticos detalhados no caso de um problema.

VPCendpoints

VPCos endpoints fornecem outra camada de controle de segurança, além de escalabilidade e confiabilidade. Use-os para conectar seu aplicativo VPC a outros AWS serviços. (Na conta do aplicativo, ele AWS SRA emprega VPC endpoints para AWS KMS AWS Systems Manager e Amazon S3.) Endpoints são dispositivos virtuais. Eles são componentes dimensionados horizontalmente, redundantes e altamente disponíveis. VPC Eles permitem a comunicação entre instâncias em você VPC e os serviços sem impor riscos de disponibilidade ou restrições de largura de banda ao tráfego de sua rede. Você pode usar um VPC endpoint para conectá-lo de forma privada aos AWS serviços suportados e VPC aos serviços de VPC endpoint fornecidos por, AWS PrivateLink sem precisar de um gateway de internet, NAT dispositivo, VPN conexão ou conexão AWS Direct Connect. As suas instâncias VPC não exigem endereços IP públicos para se comunicar com outros AWS serviços. O tráfego entre o seu VPC e o outro AWS serviço não sai da rede Amazon. 

Outro benefício do uso de VPC endpoints é permitir a configuração de políticas de endpoints. Uma política de VPC endpoint é uma política de IAM recursos que você anexa a um endpoint ao criar ou modificar o endpoint. Se você não anexar uma IAM política ao criar um endpoint, AWS anexará uma IAM política padrão que permita acesso total ao serviço. Uma política de endpoint não substitui nem substitui IAM políticas ou políticas específicas de serviços (como políticas de bucket do S3). É uma IAM política separada para controlar o acesso do endpoint ao serviço especificado. Dessa forma, ele adiciona outra camada de controle sobre quais AWS diretores podem se comunicar com recursos ou serviços.

Amazon EC2

As EC2 instâncias da Amazon que compõem nosso aplicativo usam a versão 2 do Instance Metadata Service ()IMDSv2. IMDSv2adiciona proteções para quatro tipos de vulnerabilidades que podem ser usadas para tentar acessarIMDS: firewalls de aplicativos de sites, proxies reversos abertos, vulnerabilidades de falsificação de solicitações (SSRF) do lado do servidor, firewalls abertos de camada 3 e. NATs Para obter mais informações, consulte a postagem do blog Adicione uma defesa aprofundada contra firewalls abertos, proxies reversos e SSRF vulnerabilidades com aprimoramentos no Instance Metadata Service. EC2

Use separado VPCs (como subconjunto dos limites da conta) para isolar a infraestrutura por segmentos de carga de trabalho. Use sub-redes para isolar as camadas do seu aplicativo (por exemplo, web, aplicativo e banco de dados) em uma única. VPC Use sub-redes privadas para as instâncias que não devem ser acessadas diretamente pela Internet. Para ligar para a Amazon EC2 API de sua sub-rede privada sem usar um gateway de internet, use AWS PrivateLink. Restrinja o acesso às suas instâncias usando grupos de segurança. Use registros VPC de fluxo para monitorar o tráfego que chega às suas instâncias. Use o Session Manager, um recurso do AWS Systems Manager, para acessar suas instâncias remotamente em vez de abrir SSH portas de entrada e gerenciar SSH chaves. Use volumes separados do Amazon Elastic Block Store (AmazonEBS) para o sistema operacional e seus dados. Você pode configurar sua AWS conta para impor a criptografia dos novos EBS volumes e cópias instantâneas que você criar. 

Exemplo de implementação

A biblioteca AWS SRA de códigos fornece um exemplo de implementação da EBScriptografia padrão da Amazon na Amazon EC2. Ele demonstra como você pode ativar a EBS criptografia padrão da Amazon em nível de conta em cada AWS conta e AWS região da organização. AWS

Application Load Balancers

Os Application Load Balancers distribuem o tráfego de entrada do aplicativo em vários destinos, como EC2 instâncias, em várias zonas de disponibilidade. No AWSSRA, o grupo-alvo do balanceador de carga são as EC2 instâncias do aplicativo. O AWS SRA usa HTTPS ouvintes para garantir que o canal de comunicação seja criptografado. O Application Load Balancer usa um certificado de servidor para encerrar a conexão front-end e, em seguida, descriptografar as solicitações dos clientes antes de enviá-las aos destinos.

AWSO Certificate Manager (ACM) se integra nativamente aos Application Load Balancers e AWS SRA usa ACM para gerar e gerenciar os certificados públicos X.509 (TLSservidor) necessários. Você pode aplicar cifras TLS 1.2 e fortes para conexões front-end por meio da política de segurança do Application Load Balancer. Para obter mais informações, consulte a documentação do Elastic Load Balancing

Considerações sobre design
  • Para cenários comuns, como aplicativos estritamente internos que exigem um TLS certificado privado no Application Load Balancer, você pode usar essa conta para gerar um certificado privado a ACM partir de. CA privada da AWS No AWSSRA, a CA privada ACM raiz é hospedada na conta do Security Tooling e pode ser compartilhada com toda a AWS organização ou com AWS contas específicas para emitir certificados de entidade final, conforme descrito anteriormente na seção Conta do Security Tooling

  • Para certificados públicos, você pode usar ACM para gerar esses certificados e gerenciá-los, incluindo a rotação automática. Como alternativa, você pode gerar seus próprios certificados usandoSSL/TLStools para criar uma solicitação de assinatura de certificado (CSR), obter a CSR assinatura de uma autoridade de certificação (CA) para produzir um certificado e, em seguida, importar o certificado ACM ou carregá-lo IAM para uso com o Application Load Balancer. Se você importar um certificado paraACM, deverá monitorar a data de expiração do certificado e renová-lo antes que ele expire. 

  • Para obter camadas adicionais de defesa, você pode implantar AWS WAF políticas para proteger o Application Load Balancer. Ter políticas periféricas, políticas de aplicativos e até mesmo camadas de aplicação de políticas privadas ou internas aumenta a visibilidade das solicitações de comunicação e fornece uma aplicação unificada de políticas. Para obter mais informações, consulte a postagem do blog Implantando a defesa em profundidade usando regras AWS gerenciadas para AWS WAF.

CA privada da AWS

AWS Private Certificate Authority(CA privada da AWS) é usado na conta do aplicativo para gerar certificados privados para serem usados com um Application Load Balancer. É um cenário comum para os Application Load Balancers fornecerem conteúdo seguro. TLS Isso exige que TLS os certificados sejam instalados no Application Load Balancer. Para aplicativos estritamente internos, os TLS certificados privados podem fornecer o canal seguro.

No AWSSRA, CA privada da AWS está hospedado na conta do Security Tooling e é compartilhado com a conta do Aplicativo usando AWSRAM. Isso permite que os desenvolvedores em uma conta de aplicativo solicitem um certificado de uma CA privada compartilhada. O compartilhamento CAs em toda a organização ou entre AWS contas ajuda a reduzir o custo e a complexidade de criar e gerenciar duplicatas CAs em todas as suas AWS contas. Quando você costuma ACM emitir certificados privados de uma CA compartilhada, o certificado é gerado localmente na conta solicitante e ACM fornece gerenciamento e renovação completos do ciclo de vida.

Amazon Inspector

AWSSRAEle usa o Amazon Inspector para descobrir e verificar automaticamente EC2 instâncias e imagens de contêineres que residem no Amazon Elastic Container Registry ECR (Amazon) em busca de vulnerabilidades de software e exposição não intencional à rede.

O Amazon Inspector é colocado na conta do aplicativo porque fornece serviços de gerenciamento de vulnerabilidades para EC2 instâncias dessa conta. Além disso, o Amazon Inspector relata caminhos de rede indesejados de e para instânciasEC2.

O Amazon Inspector nas contas dos membros é gerenciado centralmente pela conta do administrador delegado. No AWSSRA, a conta do Security Tooling é a conta do administrador delegado. A conta de administrador delegado pode gerenciar descobertas, dados e determinadas configurações para membros da organização. Isso inclui a visualização de detalhes agregados das descobertas de todas as contas dos membros, a ativação ou desativação das verificações das contas dos membros e a revisão dos recursos escaneados dentro da organização. AWS 

Considerações sobre design

Amazon Systems Manager

AWSO Systems Manager é um AWS serviço que você pode usar para visualizar dados operacionais de vários AWS serviços e automatizar tarefas operacionais em seus AWS recursos. Com fluxos de trabalho e runbooks de aprovação automatizados, você pode trabalhar para reduzir o erro humano e simplificar as tarefas de manutenção e implantação dos recursos. AWS

Além desses recursos gerais de automação, o Systems Manager oferece suporte a vários recursos de segurança preventivos, de detecção e responsivos. AWSO Systems Manager SSM Agent (Agent) é um software da Amazon que pode ser instalado e configurado em uma EC2 instância, em um servidor local ou em uma máquina virtual (VM). SSMO Agent possibilita que o Systems Manager atualize, gerencie e configure esses recursos. O Systems Manager ajuda você a manter a segurança e a conformidade examinando essas instâncias gerenciadas e relatando (ou tomando medidas corretivas) sobre quaisquer violações detectadas em seu patch, configuração e políticas personalizadas. 

O AWS SRA usa o Session Manager, um recurso do Systems Manager, para fornecer um shell e CLI uma experiência interativos baseados em navegador. Isso fornece gerenciamento de instâncias seguro e auditável sem a necessidade de abrir portas de entrada, manter bastion hosts ou gerenciar chaves. SSH O AWS SRA usa o Patch Manager, um recurso do Systems Manager, para aplicar patches às EC2 instâncias de sistemas operacionais e aplicativos. 

O AWS SRA também usa a automação, um recurso do Systems Manager, para simplificar as tarefas comuns de manutenção e implantação de EC2 instâncias da Amazon e outros AWS recursos. A automação pode simplificar tarefas comuns de TI como alterar o estado de um ou mais nós gerenciados (usando uma automação de aprovação) e gerenciar estados dos nós gerenciados de acordo com sua própria programação. O Systems Manager inclui recursos que ajudam você a direcionar grandes grupos de instâncias usando etiquetas e controles de velocidade que ajudam a implementar alterações de acordo com os limites que você define. A automação oferece automações com um clique para simplificar tarefas complexas, como criar imagens douradas da Amazon Machine (AMIs) e recuperar instâncias inacessíveis. EC2 Além disso, você pode aprimorar a segurança operacional dando às IAM funções acesso a runbooks específicos para realizar determinadas funções, sem conceder permissões diretamente a essas funções. Por exemplo, se você quiser que uma IAM função tenha permissões para reiniciar EC2 instâncias específicas após atualizações de patches, mas não quiser conceder a permissão diretamente a essa função, crie um runbook de automação e conceda à função permissões para executar somente o runbook.

Considerações sobre design
  • O Systems Manager depende dos metadados da EC2 instância para funcionar corretamente. O Systems Manager pode acessar os metadados da instância usando a versão 1 ou a versão 2 do Instance Metadata Service (IMDSv1eIMDSv2). 

  • SSMO agente precisa se comunicar com diferentes AWS serviços e recursos, como Amazon EC2 Messages, Systems Manager e Amazon S3. Para que essa comunicação ocorra, a sub-rede requer conectividade de saída com a Internet ou provisionamento de endpoints apropriados. VPC O AWS SRA usa VPC endpoints para que o SSM Agente estabeleça caminhos de rede privados para vários AWS serviços. 

  • Usando o Automation, você pode compartilhar as práticas recomendadas com o restante da sua organização. Você pode criar as melhores práticas para gerenciamento de recursos em runbooks e compartilhar os runbooks entre AWS regiões e grupos. Você também pode restringir os valores permitidos para os parâmetros do runbook. Para esses casos de uso, talvez seja necessário criar runbooks de automação em uma conta central, como ferramentas de segurança ou serviços compartilhados, e compartilhá-los com o resto da AWS organização. Os casos de uso comuns incluem a capacidade de implementar centralmente atualizações de patches e segurança, corrigir desvios nas VPC configurações ou nas políticas de bucket do S3 e gerenciar instâncias em grande escala. EC2 Para obter detalhes sobre a implementação, consulte a documentação do Systems Manager.

Amazon Aurora

No AWSSRA, o Amazon Aurora e o Amazon S3 compõem a camada lógica de dados. O Aurora é um mecanismo de banco de dados relacional totalmente gerenciado que é compatível com o My SQL e o Postgre. SQL Um aplicativo que está sendo executado nas EC2 instâncias se comunica com o Aurora e o Amazon S3 conforme necessário. O Aurora é configurado com um cluster de banco de dados dentro de um grupo de sub-redes de banco de dados. 

Considerações sobre design
  • Como em muitos serviços de banco de dados, a segurança do Aurora é gerenciada em três níveis. Para controlar quem pode realizar ações de gerenciamento do Amazon Relational Database Service (RDSAmazon) em clusters de banco de dados e instâncias de banco de dados Aurora, você usa. IAM Para controlar quais dispositivos e EC2 instâncias podem abrir conexões com o endpoint do cluster e a porta da instância de banco de dados para clusters de banco de dados Aurora em VPC um, você usa VPC um grupo de segurança. Para autenticar logins e permissões para um cluster de banco de dados Aurora, você pode adotar a mesma abordagem de uma instância de banco de dados independente do My ou do PostgreSQL, SQL ou pode usar a IAM autenticação de banco de dados para o Aurora My -Compatible Edition. SQL Com essa última abordagem, você se autentica em seu cluster de banco de dados compatível com o Aurora SQL My usando IAM uma função e um token de autenticação.

Amazon S3

O Amazon S3 é um serviço de armazenamento de objetos que oferece escalabilidade, disponibilidade de dados, segurança e performance líderes do setor. É a espinha dorsal de dados de muitos aplicativos desenvolvidosAWS, e as permissões e os controles de segurança apropriados são essenciais para proteger dados confidenciais. Para obter as melhores práticas de segurança recomendadas para o Amazon S3, consulte a documentação, palestras técnicas on-line e análises mais detalhadas nas postagens do blog. A melhor prática mais importante é bloquear o acesso excessivamente permissivo (especialmente o acesso público) aos buckets do S3.

AWS KMS

Isso AWS SRA ilustra o modelo de distribuição recomendado para o gerenciamento de chaves, em que a KMS chave reside na mesma AWS conta do recurso a ser criptografado. Por esse motivo, AWS KMS é usado na conta do aplicativo, além de ser incluído na conta do Security Tooling. Na conta do aplicativo, AWS KMS é usado para gerenciar chaves específicas dos recursos do aplicativo. Você pode implementar uma separação de tarefas usando políticas de chaves para conceder permissões de uso de chaves às funções locais do aplicativo e restringir as permissões de gerenciamento e monitoramento aos seus principais guardiões. 

Considerações sobre design
  • Em um modelo distribuído, a AWS KMS principal responsabilidade do gerenciamento é da equipe de aplicativos. No entanto, sua equipe central de segurança pode ser responsável pela governança e pelo monitoramento de eventos criptográficos importantes, como os seguintes:

    • O material da chave importada em uma KMS chave está se aproximando da data de expiração.

    • O material da chave em uma KMS chave foi girado automaticamente.

    • Uma KMS chave foi excluída.

    • Há uma alta taxa de falha na decodificação.

AWSNuvem HSM

AWSHSMA nuvem fornece módulos gerenciados de segurança de hardware (HSMs) na AWS nuvem. Ele permite que você gere e use suas próprias chaves de criptografia AWS usando FIPS 140-2 de nível 3 validadas às quais você controla HSMs o acesso. Você pode usar HSM a nuvem para SSL TLS descarregar/processar seus servidores web. Isso reduz a carga sobre o servidor web e fornece segurança extra ao armazenar a chave privada do servidor web na nuvemHSM. Da mesma forma, você pode implantar um HSM da nuvem HSM VPC na conta de entrada na rede para armazenar suas chaves privadas e assinar solicitações de certificado se precisar atuar como autoridade de certificação emissora. 

Considerações sobre design
  • Se você tiver um requisito rígido para FIPS 140-2 nível 3, também poderá optar por configurar AWS KMS o uso do HSM cluster Cloud como um armazenamento de chaves personalizado em vez de usar o armazenamento de KMS chaves nativo. Ao fazer isso, você se beneficia da integração AWS KMS e dos AWS serviços que criptografam seus dados, ao mesmo tempo em HSMs que é responsável por proteger suas KMS chaves. Isso combina um único inquilino HSMs sob seu controle com a facilidade de uso e integração do. AWS KMS Para gerenciar sua HSM infraestrutura de nuvem, você precisa empregar uma infraestrutura de chave pública (PKI) e ter uma equipe com experiência em gerenciamentoHSMs.

AWS Secrets Manager

AWSO Secrets Manager ajuda você a proteger as credenciais (segredos) de que você precisa para acessar seus aplicativos, serviços e recursos de TI. O serviço permite que você alterne, gerencie e recupere com eficiência as credenciais, API chaves e outros segredos do banco de dados durante todo o ciclo de vida. Você pode substituir as credenciais codificadas em seu código por uma API chamada para o Secrets Manager para recuperar o segredo programaticamente. Isso ajuda a garantir que o segredo não possa ser comprometido por alguém que esteja examinando seu código, porque o segredo não existe mais no código. Além disso, o Secrets Manager ajuda você a mover seus aplicativos entre ambientes (desenvolvimento, pré-produção, produção). Em vez de alterar o código, você pode garantir que um segredo devidamente nomeado e referenciado esteja disponível no ambiente. Isso promove a consistência e a reutilização do código do aplicativo em diferentes ambientes, ao mesmo tempo em que exige menos alterações e interações humanas após o teste do código. 

Com o Secrets Manager, você pode gerenciar o acesso aos segredos usando políticas refinadas e IAM políticas baseadas em recursos. Você pode ajudar a proteger segredos criptografando-os com chaves de criptografia que você gerencia usando AWSKMS. O Secrets Manager também se integra aos serviços de AWS registro e monitoramento para auditoria centralizada. 

O Secrets Manager usa criptografia de envelope com AWS KMS chaves e chaves de dados para proteger cada valor secreto. Ao criar um segredo, você pode escolher qualquer chave simétrica gerenciada pelo cliente na AWS conta e na região, ou pode usar a chave AWS gerenciada para o Secrets Manager. 

Como prática recomendada, você pode monitorar seus segredos para registrar quaisquer alterações neles. Isso ajuda a garantir que qualquer uso ou alteração inesperada possa ser investigada. Alterações indesejadas podem ser revertidas. Atualmente, o Secrets Manager oferece suporte a dois AWS serviços que permitem monitorar sua organização e atividade: AWS CloudTrail e AWS Config. CloudTrail captura todas as API chamadas para o Secrets Manager como eventos, incluindo chamadas do console do Secrets Manager e de chamadas de código para o Secrets ManagerAPIs. Além disso, CloudTrail captura outros eventos (nãoAPI) relacionados que possam ter um impacto na segurança ou na conformidade em sua AWS conta ou que possam ajudá-lo a solucionar problemas operacionais. Isso inclui certos eventos de rotação de segredos e exclusão de versões secretas. AWSO Config pode fornecer controles de detetive rastreando e monitorando alterações nos segredos no Secrets Manager. Essas mudanças incluem a descrição de um segredo, a configuração de rotação, as tags e o relacionamento com outras AWS fontes, como a chave de KMS criptografia ou as funções AWS Lambda usadas para rotação secreta. Você também pode configurar a Amazon EventBridge, que recebe notificações de alteração de configuração e conformidade do AWS Config, para rotear eventos secretos específicos para ações de notificação ou remediação. 

No AWSSRA, o Secrets Manager está localizado na conta do aplicativo para oferecer suporte a casos de uso de aplicativos locais e gerenciar segredos próximos ao seu uso. Aqui, um perfil de instância é anexado às EC2 instâncias na conta do aplicativo. Segredos separados podem então ser configurados no Secrets Manager para permitir que esse perfil de instância recupere segredos — por exemplo, para ingressar no Active Directory ou LDAP domínio apropriado e acessar o banco de dados Aurora. O Secrets Manager se integra à Amazon RDS para gerenciar as credenciais do usuário quando você cria, modifica ou restaura uma instância de banco de RDS dados Amazon ou um cluster de banco de dados Multi-AZ. Isso ajuda você a gerenciar a criação e a rotação de chaves e substitui as credenciais codificadas em seu código por chamadas programáticas para API o Secrets Manager.

Considerações sobre design
  • Em geral, configure e gerencie o Secrets Manager na conta mais próxima de onde os segredos serão usados. Essa abordagem aproveita o conhecimento local do caso de uso e fornece velocidade e flexibilidade às equipes de desenvolvimento de aplicativos. Para informações rigorosamente controladas, nas quais uma camada adicional de controle pode ser apropriada, os segredos podem ser gerenciados centralmente pelo Secrets Manager na conta do Security Tooling.

Amazon Cognito

O Amazon Cognito permite que você adicione cadastro, login e controle de acesso de usuários aos seus aplicativos web e móveis de forma rápida e eficiente. O Amazon Cognito é escalável para milhões de usuários e oferece suporte ao login com provedores de identidade social, como Apple, Facebook, Google e Amazon, e provedores de identidade corporativa por meio do 2.0 e do SAML OpenID Connect. Os dois principais componentes do Amazon Cognito são grupos de usuários e grupos de identidades. Os grupos de usuários são diretórios de usuários que fornecem opções de inscrição e login para os usuários do seu aplicativo. Os grupos de identidades permitem que você conceda aos seus usuários acesso a outros AWS serviços. Você pode usar grupos de identidades e grupos de usuários separadamente ou em conjunto. Para cenários de uso comuns, consulte a documentação do Amazon Cognito.

O Amazon Cognito fornece uma interface de usuário integrada e personalizável para cadastro e login de usuários. Você pode usar o Android, o iOS e JavaScript SDKs o Amazon Cognito para adicionar páginas de cadastro e login de usuários aos seus aplicativos. O Amazon Cognito Sync é um AWS serviço e uma biblioteca de clientes que permite a sincronização entre dispositivos de dados de usuários relacionados a aplicativos.  

O Amazon Cognito oferece suporte à autenticação multifatorial e à criptografia de dados em repouso e dados em trânsito. Os grupos de usuários do Amazon Cognito fornecem recursos de segurança avançados para ajudar a proteger o acesso às contas em seu aplicativo. Esses recursos avançados de segurança fornecem autenticação adaptativa baseada em risco e proteção contra o uso de credenciais comprometidas.  

Considerações sobre design
  • Você pode criar uma função AWS Lambda e, em seguida, acionar essa função durante as operações do grupo de usuários, como inscrição, confirmação e login (autenticação) do usuário com um gatilho Lambda. AWS Você pode adicionar desafios de autenticação, migrar usuários e personalizar mensagens de verificação. Para operações comuns e fluxo de usuários, consulte a documentação do Amazon Cognito. O Amazon Cognito chama as funções do Lambda de forma síncrona. 

  • Você pode usar grupos de usuários do Amazon Cognito para proteger aplicativos pequenos e multilocatários. Um caso de uso comum do design multilocatário é executar cargas de trabalho para dar suporte ao teste de várias versões de um aplicativo. O projeto de vários locatários também é útil para testar uma única aplicação com diferentes conjuntos de dados, o que permite o uso completo dos seus recursos de cluster. No entanto, certifique-se de que o número de inquilinos e o volume esperado estejam alinhados com as cotas de serviço relacionadas do Amazon Cognito. Essas cotas são compartilhadas entre todos os locatários da aplicação.

Amazon Verified Permissions

O Amazon Verified Permissions é um serviço de gerenciamento de permissões escalável e de autorização refinado para os aplicativos que você cria. Desenvolvedores e administradores podem usar o Cedar, uma linguagem de políticas de código aberto criada especificamente e que prioriza a segurança, com funções e atributos para definir controles de acesso mais granulares, contextuais e baseados em políticas. Os desenvolvedores podem criar aplicativos mais seguros com mais rapidez externalizando a autorização e centralizando o gerenciamento e a administração de políticas. As permissões verificadas incluem definições de esquema, gramática de declarações de política e raciocínio automatizado que abrangem milhões de permissões, para que você possa aplicar os princípios de negação padrão e privilégio mínimo. O serviço também inclui uma ferramenta de simulador de avaliação para ajudá-lo a testar suas decisões de autorização e políticas de autores. Esses recursos facilitam a implantação de um modelo de autorização detalhado e refinado para apoiar seus objetivos de confiança zero. As Permissões Verificadas centralizam as permissões em um repositório de políticas e ajudam os desenvolvedores a usar essas permissões para autorizar ações do usuário em seus aplicativos.

Você pode conectar seu aplicativo ao serviço por meio do API para autorizar as solicitações de acesso do usuário. Para cada solicitação de autorização, o serviço recupera as políticas relevantes e avalia essas políticas para determinar se um usuário tem permissão para realizar uma ação em um recurso, com base nas entradas de contexto, como usuários, funções, associação ao grupo e atributos. Você pode configurar e conectar Permissões Verificadas para enviar seus registros de autorização e gerenciamento de políticas para AWS CloudTrail o. Se você usa o Amazon Cognito como seu repositório de identidade, você pode se integrar às Permissões Verificadas e usar o ID e os tokens de acesso que o Amazon Cognito retorna nas decisões de autorização em seus aplicativos. Você fornece tokens do Amazon Cognito para Permissões Verificadas, que usam os atributos que os tokens contêm para representar o principal e identificar os direitos do principal. Para obter mais informações sobre essa integração, consulte a postagem do AWS blog Simplificando a autorização refinada com as Permissões Verificadas da Amazon e o Amazon Cognito.

As permissões verificadas ajudam você a definir o controle de acesso baseado em políticas ()PBAC. PBACé um modelo de controle de acesso que usa permissões expressas como políticas para determinar quem pode acessar quais recursos em um aplicativo. PBACreúne controle de acesso baseado em funções (RBAC) e controle de acesso baseado em atributos (ABAC), resultando em um modelo de controle de acesso mais poderoso e flexível. Para saber mais sobre PBAC e como você pode criar um modelo de autorização usando permissões verificadas, consulte a postagem do AWS blog Controle de acesso baseado em políticas no desenvolvimento de aplicativos com Amazon Verified Permissions.

No AWSSRA, as Permissões verificadas estão localizadas na conta do aplicativo para oferecer suporte ao gerenciamento de permissões para aplicativos por meio de sua integração com o Amazon Cognito.

Defesa em camadas

A conta do aplicativo oferece uma oportunidade de ilustrar princípios de defesa em camadas que permitem. AWS Considere a segurança das EC2 instâncias que compõem o núcleo de um aplicativo de exemplo simples representado no AWS SRA e você poderá ver como os AWS serviços funcionam juntos em uma defesa em camadas. Essa abordagem se alinha à visão estrutural dos serviços de AWS segurança, conforme descrito na seção Aplicar serviços de segurança em sua AWS organização, anteriormente neste guia.

  • A camada mais interna são as instâncias. EC2 Conforme mencionado anteriormente, EC2 as instâncias incluem muitos recursos de segurança nativos, por padrão ou como opções. Os exemplos incluem IMDSv2o sistema Nitro e a criptografia de EBS armazenamento da Amazon.

  • A segunda camada de proteção se concentra no sistema operacional e no software em execução nas EC2 instâncias. Serviços como o Amazon Inspector e o AWSSystems Manager permitem que você monitore, relate e tome medidas corretivas nessas configurações. O Inspector monitora vulnerabilidades em seu software e o Systems Manager ajuda você a trabalhar para manter a segurança e a conformidade examinando as instâncias gerenciadas quanto ao status de patch e configuração e, em seguida, relatando e tomando as ações corretivas que você especificar.

  • As instâncias e o software executado nessas instâncias dependem da sua infraestrutura AWS de rede. Além de usar os recursos de segurança da Amazon VPC, o AWS SRA também usa VPC endpoints para fornecer conectividade privada entre os AWS serviços suportados VPC e fornecer um mecanismo para colocar políticas de acesso no limite da rede.

  • A atividade e a configuração das EC2 instâncias, do software, da rede, das IAM funções e dos recursos são monitoradas ainda mais por serviços AWS focados na conta, como AWS Security Hub GuardDuty, Amazon, AWS CloudTrail AWS Config, AWS IAM Access Analyzer e Amazon Macie.

  • Por fim, além da conta do aplicativo, AWS RAM ajuda a controlar quais recursos são compartilhados com outras contas, e as políticas de controle de IAM serviços ajudam a aplicar permissões consistentes em toda a AWS organização.