Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Zugriff auf Athena zulassen UDFs: Beispielrichtlinien
Die Beispiele für Berechtigungsrichtlinien in diesem Thema veranschaulichen die erforderlichen zulässigen Aktionen und die Ressourcen, für die sie zulässig sind. Untersuchen Sie diese Richtlinien sorgfältig und ändern Sie sie entsprechend Ihren Anforderungen, bevor Sie IAM-Identitäten ähnliche Berechtigungsrichtlinien anfügen.
Beispiel – Erlauben Sie einem IAM-Prinzipal, Abfragen auszuführen und zurückzugeben, die eine Athena-UDF-Anweisung enthalten
Die folgende identitätsbasierte Berechtigungsrichtlinie erlaubt Aktionen, die ein Benutzer oder ein anderer IAM-Prinzipal benötigt, um Abfragen auszuführen, die Athena-UDF-Anweisungen verwenden.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "athena:StartQueryExecution", "lambda:InvokeFunction", "athena:GetQueryResults", "s3:ListMultipartUploadParts", "athena:GetWorkGroup", "s3:PutObject", "s3:GetObject", "s3:AbortMultipartUpload", "athena:StopQueryExecution", "athena:GetQueryExecution", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:athena:*:
MyAWSAcctId
:workgroup/MyAthenaWorkGroup
", "arn:aws:s3:::MyQueryResultsBucket
/*", "arn:aws:lambda:*:MyAWSAcctId
:function:OneAthenaLambdaFunction
", "arn:aws:lambda:*:MyAWSAcctId
:function:AnotherAthenaLambdaFunction
" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "athena:ListWorkGroups", "Resource": "*" } ] }
Erlaubte Aktionen | Erklärung |
---|---|
|
Athena-Berechtigungen, die zum Ausführen von Abfragen in der |
|
|
|
Ermöglicht Abfragen, die im Block angegebenen AWS Lambda Funktionen aufzurufen. Resource Beispiel: where arn:aws:lambda:*: MyAthenaLambdaFunction gibt den Namen einer Lambda-Funktion an, die aufgerufen werden soll. Es können mehrere Funktionen angegeben werden, wie im Beispiel gezeigt. |
Beispiel – Erlauben Sie einem IAM-Prinzipal, eine Athena-UDF zu erstellen
{ "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/*" } ] }
Erlaubte Aktionen | Erklärung |
---|---|
|
Erlauben der Erstellung und Verwaltung von Lambda-Funktionen, die als Ressourcen aufgeführt sind. In diesem Beispiel wird ein Namenspräfix in der Ressourcen-ID verwendet |
|
Ermöglicht das Lesen eines Buckets, der die in der Ressourcen-ID arn:aws:s3:::awsserverlessrepo-changesets- angegebenen Anforderungen AWS Serverless Application Repository benötigt. |
|
Ermöglicht die Erstellung und Verwaltung von AWS CloudFormation Stacks, die durch die Ressource |
|
Ermöglicht das Suchen, Anzeigen, Veröffentlichen und Aktualisieren von Anwendungen in der AWS Serverless Application Repository, die durch die Ressourcen-ID angegeben sind. arn:aws:serverlessrepo:*:*:applications/* |