

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á.

# Implantação de controles de acesso preventivos por atributo para sub-redes públicas
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets"></a>

*Joel Alfredo Nuñez Gonzalez e Samuel Ortega Sancho, Amazon Web Services*

## Resumo
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets-summary"></a>

Em arquiteturas de rede centralizadas, a inspeção e as nuvens privadas virtuais de borda (VPCs) concentram todo o tráfego de entrada e saída, como o tráfego de e para a Internet. No entanto, isso pode criar gargalos ou fazer com que os limites das Service Quotas da AWS sejam atingidos. A implantação da segurança de ponta da rede junto com as cargas de trabalho VPCs fornece uma escalabilidade sem precedentes em comparação com a abordagem centralizada mais comum. Isso é chamado de arquitetura de *borda distribuída*.

Embora a implantação de sub-redes públicas em contas de workload possa oferecer benefícios, ela também introduz novos riscos de segurança, pois aumenta a superfície de ataque. Recomendamos que você implante somente recursos do Elastic Load Balancing (ELB), como Application Load Balancers ou gateways NAT nas sub-redes públicas desses. VPCs O uso de balanceadores de carga e gateways NAT em sub-redes públicas dedicadas ajuda a implementar um controle refinado do tráfego de entrada e saída.

O *controle de acesso por atributo (ABAC)* é a prática de criar permissões minuciosas com base nos atributos do usuário, como departamento, cargo e nome da equipe. Para obter mais informações, consulte [ABAC para a AWS](https://aws.amazon.com/identity/attribute-based-access-control/). O ABAC pode fornecer barreiras de proteção para sub-redes públicas em contas de workload. Isso ajuda as equipes de aplicativos a serem ágeis, sem comprometer a segurança da infraestrutura.

Esse padrão descreve como ajudar a proteger sub-redes públicas implementando o ABAC por meio de uma [política de controle de serviços (SCP) no AWS](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) Organizations e [políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) no AWS Identity and Access Management (IAM). É possível aplicar o SCP a uma conta membro de uma organização ou a uma unidade organizacional (UO). Essas políticas ABAC permitem que os usuários implantem gateways NAT nas sub-redes de destino e os impeçam de implantar outros recursos do Amazon Elastic Compute Cloud (Amazon EC2), como instâncias e interfaces de rede elástica. EC2   

## Pré-requisitos e limitações
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets-prereqs"></a>

**Pré-requisitos **
+ Uma organização no AWS Organizations
+ Acesso administrativo à conta raiz do AWS Organizations
+ Na organização, uma conta de membro ativa ou OU para testar o SCP

**Limitações**
+ O SCP nessa solução não impede que os serviços da AWS que usam um perfil vinculada a serviços implantem recursos nas sub-redes de destino. Exemplos desses serviços são Elastic Load Balancing (ELB), Amazon Elastic Container Service (Amazon ECS) e Amazon Relational Database Service (Amazon RDS). Para obter mais informações, consulte [Efeitos do SCP sobre permissões](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html#scp-effects-on-permissions) na documentação do AWS Organizations. Implemente controles de segurança para detectar essas exceções.

## Arquitetura
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets-architecture"></a>

**Pilha de tecnologias de destino**
+ SCP aplicado a uma conta da AWS ou OU no AWS Organizations
+ Os seguintes perfis do IAM:
  + `AutomationAdminRole`: usado para modificar tags de sub-rede e criar recursos de VPC após a implementação do SCP
  + `TestAdminRole`: usado para testar se o SCP está impedindo que outras entidades principais do IAM, incluindo aqueles com acesso administrativo, executem as ações reservadas para o `AutomationAdminRole`

**Arquitetura de destino**

![As etiquetas impedem que os usuários implantem recursos que não sejam gateways NAT nas sub-redes públicas](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/25f22f67-5bb6-42ac-8fd6-836e00c436f1/images/b8345c8c-0fc5-46a3-be60-c171979cf979.png)


1. Você cria o perfil do IAM `AutomationAdminRole` na conta de destino. Esse perfil tem permissões para gerenciar recursos de rede. Observe as seguintes permissões que são exclusivas para esse perfil:
   + Essa função pode criar VPCs e publicar sub-redes.
   + Esse perfil pode modificar as atribuições de tags para as sub-redes de destino.
   + Esse perfil pode gerenciar suas próprias permissões.

1. No AWS Organizations, você aplica o SCP à conta ou OU da AWS de destino. Para ver um exemplo de política, consulte [Informações adicionais sobre](#deploy-preventative-attribute-based-access-controls-for-public-subnets-additional) esse padrão.

1. Um usuário ou uma ferramenta no CI/CD pipeline pode assumir a `AutomationAdminRole` função de aplicar a `SubnetType` tag às sub-redes de destino.

1. Ao assumir outros perfis do IAM, os diretores autorizados do IAM em sua organização podem gerenciar gateways NAT nas sub-redes de destino e outros recursos de rede permitidos na conta da AWS, como tabelas de rotas. Você pode usar políticas do IAM para conceder permissões. Para obter mais informações, consulte [Gerenciamento de identidade e acesso do Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/security-iam.html).

**Automação e escala**

Para ajudar a proteger as sub-redes públicas, as respectivas [tags da AWS](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) devem ser aplicadas. Depois de aplicar o SCP, os gateways NAT são o único tipo de EC2 recurso da Amazon que usuários autorizados podem criar em sub-redes que têm a tag. `SubnetType:IFA` (`IFA`significa ativos *voltados para a Internet*.) O SCP impede a criação de outros EC2 recursos da Amazon, como instâncias e interfaces de rede elásticas. Recomendamos que você use um CI/CD pipeline que assuma a `AutomationAdminRole` função de criar recursos de VPC para que essas tags sejam aplicadas adequadamente às sub-redes públicas.

## Ferramentas
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets-tools"></a>

**Serviços da AWS**
+ O [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ajuda você a gerenciar com segurança o acesso aos seus recursos da AWS, controlando quem está autenticado e autorizado a usá-los.
+ O [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) é um serviço de gerenciamento de contas que ajuda você a consolidar várias contas AWS em uma organização que você cria e gerencia de maneira centralizada. No AWS Organizations, você pode implementar [políticas de controle de serviços (SCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html), que são um tipo de política que você pode usar para gerenciar permissões na sua organização.
+ A [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ajuda a iniciar recursos da AWS em uma rede virtual definida por você. Essa rede virtual é semelhante a uma rede tradicional que você operaria no próprio datacenter, com os benefícios de usar a infraestrutura escalável da AWS.

## Épicos
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets-epics"></a>

### Aplique o SCP
<a name="apply-the-scp"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um perfil de administrador de teste.  | Na conta AWS de destino, crie um perfil do IAM chamado `TestAdminRole`. Anexe a política de IAM gerenciada pela **AdministratorAccess**AWS à nova função. Para obter instruções, consulte [Criar um perfil para delegar permissões a um usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) na documentação do IAM.  | Administrador da AWS | 
| Crie o perfil de administrador de automação. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html)Veja a seguir um exemplo de política de confiança que você poderia usar para testar a função da conta `111122223333`.<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Principal": {<br />                "AWS": [<br />                    "arn:aws:iam::111122223333:root"<br />                ]<br />            },<br />            "Action": "sts:AssumeRole",<br />            "Condition": {}<br />        }<br />    ]<br />}</pre> | Administrador da AWS | 
| Crie e anexe o SCP. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html) | Administrador da AWS | 

### Teste o SCP
<a name="test-the-scp"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma VPC ou sub-rede. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html) | Administrador da AWS | 
| Gerenciar tags. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html) | Administrador da AWS | 
| Implante recursos nas sub-redes de destino. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html) | Administrador da AWS | 
| Gerencie a AutomationAdminRole função. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html) | Administrador da AWS | 

### Limpeza
<a name="clean-up"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Limpe os recursos implantados. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html) | Administrador da AWS | 

## Recursos relacionados
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets-resources"></a>

**Documentação da AWS**
+ [Fixação e desmontagem SCPs](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_attach.html)
+ [Criando, atualizando e excluindo SCPs](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_create.html)
+ [Implantação de controles de acesso por atributo de detecção para sub-redes públicas usando o AWS Config](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-detective-attribute-based-access-controls-for-public-subnets-by-using-aws-config.html)
+ [Controles de detecção](https://docs.aws.amazon.com/prescriptive-guidance/latest/aws-security-controls/detective-controls.html)
+ [Referência de autorização do serviço](https://docs.aws.amazon.com/service-authorization/latest/reference/reference.html)
+ [Marcar recursos da AWS](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
+ [O que é ABAC para a AWS?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)

**Referências adicionais AWS**
+ [Proteger tags de recursos usadas para autorização usando uma política de controle de serviços no AWS Organizations](https://aws.amazon.com/es/blogs/security/securing-resource-tags-used-for-authorization-using-service-control-policy-in-aws-organizations/) (publicação no blog da AWS)

## Mais informações
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets-additional"></a>

A política de controle de serviço a seguir é um exemplo que você pode usar para testar essa abordagem em sua organização.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyVPCActions",
      "Effect": "Deny",
      "Action": [
        "ec2:CreateVPC",
        "ec2:CreateRoute",
        "ec2:CreateSubnet",
        "ec2:CreateInternetGateway",
        "ec2:DeleteVPC",
        "ec2:DeleteRoute",
        "ec2:DeleteSubnet",
        "ec2:DeleteInternetGateway"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:*"
      ],
      "Condition": {
        "StringNotLike": {
          "aws:PrincipalARN": ["arn:aws:iam::*:role/AutomationAdminRole"]
        }
      }
    },
    {
      "Sid": "AllowNATGWOnIFASubnet",
      "Effect": "Deny",
      "NotAction": [
        "ec2:CreateNatGateway",
        "ec2:DeleteNatGateway"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:subnet/*"
      ],
      "Condition": {
        "ForAnyValue:StringEqualsIfExists": {
          "aws:ResourceTag/SubnetType": "IFA"
        },
        "StringNotLike": {
          "aws:PrincipalARN": ["arn:aws:iam::*:role/AutomationAdminRole"]
        }
      }
    },
    {
      "Sid": "DenyChangesToAdminRole",
      "Effect": "Deny",
      "NotAction": [
        "iam:GetContextKeysForPrincipalPolicy",
        "iam:GetRole",
        "iam:GetRolePolicy",
        "iam:ListAttachedRolePolicies",
        "iam:ListInstanceProfilesForRole",
        "iam:ListRolePolicies",
        "iam:ListRoleTags"
      ],
      "Resource": [
        "arn:aws:iam::*:role/AutomationAdminRole"
      ],
      "Condition": {
        "StringNotLike": {
          "aws:PrincipalARN": ["arn:aws:iam::*:role/AutomationAdminRole"]
        }
      }
    }
  ]
}
```