

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

# Controllo dell’accesso ad Amazon S3 da Athena
<a name="s3-permissions"></a>

Puoi concedere l'accesso alle posizioni Amazon S3 utilizzando le policy basate sulle identità, le policy delle risorse bucket, le policy dei punti di accesso o qualsiasi combinazione delle policy qui sopra. Quando gli attori interagiscono con Athena, le loro autorizzazioni passano attraverso Athena per determinare ciò a cui Athena può accedere. Ciò significa che gli utenti devono essere autorizzati ad accedere ai bucket Amazon S3 per potervi eseguire query con Athena.

Ogni volta che si utilizzano le policy IAM, assicurati di seguire le best practice IAM. Per ulteriori informazioni, consulta [Best Practice di sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) nella *Guida per l'utente di IAM*.

Tieni presente che le richieste ad Amazon S3 provengono da un IPv4 indirizzo privato per Athena, non dall'IP di origine specificato in. `aws:SourceIp` Per questo motivo, non è possibile utilizzare la condizione `aws:SourceIp` per negare l’accesso alle azioni di Amazon S3 in una determinata policy IAM. Non è possibile limitare o consentire l’accesso alle risorse Amazon S3 in base alle chiavi di condizioni `aws:SourceVpc` o `aws:SourceVpce`.

**Nota**  
I gruppi di lavoro Athena che utilizzano l'autenticazione Centro identità IAM richiedono che S3 Access Grants sia configurato per l'utilizzo delle identità con propagazione delle identità attendibili. Per maggiori informazioni, consulta la pagina [S3 Access Grants and directory identities](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-directory-ids.html) nella *Guida per l'utente di Amazon Simple Storage Service*.

**Topics**
+ [Policy basate sull’identità](#s3-permissions-identity-based-policies)
+ [Policy delle risorse di bucket S3](#s3-permissions-bucket-resource-policies)
+ [Policy del punto di accesso](#s3-permissions-aliases)
+ [CalledVia chiavi contestuali](#s3-permissions-calledvia)
+ [Altre risorse](#s3-permissions-additional-resources)

## Utilizzare policy basate sull’identità per controllare l’accesso ai bucket Amazon S3
<a name="s3-permissions-identity-based-policies"></a>

Le policy basate su identità sono collegate a un utente, un gruppo o un ruolo IAM. Queste policy consentono di specificare cosa può fare quell'identità (le sue autorizzazioni). È possibile utilizzare policy basate sull’identità per controllare l’accesso ai bucket Amazon S3.

La policy basata sulle identità riportata di seguito consente a `Read` e `Write` l’accesso agli oggetti in un bucket Amazon S3 specifico. Per utilizzare questa politica, sostituiscila {{italicized placeholder text}} con i tuoi valori.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ListObjectsInBucket",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
            "Sid": "AllObjectActions",
            "Effect": "Allow",
            "Action": "s3:*Object",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        }
    ]
}
```

------

## Utilizzare policy delle risorse dei bucket per controllare l’accesso ai bucket Amazon S3
<a name="s3-permissions-bucket-resource-policies"></a>

Con le policy di bucket Amazon S3, puoi proteggere l’accesso agli oggetti nei tuoi bucket, in modo che solo gli utenti con le autorizzazioni appropriate possano accedervi. Per informazioni, consulta [Aggiunta di una policy del bucket utilizzando la console Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html) nella *Guida per l’utente di Amazon S3*.

La seguente policy di autorizzazione limita l’utente a leggere solo gli oggetti che hanno il tag chiave e il valore `environment: production`. Questa policy utilizza la chiave di condizione `s3:ExistingObjectTag` per specificare la chiave e il valore del tag.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333}}:role/{{JohnDoe}}"
            },
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringEquals": {
                    "s3:ExistingObjectTag/environment": "production"
                }
            }
        }
    ]
}
```

------

Per esempi di policy del bucket di Amazon S3, consulta [Esempi di policy di bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) nella *Guida per gli sviluppatori di Amazon Simple Storage Service*.

## Puoi utilizzare i punti di accesso Amazon S3 per un controllo più preciso sull’accesso ai bucket
<a name="s3-permissions-aliases"></a>

Se disponi di un set di dati condiviso in un bucket Amazon S3, mantenere una singola policy del bucket che gestisce l'accesso per centinaia di casi d'uso può essere difficile.

I punti di accesso al bucket Amazon S3 aiutano a risolvere questo problema. Un bucket può avere più punti di accesso, ciascuno con una policy che controlla l'accesso al bucket in modo diverso. 

Per ogni punto di accesso creato, Amazon S3 genera un alias che rappresenta il punto di accesso. Poiché l'alias è nel formato del nome bucket Amazon S3, è possibile utilizzare l'alias nella clausola `LOCATION` delle istruzioni `CREATE TABLE` in Athena. L'accesso di Athena al bucket è quindi controllato dalla policy per il punto di accesso che l'alias rappresenta. 

Per ulteriori informazioni, consulta [Specificare la posizione di una tabella in Amazon S3](tables-location-format.md) e [Utilizzo dei punti di accesso](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html) nella *Guida per l'utente di Amazon S3*.

## Usa le chiavi CalledVia contestuali per consentire solo le chiamate da Athena a un altro servizio
<a name="s3-permissions-calledvia"></a>

Per una maggiore sicurezza, è possibile utilizzare la chiave di contesto di condizione globale [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledvia](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledvia). La chiave di condizione `aws:CalledVia` contiene un elenco di servizi a cui è consentita la chiamata un altro servizio. Ad esempio, è possibile consentire `InvokeFunction` le chiamate AWS Lambda solo se provengono da Athena specificando il nome `athena.amazonaws.com` principale del servizio Athena per la chiave di contesto. `aws:CalledVia` Per ulteriori informazioni, consulta [Usa le chiavi di CalledVia contesto per Athena](security-iam-athena-calledvia.md).

## Altre risorse
<a name="s3-permissions-additional-resources"></a>

Per ulteriori informazioni ed esempi su come concedere l'accesso ad Amazon S3, consulta le seguenti risorse:
+ [Procedure guidate di esempio: gestione degli accessi](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access.html) nella *Guida per l'utente di Amazon S3*.
+ [Come posso fornire l'accesso su più account agli oggetti che si trovano nei bucket Amazon S3?](https://aws.amazon.com/premiumsupport/knowledge-center/cross-account-access-s3/) nel Knowledge Center. AWS 
+ [Accesso tra account in Athena a bucket Amazon S3](cross-account-permissions.md).