

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Implementa controlli di accesso preventivi basati sugli attributi per le sottoreti pubbliche
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets"></a>

*Joel Alfredo Núñez González e Samuel Ortega Sancho, Amazon Web Services*

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

Nelle architetture di rete centralizzate, i cloud privati virtuali di ispezione ed edge (VPCs) concentrano tutto il traffico in entrata e in uscita, ad esempio il traffico da e verso Internet. Tuttavia, ciò può creare colli di bottiglia o portare al raggiungimento dei limiti delle quote di servizio AWS. L'implementazione della sicurezza perimetrale della rete insieme ai carichi di lavoro previsti VPCs offre una scalabilità senza precedenti rispetto all'approccio più comune e centralizzato. *Questa è chiamata architettura perimetrale distribuita.*

Sebbene l'implementazione di sottoreti pubbliche negli account di carico di lavoro possa offrire vantaggi, introduce anche nuovi rischi per la sicurezza perché aumenta la superficie di attacco. Si consiglia di distribuire solo risorse Elastic Load Balancing (ELB), come Application Load Balancer o gateway NAT nelle relative sottoreti pubbliche. VPCs L'utilizzo di sistemi di bilanciamento del carico e gateway NAT in sottoreti pubbliche dedicate consente di implementare un controllo granulare del traffico in entrata e in uscita.

Il *controllo degli accessi basato sugli attributi* (ABAC) è la pratica di creare autorizzazioni dettagliate basate su attributi utente, come reparto, ruolo professionale e nome del team. Per ulteriori informazioni, consulta [ABAC for AWS](https://aws.amazon.com/identity/attribute-based-access-control/). ABAC può fornire guardrail per sottoreti pubbliche negli account di carico di lavoro. Questo aiuta i team applicativi a essere agili, senza compromettere la sicurezza dell'infrastruttura.

Questo modello descrive come contribuire a proteggere le sottoreti pubbliche implementando ABAC tramite una policy di [controllo dei servizi (SCP) in AWS Organizations e [policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) in AWS Identity and Access Management (IAM). Puoi applicare l'SCP a un account membro di un'organizzazione o a un'unità organizzativa (OU). Queste politiche ABAC consentono agli utenti di implementare gateway NAT nelle sottoreti di destinazione e impediscono loro di distribuire altre risorse Amazon Elastic Compute Cloud (Amazon EC2), come istanze e interfacce di rete elastiche. EC2   

## Prerequisiti e limitazioni
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets-prereqs"></a>

**Prerequisiti**
+ Un'organizzazione in AWS Organizations
+ Accesso amministrativo all'account root di AWS Organizations
+ Nell'organizzazione, un account membro attivo o un'unità organizzativa per testare l'SCP

**Limitazioni**
+ L'SCP di questa soluzione non impedisce ai servizi AWS che utilizzano un ruolo collegato ai servizi di distribuire risorse nelle sottoreti di destinazione. Esempi di questi servizi sono Elastic Load Balancing (ELB), Amazon Elastic Container Service (Amazon ECS) e Amazon Relational Database Service (Amazon RDS). Per ulteriori informazioni, consulta [gli effetti SCP sulle autorizzazioni nella documentazione](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html#scp-effects-on-permissions) di AWS Organizations. Implementa controlli di sicurezza per rilevare queste eccezioni.

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

**Stack tecnologico Target**
+ SCP applicato a un account AWS o a un'unità organizzativa in AWS Organizations
+ I seguenti ruoli IAM:
  + `AutomationAdminRole`— Utilizzato per modificare i tag di sottorete e creare risorse VPC dopo l'implementazione di SCP
  + `TestAdminRole`— Utilizzato per verificare se SCP impedisce ad altri principali IAM, compresi quelli con accesso amministrativo, di eseguire le azioni riservate a `AutomationAdminRole`

**Architettura Target**

![I tag impediscono agli utenti di distribuire risorse diverse dai gateway NAT nelle sottoreti pubbliche](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/25f22f67-5bb6-42ac-8fd6-836e00c436f1/images/b8345c8c-0fc5-46a3-be60-c171979cf979.png)


1. Crei il ruolo `AutomationAdminRole` IAM nell'account di destinazione. Questo ruolo dispone delle autorizzazioni per gestire le risorse di rete. Nota le seguenti autorizzazioni che sono esclusive per questo ruolo:
   + Questo ruolo può creare VPCs sottoreti pubbliche.
   + Questo ruolo può modificare le assegnazioni dei tag per le sottoreti di destinazione.
   + Questo ruolo può gestire le proprie autorizzazioni.

1. In AWS Organizations, applichi l'SCP all'account AWS o all'unità organizzativa di destinazione. Per un esempio di policy, consulta [Informazioni aggiuntive](#deploy-preventative-attribute-based-access-controls-for-public-subnets-additional) in questo modello.

1. Un utente o uno strumento nella CI/CD pipeline può assumere il `AutomationAdminRole` ruolo di applicare il `SubnetType` tag alle sottoreti di destinazione.

1. Assumendo altri ruoli IAM, i responsabili IAM autorizzati dell'organizzazione possono gestire i gateway NAT nelle sottoreti di destinazione e altre risorse di rete consentite nell'account AWS, come le tabelle di routing. Utilizza le policy IAM per concedere queste autorizzazioni. Per ulteriori informazioni, consulta [Gestione delle identità e degli accessi per Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/security-iam.html).

**Automazione e scalabilità**

Per proteggere le sottoreti pubbliche, è necessario applicare i [tag AWS](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) corrispondenti. Dopo aver applicato l'SCP, i gateway NAT sono l'unico tipo di EC2 risorsa Amazon che gli utenti autorizzati possono creare nelle sottoreti dotate del tag. `SubnetType:IFA` *(significa risorse rivolte a Internet.) `IFA`* L'SCP impedisce la creazione di altre EC2 risorse Amazon, come istanze e interfacce di rete elastiche. Ti consigliamo di utilizzare una CI/CD pipeline che assuma il `AutomationAdminRole` ruolo di creare risorse VPC in modo che questi tag vengano applicati correttamente alle sottoreti pubbliche.

## Tools (Strumenti)
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets-tools"></a>

**Servizi AWS**
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ti aiuta a gestire in modo sicuro l'accesso alle tue risorse AWS controllando chi è autenticato e autorizzato a utilizzarle.
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) è un servizio di gestione degli account che ti aiuta a consolidare più account AWS in un'organizzazione da creare e gestire centralmente. In AWS Organizations, puoi implementare [le policy di controllo dei servizi (SCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html), che sono un tipo di policy che puoi utilizzare per gestire le autorizzazioni nella tua organizzazione.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ti aiuta a lanciare le risorse AWS in una rete virtuale che hai definito. Questa rete virtuale è simile a una rete tradizionale che gestiresti nel tuo data center, con i vantaggi dell'utilizzo dell'infrastruttura scalabile di AWS.

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

### Applica l'SCP
<a name="apply-the-scp"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un ruolo di amministratore di test.  | Crea un ruolo IAM denominato `TestAdminRole` nell'account AWS di destinazione. Allega la policy **AdministratorAccess**AWS managed IAM al nuovo ruolo. Per istruzioni, consulta [Creazione di un ruolo per delegare le autorizzazioni a un utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) nella documentazione IAM. | Amministratore AWS | 
| Crea il ruolo di amministratore dell'automazione. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html)Di seguito è riportato un esempio di policy di fiducia che è possibile utilizzare per testare il ruolo dall'`111122223333`account.<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> | Amministratore AWS | 
| Crea e collega l'SCP. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html) | Amministratore AWS | 

### Prova l'SCP
<a name="test-the-scp"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un VPC o una sottorete. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html) | Amministratore AWS | 
| Gestisci i tag. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html) | Amministratore AWS | 
| Distribuisci risorse nelle sottoreti di destinazione. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html) | Amministratore AWS | 
| Gestisci il AutomationAdminRole ruolo. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html) | Amministratore AWS | 

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


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Pulisci le risorse distribuite. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html) | Amministratore AWS | 

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

**Documentazione AWS**
+ [Collegamento e scollegamento SCPs](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_attach.html)
+ [Creazione, aggiornamento ed eliminazione SCPs](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_create.html)
+ [Implementa controlli di accesso basati su attributi investigativi per sottoreti pubbliche utilizzando 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)
+ [Controlli di rilevamento](https://docs.aws.amazon.com/prescriptive-guidance/latest/aws-security-controls/detective-controls.html)
+ [Riferimento per l'autorizzazione del servizio](https://docs.aws.amazon.com/service-authorization/latest/reference/reference.html)
+ [Assegnazione di tag alle risorse AWS](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
+ [Cos'è ABAC per AWS?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)

**Riferimenti AWS aggiuntivi**
+ [Protezione dei tag delle risorse utilizzati per l'autorizzazione utilizzando una Service Control Policy in AWS Organizations](https://aws.amazon.com/es/blogs/security/securing-resource-tags-used-for-authorization-using-service-control-policy-in-aws-organizations/) (post sul blog AWS)

## Informazioni aggiuntive
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets-additional"></a>

La seguente policy di controllo dei servizi è un esempio che puoi usare per testare questo approccio nella tua organizzazione.

```
{
  "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"]
        }
      }
    }
  ]
}
```