

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

# Consenti l’accesso alla query federata Athena
<a name="federated-query-iam-access"></a>

Negli esempi di policy di autorizzazione in questo argomento vengono illustrate le operazioni consentite obbligatorie e le risorse per le quali sono consentite. Esamina attentamente queste policy e modificale in base ai tuoi requisiti prima di collegarle a identità IAM.

Per informazioni sul collegamento di policy alle identità IAM, consulta [Aggiunta e rimozione di autorizzazioni alle identità IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) nella [Guida per l'utente di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/).
+  [Example policy to allow an IAM principal to run and return results using Athena Federated Query](#fed-using-iam) 
+  [Example Policy to Allow an IAM Principal to Create a Data Source Connector](#fed-creating-iam) 

**Example : consenti a un principale IAM di eseguire e restituire risultati utilizzando la query federata Athena**  
La seguente policy di autorizzazione basata su identità consente operazioni richieste da un utente o un altro principale IAM per utilizzare la query federata Athena. I principali autorizzati a eseguire queste operazioni sono in grado di eseguire query che specificano i cataloghi Athena associati a un'origine dati federata.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Athena",
            "Effect": "Allow",
            "Action": [
                "athena:GetDataCatalog",
                "athena:GetQueryExecution",
                "athena:GetQueryResults",
                "athena:GetWorkGroup",
                "athena:StartQueryExecution",
                "athena:StopQueryExecution"
            ],
            "Resource": [
                "arn:aws:athena:*:{{111122223333}}:workgroup/{{WorkgroupName}}",
                "arn:aws:athena:{{us-east-1}}:{{111122223333}}:datacatalog/{{DataCatalogName}}"
            ]
        },
        {
            "Sid": "ListAthenaWorkGroups",
            "Effect": "Allow",
            "Action": "athena:ListWorkGroups",
            "Resource": "*"
        },
        {
            "Sid": "Lambda",
            "Effect": "Allow",
            "Action": "lambda:InvokeFunction",
            "Resource": [
                "arn:aws:lambda:*:{{111122223333}}:function:{{OneAthenaLambdaFunction}}",
                "arn:aws:lambda:*:{{111122223333}}:function:{{AnotherAthenaLambdaFunction}}"
            ]
        },
        {
            "Sid": "S3",
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:ListMultipartUploadParts",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::{{MyLambdaSpillBucket}}",
                "arn:aws:s3:::{{MyLambdaSpillBucket}}/*",
                "arn:aws:s3:::{{MyQueryResultsBucket}}",
                "arn:aws:s3:::{{MyQueryResultsBucket}}/*"
            ]
        }
    ]
}
```


**Spiegazione delle autorizzazioni**  

| Operazioni consentite | Spiegazione | 
| --- | --- | 
|  <pre> "athena:GetQueryExecution", <br /> "athena:GetQueryResults",<br /> "athena:GetWorkGroup",<br /> "athena:StartQueryExecution",<br /> "athena:StopQueryExecution"</pre>  | Autorizzazioni Athena richieste per eseguire query federate. | 
|  <pre> "athena:GetDataCatalog",<br /> "athena:GetQueryExecution,"<br /> "athena:GetQueryResults",<br /> "athena:GetWorkGroup",<br /> "athena:StartQueryExecution",<br /> "athena:StopQueryExecution"</pre>  | Autorizzazioni Athena necessarie per eseguire query di visualizzazione federate. L’azione è necessaria per le visualizzazioni `GetDataCatalog`. | 
|  <pre>"lambda:InvokeFunction"</pre>  | Consente alle interrogazioni di richiamare le AWS Lambda funzioni per le AWS Lambda funzioni specificate nel Resource blocco. Ad esempioarn:aws:lambda:\*:{{MyAWSAcctId}}:function:{{MyAthenaLambdaFunction}}, where {{MyAthenaLambdaFunction}} specifica il nome di una funzione Lambda da richiamare. Più funzioni possono essere specificate come mostrato nell’esempio. | 
|  <pre>"s3:AbortMultipartUpload",<br />"s3:GetBucketLocation",<br />"s3:GetObject",<br />"s3:ListBucket",<br />"s3:ListMultipartUploadParts",<br />"s3:PutObject"</pre>  | Le autorizzazioni `s3:ListBucket` e `s3:GetBucketLocation` sono necessarie per accedere al bucket di output delle query per i principali IAM che eseguono `StartQueryExecution`.<br />`s3:PutObject``s3:ListMultipartUploadParts`, e `s3:AbortMultipartUpload` consentono di scrivere i risultati delle query in tutte le sottocartelle del bucket dei risultati della query come specificato dall'identificatore di `arn:aws:s3:::{{MyQueryResultsBucket}}/*` risorsa, dove si trova il bucket dei risultati {{MyQueryResultsBucket}} della query Athena. Per ulteriori informazioni, consulta [Lavora con i risultati delle query e le query recenti](querying.md).<br />`s3:GetObject`consente la lettura dei risultati delle query e della cronologia delle query per la risorsa specificata come`arn:aws:s3:::{{MyQueryResultsBucket}}`, where {{MyQueryResultsBucket}} è il bucket dei risultati delle query Athena.<br />`s3:GetObject`consente inoltre la lettura dalla risorsa specificata come`"arn:aws:s3:::{{MyLambdaSpillBucket}}/{{MyLambdaSpillPrefix}}*"`, where {{MyLambdaSpillPrefix}} è specificata nella configurazione della funzione o delle funzioni Lambda richiamate. | 

**Example : consente a un principale IAM di creare un connettore origine dati**  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "lambda:CreateFunction",
                "lambda:ListVersionsByFunction",
                "iam:CreateRole",
                "lambda:GetFunctionConfiguration",
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy",
                "lambda:PutFunctionConcurrency",
                "iam:PassRole",
                "iam:DetachRolePolicy",
                "lambda:ListTags",
                "iam:ListAttachedRolePolicies",
                "iam:DeleteRolePolicy",
                "lambda:DeleteFunction",
                "lambda:GetAlias",
                "iam:ListRolePolicies",
                "iam:GetRole",
                "iam:GetPolicy",
                "lambda:InvokeFunction",
                "lambda:GetFunction",
                "lambda:ListAliases",
                "lambda:UpdateFunctionConfiguration",
                "iam:DeleteRole",
                "lambda:UpdateFunctionCode",
                "s3:GetObject",
                "lambda:AddPermission",
                "iam:UpdateRole",
                "lambda:DeleteFunctionConcurrency",
                "lambda:RemovePermission",
                "iam:GetRolePolicy",
                "lambda:GetPolicy"
            ],
            "Resource": [
                "arn:aws:lambda:*:{{111122223333}}:function:{{MyAthenaLambdaFunctionsPrefix}}*",
                "arn:aws:s3:::awsserverlessrepo-changesets-{{1iiv3xa62ln3m}}/*",
                "arn:aws:iam::*:role/{{RoleName}}",
                "arn:aws:iam::{{111122223333}}:policy/*"
            ]
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "cloudformation:CreateUploadBucket",
                "cloudformation:DescribeStackDriftDetectionStatus",
                "cloudformation:ListExports",
                "cloudformation:ListStacks",
                "cloudformation:ListImports",
                "lambda:ListFunctions",
                "iam:ListRoles",
                "lambda:GetAccountSettings",
                "ec2:DescribeSecurityGroups",
                "cloudformation:EstimateTemplateCost",
                "ec2:DescribeVpcs",
                "lambda:ListEventSourceMappings",
                "cloudformation:DescribeAccountLimits",
                "ec2:DescribeSubnets",
                "cloudformation:CreateStackSet",
                "cloudformation:ValidateTemplate"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": "cloudformation:*",
            "Resource": [
                "arn:aws:cloudformation:*:{{111122223333}}:stack/aws-serverless-repository-{{MyCFStackPrefix}}*/*",
                "arn:aws:cloudformation:*:{{111122223333}}:stack/serverlessrepo-{{MyCFStackPrefix}}*/*",
                "arn:aws:cloudformation:*:*:transform/Serverless-*",
                "arn:aws:cloudformation:*:{{111122223333}}:stackset/aws-serverless-repository-{{MyCFStackPrefix}}*:*",
                "arn:aws:cloudformation:*:{{111122223333}}:stackset/serverlessrepo-{{MyCFStackPrefix}}*:*"
            ]
        },
        {
            "Sid": "VisualEditor3",
            "Effect": "Allow",
            "Action": "serverlessrepo:*",
            "Resource": "arn:aws:serverlessrepo:*:*:applications/*"
        },
        {
            "Sid": "ECR",
            "Effect": "Allow",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "arn:aws:ecr:*:*:repository/*"
        }
    ]
}
```


**Spiegazione delle autorizzazioni**  

| Operazioni consentite | Spiegazione | 
| --- | --- | 
|  <pre>"lambda:CreateFunction",<br />"lambda:ListVersionsByFunction",<br />"lambda:GetFunctionConfiguration",<br />"lambda:PutFunctionConcurrency",<br />"lambda:ListTags",<br />"lambda:DeleteFunction",<br />"lambda:GetAlias",<br />"lambda:InvokeFunction",<br />"lambda:GetFunction",<br />"lambda:ListAliases",<br />"lambda:UpdateFunctionConfiguration",<br />"lambda:UpdateFunctionCode",<br />"lambda:AddPermission",<br />"lambda:DeleteFunctionConcurrency",<br />"lambda:RemovePermission",<br />"lambda:GetPolicy"<br />"lambda:GetAccountSettings",<br />"lambda:ListFunctions",<br />"lambda:ListEventSourceMappings",<br /></pre>  | Consente la creazione e la gestione delle funzioni Lambda elencate come risorse. Nell’esempio, un prefisso del nome viene utilizzato nell’identificatore della risorsa `arn:aws:lambda:*:{{MyAWSAcctId}}:function:{{MyAthenaLambdaFunctionsPrefix}}*`, dove `{{MyAthenaLambdaFunctionsPrefix}}` è un prefisso condiviso utilizzato nel nome di un gruppo di funzioni Lambda in modo che non sia necessario specificarle individualmente come risorse. È possibile specificare una o più risorse della funzione Lambda. | 
|  <pre>"s3:GetObject"</pre>  | Consente la lettura di un bucket che AWS Serverless Application Repository richiede quanto specificato dall'identificatore arn:aws:s3:::awsserverlessrepo-changesets-{{1iiv3xa62ln3m}}/\* della risorsa. Questo bucket può essere specifico per l'account. | 
|  <pre>"cloudformation:*"</pre>  | Consente la creazione e la gestione degli CloudFormation stack specificati dalla risorsa. `{{MyCFStackPrefix}}` Questi stack e stackset sono il modo AWS Serverless Application Repository in cui distribuisce i connettori e. UDFs | 
|  <pre>"serverlessrepo:*"</pre>  | Consente la ricerca, la visualizzazione, la pubblicazione e l'aggiornamento delle applicazioni nel campo specificato dall' AWS Serverless Application Repository identificatore di risorsa. arn:aws:serverlessrepo:\*:\*:applications/\* | 
|  <pre>"ecr:BatchGetImage",<br />"ecr:GetDownloadUrlForLayer"</pre>  | Consente alla funzione Lambda creata di accedere all’immagine ECR del connettore di federazione. | 