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á.
Recursos de segurança incorporados do ADDF
O Autonomous Driving Data Framework (ADDF) tem vários recursos de segurança incorporados. Por padrão, esses recursos são projetados para ajudar você a configurar uma estrutura segura e ajudar sua organização a atender aos requisitos de segurança corporativa comuns.
A seguir estão os recursos de segurança incorporados:
Privilégio mínimo para o código do módulo ADDF
Privilégio mínimo é a prática recomendada de segurança para conceder as permissões mínimas necessárias para executar uma tarefa. Para obter mais informações, consulte Aplicar permissões de privilégios mínimos. Os módulos fornecidos pelo ADDF seguem rigorosamente o princípio de privilégios mínimos em seus códigos e recursos implantados, da seguinte forma:
-
Todas as políticas AWS Identity and Access Management (IAM) geradas para um módulo ADDF têm as permissões mínimas necessárias para o caso de uso.
-
Serviços da AWS são configurados e implantados de acordo com o princípio do menor privilégio. Os módulos fornecidos pelo ADDF usam somente os serviços e os recursos de serviço necessários para o caso de uso específico.
Infraestrutura como código
O ADDF, como estrutura, foi projetado para implantar módulos ADDF como infraestrutura como código (IaC). O IaC elimina os processos de implantação manual e ajuda a evitar erros e configurações incorretas, que podem resultar de processos manuais.
O ADDF foi projetado para orquestrar e implantar módulos usando qualquer estrutura comum de IaC. Isso inclui, mas não está limitado a:
Você pode usar diferentes estruturas de IaC para escrever módulos diferentes e, em seguida, usar o ADDF para implantá-los.
A estrutura IaC padrão usada pelos módulos ADDF é. AWS CDK AWS CDK é uma abstração orientada a objetos de alto nível que você pode usar para definir recursos de forma imperativa. AWS AWS CDK já aplica as melhores práticas de segurança por padrão para vários serviços e cenários. Com o uso AWS CDK, o risco de configurações incorretas de segurança é reduzido.
Verificações de segurança automatizadas para IaC
O utilitário cdk-nag
Política personalizada de privilégios mínimos para a função de implantação AWS CDK
O ADDF faz uso extensivo da AWS CDK v2. É necessário que você inicialize todo o ADDF Contas da AWS para. AWS CDK Para obter mais informações, consulte Fazer bootstrapping (documentação do AWS CDK ).
Por padrão, AWS CDK atribui a política AdministratorAccess AWS gerenciada permissiva à função de AWS CDK implantação criada em contas inicializadas. O nome completo dessa função écdk-[CDK_QUALIFIER]-cfn-exec-role-[AWS_ACCOUNT_ID]-[REGION]
. AWS CDK usa essa função para implantar recursos no bootstrap Conta da AWS como parte do processo de implantação. AWS CDK
Dependendo dos requisitos de segurança da sua organização, a política AdministratorAccess
pode ser muito permissiva. Como parte do processo de bootstrap do AWS CDK , você pode personalizar a política e as permissões de acordo com suas necessidades. Você pode alterar a política ao refazer bootstrap da conta com uma política recém-definida usando o parâmetro --cloudformation-execution-policies
. Para obter mais informações, consulte Personalizando a inicialização (documentação).AWS CDK
nota
Embora esse recurso de segurança não seja específico do ADDF, ele está listado nesta seção porque pode aumentar a segurança geral da sua implantação do ADDF.
Política de privilégios mínimos para o arquivo deployspec do módulo
Cada módulo contém um arquivo de especificações de implantação chamado deployspec.yaml. Esse arquivo define as instruções de implantação do módulo. CodeSeeder o usa para implantar o módulo definido na conta de destino usando AWS CodeBuild. CodeSeeder atribui uma função de serviço padrão para CodeBuild implantar os recursos, conforme instruído no arquivo de especificações de implantação. Esse perfil de serviço foi projetado de acordo com o princípio de privilégios mínimos. Ele inclui todas as permissões necessárias para implantar AWS CDK aplicativos, porque todos os módulos fornecidos pelo ADDF são criados como AWS CDK aplicativos.
No entanto, se você precisar executar qualquer comando de estágio fora do AWS CDK, precisará criar uma política personalizada do IAM em vez de usar a função de serviço padrão para CodeBuild. Por exemplo, se você estiver usando uma estrutura de implantação de IaC diferente de AWS CDK, como o Terraform, precisará criar uma política do IAM que conceda permissões suficientes para que essa estrutura específica funcione. Outro cenário que exige uma política de IAM dedicada é quando você inclui chamadas direct AWS Command Line Interface (AWS CLI) para outras pessoas Serviços da AWS nos comandos install
pre_build
build
,, ou post_build
stage. Por exemplo, você precisará de uma política personalizada se o módulo incluir um comando do Amazon Simple Storage Service (Amazon S3) para fazer upload de arquivos em um bucket do S3. A política personalizada do IAM fornece controle refinado para qualquer AWS comando fora da implantação. AWS CDK Para ver um exemplo de política personalizada do IAM, consulte ModuleStack
Criptografia de dados
O ADDF armazena e processa dados possivelmente confidenciais. Para ajudar a proteger esses dados,, SeedFarmer CodeSeeder, e os módulos fornecidos pelo ADDF criptografam dados em repouso e em trânsito para todos os usados Serviços da AWS (a menos que seja explicitamente declarado o contrário para os módulos na pasta). demo-only
Armazenamento de credenciais usando Secrets Manager
O ADDF lida com vários segredos para diferentes serviços, como Docker Hub e JupyterHub Amazon Redshift. O ADDF usa AWS Secrets Manager para armazenar quaisquer segredos relacionados ao ADDF. Isso ajuda a remover dados confidenciais do código-fonte.
Os segredos do Secrets Manager são armazenados somente nas contas de destino, conforme necessário para que a conta funcione corretamente. Por padrão, a conta da cadeia de ferramentas não contém segredos.
Análises de segurança de SeedFarmer e CodeSeeder
SeedFarmer
Suporte de limite de permissões para a AWS CodeBuild função de CodeSeeder
Os limites de permissões do IAM são um mecanismo de segurança comum que define o máximo de permissões que uma política baseada em identidade pode conceder a uma entidade do IAM. SeedFarmer e CodeSeeder ofereça suporte a um anexo de limite de permissões do IAM para cada conta de destino. O limite de permissões limita o máximo de permissões de qualquer função de serviço usada CodeBuild quando CodeSeeder implementa módulos. Os limites de permissões do IAM devem ser criados fora do ADDF por uma equipe de segurança. Os anexos da política de limite de permissões do IAM são aceitos como um atributo no arquivo de manifesto de implantação do ADDF, deployment.yaml. Para obter mais informações, consulte Suporte ao limite de permissões
O fluxo de trabalho é o seguinte:
-
Sua equipe de segurança define e cria um limite de permissões do IAM de acordo com seus requisitos de segurança. O limite de permissões do IAM deve ser criado individualmente em cada Conta da AWS ADDF. O resultado é uma lista de Amazon Resource Name (ARN) da política de limite de permissões.
-
A equipe de segurança compartilha a lista de ARN da política com sua equipe de desenvolvedores do ADDF.
-
A equipe de desenvolvedores do ADDF integra a lista de ARN da política ao arquivo de manifesto. Para ver um exemplo dessa integração, consulte sample-permissionboundary.yaml
() e Manifesto de implantação (documentação). GitHub SeedFarmer -
Após a implantação bem-sucedida, o limite de permissões é anexado a todas as funções de serviço CodeBuild usadas para implantar módulos.
-
A equipe de segurança monitora se os limites das permissões são aplicados conforme necessário.
AWS arquitetura de várias contas
Conforme definido no pilar de segurança do AWS Well-Architected Framework, é considerada a melhor prática separar recursos e cargas de trabalho em Contas da AWS vários, com base nos requisitos da sua organização. Isso ocorre porque um Conta da AWS atua como um limite de isolamento. Para obter mais informações, consulte gerenciamento e separação da Conta da AWS. A implementação desse conceito é chamada de arquitetura de várias contas. Uma arquitetura de várias contas da AWS projetada corretamente fornece categorização da workload e reduz o escopo do impacto no caso de uma violação de segurança, em comparação com uma arquitetura de conta única.
O ADDF oferece suporte nativo a arquiteturas de AWS várias contas. Você pode distribuir seus módulos ADDF em Contas da AWS quantos forem necessários para a segurança e separation-of-duties os requisitos de sua organização. Você pode implantar o ADDF em uma única Conta da AWS, combinando as funções da cadeia de ferramentas e da conta de destino. Como alternativa, você pode criar contas de destino individuais para módulos ADDF ou grupos de módulos.
A única restrição que você precisa considerar é que um módulo ADDF representa a menor unidade de implantação de cada um. Conta da AWS
Para ambientes de produção, é recomendável usar uma arquitetura de várias contas que consista em uma conta da cadeia de ferramentas e pelo menos uma conta de destino. Para obter mais informações, consulte Arquitetura do ADDF.
Permissões com privilégios mínimos para implantações em várias contas
Se você usa uma arquitetura de várias contas, SeedFarmer precisa acessar as contas de destino para realizar as três ações a seguir:
-
Grave os metadados do módulo ADDF nas contas da cadeia de ferramentas e nas contas de destino.
-
Leia os metadados do módulo ADDF atuais da conta da cadeia de ferramentas e das contas de destino.
-
Inicie AWS CodeBuild trabalhos nas contas de destino, com a finalidade de implantar ou atualizar módulos.
A figura a seguir mostra os relacionamentos entre contas, incluindo operações para assumir funções específicas do ADDF AWS Identity and Access Management (IAM).

Essas ações entre contas são alcançadas por meio do uso de operações de assumir perfis bem definidos.
-
A função do IAM da cadeia de ferramentas ADDF é implantada na conta da cadeia de ferramentas. SeedFarmer assume esse papel. Esse perfil tem permissões para realizar uma ação
iam:AssumeRole
e pode assumir o perfil do IAM de implantação do ADDF em cada conta de destino. Além disso, a função IAM da cadeia de ferramentas ADDF pode executar operações locais do AWS Systems Manager Parameter Store. -
O perfil do IAM de implantação do ADDF é implantado em cada conta de destino. Esse perfil só pode ser assumido a partir da conta da cadeia de ferramentas usando o perfil do IAM da cadeia de ferramentas do ADDF. Essa função tem permissões para executar operações locais do AWS Systems Manager Parameter Store e tem permissões para executar AWS CodeBuild ações que iniciam e descrevem CodeBuild trabalhos por meio CodeSeeder deles.
Esses perfis do IAM específicos do ADDF são criados como parte do processo de bootstrapping do ADDF. Para obter mais informações, consulte Bootstrap Conta da AWS(s) no Guia de implantação do ADDF
Todas as permissões entre contas são configuradas de acordo com o princípio de privilégios mínimos. Se uma conta de destino for comprometida, haverá um impacto mínimo ou nenhum impacto nas outras Contas da AWS do ADDF.
No caso de uma arquitetura de conta única para ADDF, os relacionamentos de perfil permanecem os mesmos. Eles simplesmente se transformam em uma única Conta da AWS.