選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

允許存取 Athena UDFs:範例政策

焦點模式
允許存取 Athena UDFs:範例政策 - Amazon Athena

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本主題中的許可政策範例示範需要允許的動作,以及允許這些動作的資源。將類似的許可政策連接至 IAM 身分之前,請仔細檢查這些政策,並根據您的需求進行修改。

範例
- 允許 IAM 主體執行並傳回包含 Athena UDF 陳述式的查詢

在下列以身分識別為基礎的許可政策中,允許使用者或其他 IAM 委託人需要的動作,有這些動作才能執行使用 Athena UDF 陳述式的查詢。

{ "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": "*" } ] }
許可說明
允許的動作 說明
"athena:StartQueryExecution", "athena:GetQueryResults", "athena:GetWorkGroup", "athena:StopQueryExecution", "athena:GetQueryExecution",

MyAthenaWorkGroup 工作群組中執行查詢所需的 Athena 許可。

"s3:PutObject", "s3:GetObject", "s3:AbortMultipartUpload"

s3:PutObjects3:AbortMultipartUpload 允許將查詢結果寫入 arn:aws:s3:::MyQueryResultsBucket/* 資源識別碼指定的查詢結果儲存貯體的所有子資料夾,其中 MyQueryResultsBucket 是 Athena 查詢結果儲存貯體。如需詳細資訊,請參閱使用查詢結果和最近的查詢

s3:GetObject 針對指定為 arn:aws:s3:::MyQueryResultsBucket 的資源,允許讀取查詢結果和查詢歷史記錄,其中 MyQueryResultsBucket 是 Athena 查詢結果儲存貯體。如需詳細資訊,請參閱使用查詢結果和最近的查詢

s3:GetObject 還允許從指定為 "arn:aws:s3:::MyLambdaSpillBucket/MyLambdaSpillPrefix*" 的資源讀取,其中 MyLambdaSpillPrefix 是在一或多個叫用的 Lambda 函數的組態中指定。

"lambda:InvokeFunction"
允許查詢叫用 Resource區塊中指定的 AWS Lambda 函數。例如,arn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunction,其中 MyAthenaLambdaFunction 會指定要叫用的 Lambda 函數的名稱。如範例所示,可以指定多個函數。
範例
- 允許 IAM 主體建立 Athena UDF
{ "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/*" } ] }
許可說明
允許的動作 說明
"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",

允許建立和管理列為資源的 Lambda 函數。在該範例中,資源識別碼 arn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunctionsPrefix* 中使用名稱字首,其中 MyAthenaLambdaFunctionsPrefix 是 Lambda 函數群組的名稱中使用的共同字首,因此不需要個別指定為資源。您可以指定一或多個 Lambda 函數資源。

"s3:GetObject"
允許讀取資源識別符 指定的 AWS Serverless Application Repository 儲存貯體arn:aws:s3:::awsserverlessrepo-changesets-1iiv3xa62ln3m/*
"cloudformation:*"

允許建立和管理資源 MyCFStackPrefix 指定的 AWS CloudFormation 堆疊。這些堆疊和堆疊集是部署連接器和 UDFs AWS Serverless Application Repository 的方式。

"serverlessrepo:*"
允許在 中搜尋、檢視、發佈和更新由資源識別符 AWS Serverless Application Repository指定的應用程式arn:aws:serverlessrepo:*:*:applications/*
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。