

# Controllo dell'accesso ai dati
<a name="data-access-controls"></a>

L'articolo 25 del GDPR stabilisce che il titolare del trattamento "deve mettere in atto misure tecniche e organizzative adeguate per garantire che, per impostazione predefinita, siano trattati solo i dati personali necessari per ciascuna finalità specifica del trattamento". I seguenti meccanismi di controllo degli accessi di AWS possono aiutare i clienti a garantire la conformità al presente requisito, concedendo l’accesso alle risorse AWS e ai dati dei clienti esclusivamente alle applicazioni, agli amministratori e agli utenti autorizzati: 

# AWS Identity and Access Management
<a name="aws-identity-and-access-management"></a>

Quando si crea un account AWS, viene creato automaticamente anche un account utente *root* per quell’account AWS. Questo account utente ha accesso completo a tutti i servizi e le risorse AWS presenti nell’account AWS. È consigliabile utilizzare questo account solo per la creazione iniziale di ruoli e account utente aggiuntivi e per eseguire attività amministrative che lo richiedono, non per le attività quotidiane. AWS consiglia di applicare il principio del privilegio minimo fin dall'inizio: definire account utente e ruoli diversi per attività diverse e specificare il set minimo di autorizzazioni necessarie per completare ciascuna attività. Questo approccio rappresenta un modo per mettere a punto un concetto chiave introdotto nel GDPR: la protezione dei dati fin dalla progettazione. [AWS Identity and Access Management](https://aws.amazon.com/iam/)(IAM) è un servizio Web che puoi utilizzare per controllare in modo sicuro l'accesso alle tue risorse AWS. 

Le identità IAM con autorizzazioni specifiche vengono definite in base agli utenti e ai ruoli. Un utente autorizzato può assumere un ruolo IAM per eseguire attività specifiche. Quando si assume il ruolo, vengono create delle credenziali temporanee. Ad esempio, è possibile utilizzare i ruoli IAM per fornire in modo sicuro alle applicazioni eseguite in [Amazon Elastic Compute Cloud](https://aws.amazon.com/ec2) (Amazon EC2) le credenziali temporanee necessarie per accedere ad altre risorse AWS, come i bucket Amazon S3 e [Amazon Relational Database Service](https://aws.amazon.com/rds/) (Amazon RDS) o i database [Amazon DynamoDB](https://aws.amazon.com/dynamodb). Analogamente, [i ruoli di esecuzione ](https://docs.aws.amazon.com/lambda/latest/dg/lambda-permissions.html) forniscono [AWS Lambda](https://aws.amazon.com/lambda/) alle funzioni le autorizzazioni necessarie per accedere ad altri servizi e risorse AWS, come [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) per lo streaming di log o la lettura di un messaggio da una [ coda Amazon Simple Queue Service](https://aws.amazon.com/sqs/) (Amazon SQS). Quando crei un ruolo, aggiungi delle policy per definire le autorizzazioni.

Per aiutare i clienti a monitorare le policy delle risorse e identificare eventuali risorse per le quali è stato concesso in maniera non intenzionale l’accesso pubblico o tra account, è possibile abilitare [IAM Access Analyzer](https://aws.amazon.com/iam), che genera risultati completi utili per identificare le risorse a cui è possibile accedere dall'esterno di un account AWS. IAM Access Analyzer utilizza la logica matematica e l'inferenza per valutare le policy delle risorse e determinare i possibili percorsi di accesso consentiti dalle policy. IAM Access Analyzer monitora continuamente le policy nuove o aggiornate e analizza le autorizzazioni concesse utilizzando le policy per i ruoli IAM, oltre che per risorse di servizi come i bucket Amazon S3, [AWS Key Management Service](https://aws.amazon.com/kms/) (AWS KMS) le chiavi, le code Amazon SQS e le funzioni Lambda.

[Access Analyzer per S3](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/access-analyzer.html) invia avvisi sui bucket configurati per permettere l'accesso a chiunque su Internet o ad altri account AWS, inclusi gli account AWS esterni all'organizzazione. Quando un bucket è a rischio in Access Analyzer per Amazon S3, è possibile bloccare tutti gli accessi pubblici al bucket con un solo clic. Ti consigliamo di bloccare tutti gli accessi ai bucket, a meno che l'accesso pubblico non sia necessario per supportare un caso d'uso specifico. Prima di bloccare tutti gli accessi pubblici, assicurati che le applicazioni continuino a funzionare correttamente senza accesso pubblico. Per ulteriori informazioni, consulta [Utilizzo del blocco dell'accesso pubblico di Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html).

IAM fornisce inoltre informazioni sull'ultimo accesso per aiutarti a identificare le autorizzazioni non utilizzate, in modo che tu possa revocarle per gli utenti/gruppi/ruoli interessati. Grazie alle informazioni sull'ultimo accesso è possibile perfezionare le policy e consentire l'accesso solo ai servizi e alle operazioni necessarie. In questo modo è più facile applicare e conformarsi alle [best practice dei privilegi minimi.](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) È possibile visualizzare le informazioni sull'ultimo accesso per entità o policy esistenti in IAM o in un intero [AWS Organizations](https://aws.amazon.com/organizations/) ambiente.

# Token di accesso temporaneo tramite AWS STS
<a name="temporary-access-tokens-through-aws-sts"></a>

 Puoi utilizzare [AWS Security Token Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) (AWS STS) per creare e fornire agli utenti attendibili le credenziali di sicurezza provvisorie per garantire l'accesso alle tue risorse AWS Il funzionamento delle credenziali di sicurezza provvisorie è quasi identico rispetto a quello delle credenziali delle chiavi di accesso a lungo termine utilizzabili dagli utenti IAM, ma presenta le seguenti differenze: 
+  Le credenziali di sicurezza provvisorie sono utilizzabili a breve termine. È possibile configurare il periodo di validità, da 15 minuti fino a un massimo di 12 ore. Dopo la scadenza del periodo di validità, AWS non riconosce più le credenziali e nega tutte le richieste di accesso effettuate dall’API utilizzando tali credenziali.
+  Le credenziali di sicurezza provvisorie non vengono archiviate nell'account utente. Invece, vengono generate dinamicamente e assegnate all'utente quando richiesto. Un utente può richiedere delle nuove credenziali di sicurezza provvisorie al momento (o prima) della scadenza di quelle in uso, purché disponga delle autorizzazioni per farlo. 

 In base a queste differenze, l'utilizzo delle credenziali temporanee offre i seguenti vantaggi: 
+  Non è necessario distribuire le credenziali di sicurezza AWS a lungo termine con un’applicazione, né incorporarle in essa. 
+  Le credenziali provvisorie costituiscono la base dei ruoli e della federazione delle identità. Puoi fornire agli utenti l'accesso alle tue risorse AWS definendo un'identità AWS temporanea per loro. 
+  Le credenziali di sicurezza provvisorie hanno una durata limitata e personalizzabile. Per questo motivo non è necessario ruotarle o revocarle esplicitamente quando non sono più necessarie. Dopo la loro scadenza, le credenziali di sicurezza provvisorie non possono essere riutilizzate. È possibile specificare il periodo massimo di validità delle credenziali. 

# Autenticazione a più fattori
<a name="multi-factor-authentication"></a>

Per incrementare il livello di sicurezza, puoi aggiungere l'autenticazione a due fattori per il tuo account e per i singoli utenti. Quando è abilitata, l'autenticazione a più fattori (MFA) richiede a coloro che effettuano l'accesso alla [ Console di gestione AWS](https://aws.amazon.com/console/) il nome utente e la password (il primo fattore), oltre a una risposta di autenticazione dal loro dispositivo AWS MFA (il secondo fattore). È possibile attivare la MFA per il proprio account AWS e per singoli utenti IAM creati nell'account. Inoltre, la MFA permette di controllare l'accesso alle API dei servizi AWS.

 Ad esempio, puoi definire una policy che consenta l'accesso completo a tutte le operazioni delle API di AWS in Amazon EC2 agli utenti che superano l'autenticazione MFA e neghi esplicitamente l'accesso a specifiche operazioni API, ad esempio `StopInstances` e `TerminateInstances`, a coloro che non sono autenticati. 

```
        {
         “Version”: “2012-10-17”,
         “Statement”: [
             {
                “Sid”: “AllowAllActionsForEC2”,
                “Effect”: “Allow”,
                “Action”: “ec2:*”,
                “Resource”: “*”
             },
            {
                “Sid”: “DenyStopAndTerminateWhenMFAIsNotPResent”,
                “Effect”: “Deny”,
                “Action”: [
                    “ec2:StopInstances”,
                    “ec2:TerminateInstances”
               ],
               “Resource”: “*”,
               “Conditions”: {
                   “BoolIfExists”: {“aws:MultiFactorAuthPresent”:false}
                }
            }
       }
}
```

Per aggiungere un ulteriore livello di sicurezza ai bucket Amazon S3, puoi configurare la funzione [Cancellazione MFA](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html), che richiede un'autenticazione aggiuntiva per modificare lo stato del controllo delle versioni di un bucket ed eliminare definitivamente una versione dell'oggetto. La funzione Cancellazione MFA fornisce così una protezione ulteriore nel caso in cui le credenziali di sicurezza fossero compromesse.

Per utilizzare la funzione Cancellazione MFA è necessario un dispositivo MFA fisico o virtuale per generare un codice di autenticazione. Consulta la [pagina Autenticazione a più fattori](https://aws.amazon.com/iam/features/mfa/) per visionare l'elenco dei dispositivi MFA hardware o virtuali supportati.

# Accesso alle risorse AWS
<a name="access-to-aws-objects-resources"></a>

Per implementare un accesso granulare alle risorse AWS, è possibile assegnare autorizzazioni di livello diverso a persone diverse per risorse diverse. Ad esempio, puoi consentire l'accesso completo ad Amazon EC2, Amazon S3, DynamoDB, [Amazon Redshift](https://aws.amazon.com/redshift/) e altri servizi AWS solo ad alcuni utenti. 

Puoi limitare le autorizzazioni per gli altri utenti, concedendo l'accesso in sola lettura solo ad alcuni bucket Amazon S3, l'autorizzazione ad amministrare solo alcune istanze di Amazon EC2 o l'accesso limitato solo ai tuoi dati di fatturazione. 

 La policy seguente costituisce un esempio di come è possibile consentire tutte le operazioni su un bucket Amazon S3 specifico e negare esplicitamente l'accesso a tutti i servizi AWS che non sono Amazon S3. 

```
      {
         “Version”: “2012-10-17”,
         “Statement”: [
             {
                “Effect”: “Allow”,
                “Action”: “s3:*”,
                “Resource”: [
                     “arn:aws:s3:::bucket-name”,
                     “arn:aws:s3:::bucket-name/*”
                 ],
              },
              {
                “Effect”: “Deny”,
                “NotAction”: “s3:*”,
                “NotResource”: [
                     “arn:aws:s3:::bucket-name”,
                     “arn:aws:s3:::bucket-name/*”
                 ] 
               }
            ]
}
```

 È possibile allegare una policy a un account utente o a un ruolo. Per altri esempi di policy IAM, consulta [Esempi di policy IAM basate sull'identità](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_examples.html). 

# Definizione dei limiti per l'accesso ai servizi regionali
<a name="defining-boundaries-for-regional-services-access"></a>

La proprietà dei dati rimane al cliente, che potrà scegliere a quali servizi AWS consentirne elaborazione, archiviazione e hosting. AWS non accede né utilizza i contenuti dei clienti per alcun motivo senza il loro consenso. In base al modello di responsabilità condivisa, sei tu che scegli le regioni AWS in cui vengono archiviati i tuoi contenuti, il che ti permette di distribuire i servizi AWS nelle posizioni di tua scelta, in base ai tuoi requisiti geografici specifici. Ad esempio, se desideri che i tuoi contenuti siano localizzati solo in Europa, puoi scegliere di distribuire i servizi AWS esclusivamente in una delle regioni AWS europee. 

Le policy IAM forniscono un modo semplice per limitare l'accesso ai servizi in regioni specifiche. Puoi aggiungere una condizione globale (`[aws:RequestedRegion](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requestedregion)`) alle policy IAM associate ai tuoi principali IAM da applicare a tutti i servizi AWS. Ad esempio, [la seguente policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_aws_deny-requested-region.html) utilizza l'elemento `NotAction` con l'`Deny`effetto di negare esplicitamente l'accesso a tutte le operazioni non elencate nell'istruzione se la Regione richiesta non è europea. Le autorizzazioni per eseguire operazioni nei servizi CloudFront, IAM, [Amazon Route 53](https://aws.amazon.com/route53/) e [AWS Support](https://aws.amazon.com/premiumsupport/) non devono essere negate perché si tratta di servizi globali AWS molto diffusi. 

```
      {
         “Version”: “2012-10-17”,
         “Statement”: [
             {
                “Sid”: “DenyAllOutsideRequestedRegions”,
                “Effect”: “Deny”,
                “NotAction”: [
                     “cloudfront:*”,
                     “iam:*”,
                     ”route53:*”,
                     “support:*”
                 ],
                 “Resource”: “*”,
                 “Condition”: {
                    “StringNotLike”: {
                        “aws:RequestedRegion”: [
                              “eu-*”
                        ]
                     } 
                  }
            }    
          ]           
}
```

Questa policy IAM di esempio può essere implementata anche come Service Control Policy (SCP) in AWS Organizations, che definisce i limiti di autorizzazioni applicati a specifici account AWS o unità organizzative (OU) all'interno di un'organizzazione. Ciò consente di controllare l'accesso degli utenti ai servizi regionali in ambienti multi-account complessi.

Per le regioni introdotte di recente sono disponibili funzionalità di limitazione geografica. [Le regioni introdotte dopo il 20 marzo 2019](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html) sono disabilitate per impostazione predefinita. È necessario abilitare queste regioni prima di poterle utilizzare. Per abilitare o disabilitare una regione AWS disabilitata per impostazione predefinita puoi utilizzare la Console di gestione AWS. Attraverso l'abilitazione e la disabilitazione delle regioni è possibile controllare se gli utenti dell'account hanno accesso alle risorse in quella regione. Per ulteriori informazioni, consulta [Gestione delle regioni AWS](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html).

# Controllo dell'accesso alle applicazioni Web e alle applicazioni per dispositivi mobili
<a name="control-access-to-web-applications-and-mobile-apps"></a>

AWS fornisce servizi per la gestione del controllo dell'accesso ai dati contenuti nelle applicazioni dei clienti. Per aggiungere funzionalità di accesso utente e di controllo dell'accesso alle applicazioni Web e a quelle per dispositivi mobili, è possibile utilizzare [Amazon Cognito](https://aws.amazon.com/cognito/). [Il bacino d'utenza di Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html) fornisce una directory utente in grado di dimensionare le risorse per centinaia di milioni di utenti. È possibile aggiungere l'autenticazione a più fattori o MFA,(Multi-factor authentication) a un bacino d'utenza per proteggere l'identità degli utenti. Inoltre, attraverso l'autenticazione adattiva, che utilizza un modello basato sul rischio, è possibile prevedere quando potrebbe essere necessario utilizzare un altro fattore di autenticazione. 

I [pool di identità di Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/identity-pools.html) (Identità federate), permettono di controllare chi ha avuto accesso alle risorse e da dove ha avuto origine l'accesso (applicazione Web o per dispositivi mobili). È possibile utilizzare queste informazioni per creare ruoli e policy IAM per consentire o negare l'accesso a una risorsa in base al tipo di origine dell'accesso (applicazione Web o per dispositivi mobili) e al provider di identità.