Consenti l'accesso ad Athena Federated Query: politiche di esempio - Amazon Athena

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 ad Athena Federated Query: politiche di esempio

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 politiche e modificale in base alle tue esigenze prima di associarle alle identità. IAM

Per informazioni su come allegare le politiche alle IAM identità, consulta Aggiungere e rimuovere le autorizzazioni di IAM identità nella Guida per l'utente. IAM

Esempio
— Consenti a un IAM principale di eseguire e restituire risultati utilizzando Athena Federated Query

La seguente politica di autorizzazioni basata sull'identità consente le azioni richieste da un utente o da un altro IAM principale per utilizzare Athena Federated Query. 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:aws_region: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
"athena:GetQueryExecution", "athena:GetQueryResults", "athena:GetWorkGroup", "athena:StartQueryExecution", "athena:StopQueryExecution"

Autorizzazioni Athena richieste per eseguire query federate.

"athena:GetDataCatalog", "athena:GetQueryExecution," "athena:GetQueryResults", "athena:GetWorkGroup", "athena:StartQueryExecution", "athena:StopQueryExecution"

Autorizzazioni Athena necessarie per eseguire query di visualizzazione federate. L'azione è necessaria per le visualizzazioni. GetDataCatalog

"lambda:InvokeFunction"
Consente alle interrogazioni di richiamare il AWS Lambda funzioni per AWS Lambda funzioni specificate nel Resource blocco. Ad esempioarn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunction, dove MyAthenaLambdaFunction specifica il nome di una funzione Lambda da richiamare. Come mostrato nell'esempio, è possibile specificare più funzioni.
"s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListMultipartUploadParts", "s3:PutObject"

Le s3:GetBucketLocation autorizzazioni s3:ListBucket e sono necessarie per accedere al bucket di output delle query per IAM i principali in esecuzione. StartQueryExecution

s3:PutObjects3:ListMultipartUploadParts, e s3:AbortMultipartUpload consentono di scrivere i risultati delle query in tutte le sottocartelle del bucket dei risultati delle query, come specificato dall'identificatore di risorsa, dove arn:aws:s3:::MyQueryResultsBucket/* MyQueryResultsBucket è il bucket dei risultati delle query Athena. Per ulteriori informazioni, consulta Utilizzare i risultati delle query e le query recenti.

s3:GetObjectconsente la lettura dei risultati delle query e della cronologia delle query per la risorsa specificata come, dove arn:aws:s3:::MyQueryResultsBucket MyQueryResultsBucket è il bucket dei risultati delle query Athena.

s3:GetObjectconsente anche la lettura dalla risorsa specificata come, dove "arn:aws:s3:::MyLambdaSpillBucket/MyLambdaSpillPrefix*" MyLambdaSpillPrefix è specificato nella configurazione della funzione o delle funzioni Lambda richiamate.

Esempio
— Consente a un IAM principale di creare un connettore di 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/*" } ] }
Spiegazione delle autorizzazioni
Operazioni consentite Spiegazione
"lambda:CreateFunction", "lambda:ListVersionsByFunction", "lambda:GetFunctionConfiguration", "lambda:PutFunctionConcurrency", "lambda:ListTags", "lambda:DeleteFunction", "lambda:GetAlias", "lambda:InvokeFunction", "lambda:GetFunction", "lambda:ListAliases", "lambda:UpdateFunctionConfiguration", "lambda:UpdateFunctionCode", "lambda:AddPermission", "lambda:DeleteFunctionConcurrency", "lambda:RemovePermission", "lambda:GetPolicy" "lambda:GetAccountSettings", "lambda:ListFunctions", "lambda:ListEventSourceMappings",

Consente la creazione e la gestione delle funzioni Lambda elencate come risorse. Nell'esempio, viene utilizzato un prefisso di nome nell'identificatore arn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunctionsPrefix* della risorsa, dove MyAthenaLambdaFunctionsPrefix è un prefisso condiviso utilizzato nel nome di un gruppo di funzioni Lambda in modo che non sia necessario specificarle singolarmente come risorse. È possibile specificare una o più risorse della funzione Lambda.

"s3:GetObject"
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.
"cloudformation:*"

Consente la creazione e la gestione di AWS CloudFormation pile specificate dalla risorsa MyCFStackPrefix. Questi stack e stackset sono come AWS Serverless Application Repository distribuisce connettori e. UDFs

"serverlessrepo:*"
Consente la ricerca, la visualizzazione, la pubblicazione e l'aggiornamento di applicazioni in AWS Serverless Application Repository, specificato dall'identificatore arn:aws:serverlessrepo:*:*:applications/* della risorsa.