

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

# Esempi di policy per i gruppi di lavoro
<a name="example-policies-workgroup"></a>

Questa sezione include policy di esempio che puoi utilizzare per abilitare varie operazioni sui gruppi di lavoro. 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*.

Un gruppo di lavoro è una risorsa IAM gestita da Athena. Pertanto, se la policy del gruppo di lavoro utilizza operazioni che accettano `workgroup` come input, è necessario specificare l'ARN del gruppo di lavoro nel modo seguente:

```
"Resource": [arn:aws:athena:<region>:<user-account>:workgroup/<workgroup-name>]
```

Dove `<workgroup-name>` è il nome del gruppo di lavoro. Ad esempio, per un gruppo di lavoro denominato `test_workgroup`, deve essere specificato come risorsa nel modo seguente:

```
"Resource": ["arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup"]
```

Per un elenco completo delle operazioni Amazon Athena, consulta i nomi delle operazioni API nella [documentazione di riferimento dell'API Amazon Athena](https://docs.aws.amazon.com/athena/latest/APIReference/). Per ulteriori informazioni sulle policy IAM, consulta [Creazione di policy con l'editor visivo](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-visual-editor) nella *Guida per l'utente di IAM*. Per ulteriori informazioni sulla creazione di policy IAM per i gruppi di lavoro, consulta [Utilizzare policy IAM per controllare l’accesso.](workgroups-iam-policy.md).
+  [Example policy for full access to all workgroups](#example1-full-access-all-wkgs) 
+  [Example policy for full access to a specified workgroup](#example2-full-access-this-wkg) 
+  [Example policy for running queries in a specified workgroup](#example3-user-access) 
+  [Example policy for running queries in the primary workgroup](#example4-run-in-primary-access) 
+  [Example policy for management operations on a specified workgroup](#example5-manage-wkgs-access) 
+  [Example policy for listing workgroups](#example6-list-all-wkgs-access) 
+  [Example policy for running and stopping queries in a specific workgroup](#example7-run-queries-access) 
+  [Example policy for working with named queries in a specific workgroup](#example8-named-queries-access) 
+  [Example policy for working with Spark notebooks](#example9-spark-workgroup) 

**Example Esempio di policy per l'accesso completo a tutti i gruppi di lavoro**  
La policy seguente consente l'accesso completo a tutte le risorse gruppo di lavoro che potrebbero essere presenti nell'account. È consigliabile utilizzare questa policy per gli utenti nell'account che devono amministrare e gestire gruppi di lavoro per tutti gli altri utenti.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

**Example Esempio di policy per l'accesso completo a un determinato gruppo di lavoro**  
La policy seguente consente l'accesso completo a una specifica risorsa gruppo di lavoro denominata `workgroupA`. È possibile usare questa policy per gli utenti con controllo completo su un determinato gruppo di lavoro.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:ListEngineVersions",
                "athena:ListWorkGroups",
                "athena:ListDataCatalogs",
                "athena:ListDatabases",
                "athena:GetDatabase",
                "athena:ListTableMetadata",
                "athena:GetTableMetadata"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "athena:BatchGetQueryExecution",
                "athena:GetQueryExecution",
                "athena:ListQueryExecutions",
                "athena:StartQueryExecution",
                "athena:StopQueryExecution",
                "athena:GetQueryResults",
                "athena:GetQueryResultsStream",
                "athena:CreateNamedQuery",
                "athena:GetNamedQuery",
                "athena:BatchGetNamedQuery",
                "athena:ListNamedQueries",
                "athena:DeleteNamedQuery",
                "athena:CreatePreparedStatement",
                "athena:GetPreparedStatement",
                "athena:ListPreparedStatements",
                "athena:UpdatePreparedStatement",
                "athena:DeletePreparedStatement"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "athena:DeleteWorkGroup",
                "athena:UpdateWorkGroup",
                "athena:GetWorkGroup",
                "athena:CreateWorkGroup"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA"
            ]
        }
    ]
}
```

**Example Esempio di policy per l'esecuzione di query in un determinato gruppo di lavoro**  
Nella policy seguente, a un utente è consentito eseguire query nel gruppo `workgroupA` specificato e visualizzarle. All'utente non è consentito eseguire attività di gestione per il gruppo di lavoro, ad esempio l'aggiornamento o l'eliminazione. Tenere presente che la politica di esempio non limita gli utenti solo a questo gruppo di lavoro né nega l’accesso ad altri gruppi di lavoro.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
       {
            "Effect": "Allow",
            "Action": [
                "athena:ListEngineVersions",
                "athena:ListWorkGroups",
                "athena:ListDataCatalogs",
                "athena:ListDatabases",
                "athena:GetDatabase",
                "athena:ListTableMetadata",
                "athena:GetTableMetadata"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "athena:GetWorkGroup", 
                "athena:BatchGetQueryExecution",
                "athena:GetQueryExecution",
                "athena:ListQueryExecutions",
                "athena:StartQueryExecution",
                "athena:StopQueryExecution",
                "athena:GetQueryResults",
                "athena:GetQueryResultsStream",
                "athena:CreateNamedQuery",
                "athena:GetNamedQuery",
                "athena:BatchGetNamedQuery",
                "athena:ListNamedQueries",
                "athena:DeleteNamedQuery",
                "athena:CreatePreparedStatement",
                "athena:GetPreparedStatement",
                "athena:ListPreparedStatements",
                "athena:UpdatePreparedStatement",
                "athena:DeletePreparedStatement"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA"
            ]
        }
    ]
}
```

**Example Esempio di policy per l'esecuzione di query nel gruppo di lavoro principale**  
È possibile modificare l'esempio precedente per consentire a un determinato utente di eseguire query anche nel gruppo di lavoro principale.   
È consigliabile aggiungere la risorsa principale dei gruppi di lavoro a tutti gli utenti, che altrimenti sono configurati per l'esecuzione di query nei rispettivi gruppi di lavoro designati. L'aggiunta di questa risorsa alle policy degli utenti del gruppo di lavoro è utile in caso di eliminazione o disabilitazione dei rispettivi gruppi di lavoro designati. In questo caso, possono continuare a eseguire query nel gruppo di lavoro principale.
Per consentire agli utenti nel tuo account di eseguire query nel gruppo di lavoro principale, aggiungi una riga che contiene l'ARN del gruppo di lavoro principale alla sezione delle risorse di [Example policy for running queries in a specified workgroup](#example3-user-access), come nel seguente esempio.  

```
arn:aws:athena:us-east-1:123456789012:workgroup/primary"
```

**Example Esempio di policy per le operazioni di gestione in un determinato gruppo di lavoro**  
Nel policy seguente, un utente può creare, eliminare, ottenere i dettagli e aggiornare un gruppo di lavoro `test_workgroup`.     
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:ListEngineVersions"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "athena:CreateWorkGroup",
                "athena:GetWorkGroup",
                "athena:DeleteWorkGroup",
                "athena:UpdateWorkGroup"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup"
            ]
        }
    ]
}
```

**Example Esempio di policy per elencare i gruppi di lavoro**  
La policy seguente consente a tutti gli utenti per elencare tutti i gruppi di lavoro:    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:ListWorkGroups"
            ],
            "Resource": "*"
        }
    ]
}
```

**Example Esempio di policy per l'esecuzione e l'interruzione di query in un determinato gruppo di lavoro**  
In questa policy, a un utente è consentito eseguire query nel gruppo di lavoro:    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:StartQueryExecution",
                "athena:StopQueryExecution"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup"
            ]
        }
    ]
}
```

**Example Esempio di policy per l'utilizzo delle query denominate in un determinato gruppo di lavoro**  
Nel seguente policy, un utente dispone delle autorizzazioni per creare, eliminare e ottenere informazioni sulle query denominate nel gruppo di lavoro specificato:    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:CreateNamedQuery",
                "athena:GetNamedQuery",
                "athena:DeleteNamedQuery"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup"            ]
        }
    ]
}
```

**Example Esempio di policy per l'utilizzo dei notebook Spark in Athena**  
Utilizza una policy come la seguente per lavorare con i notebook Spark in Athena.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCreatingWorkGroupWithDefaults",
            "Action": [
                "athena:CreateWorkGroup",
                "s3:CreateBucket",
                "iam:CreateRole",
                "iam:CreatePolicy",
                "iam:AttachRolePolicy",
                "s3:GetBucketLocation",
                "athena:ImportNotebook"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/Demo*",
                "arn:aws:s3:::123456789012-us-east-1-athena-results-bucket-*",
                "arn:aws:iam::123456789012:role/service-role/AWSAthenaSparkExecutionRole-*",
                "arn:aws:iam::123456789012:policy/service-role/AWSAthenaSparkRolePolicy-*"
            ]
        },
        {
            "Sid": "AllowRunningCalculations",
            "Action": [
                "athena:ListWorkGroups",
                "athena:GetWorkGroup",
                "athena:StartSession",
                "athena:CreateNotebook",
                "athena:ListNotebookMetadata",
                "athena:ListNotebookSessions",
                "athena:GetSessionStatus",
                "athena:GetSession",
                "athena:GetNotebookMetadata",
                "athena:CreatePresignedNotebookUrl"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:athena:us-east-1:123456789012:workgroup/Demo*"
        },
        {
            "Sid": "AllowListWorkGroupAndEngineVersions",
            "Action": [
                "athena:ListWorkGroups",
                "athena:ListEngineVersions"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```