本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
审核 Amazon Glue Studio 用户需要 IAM 权限
要使用 Amazon Glue Studio,用户必须有权访问各种 Amazon 资源。用户必须能够查看和选择 Amazon S3 存储桶、IAM policy 和角色,以及 Amazon Glue Data Catalog 对象。
Amazon Glue 服务权限
Amazon Glue Studio 使用 Amazon Glue 服务的操作和资源。您的用户需要这些操作和资源的权限,从而有效使用 Amazon Glue Studio。您可以授予 Amazon Glue Studio 用户 AWSGlueConsoleFullAccess
托管式策略,或创建具有较小权限集的自定义策略。
重要
根据安全性最佳实践,建议通过收紧策略来限制访问,从而进一步限制对 Amazon S3 存储桶和 Amazon CloudWatch 日志组的访问。有关示例 Amazon S3 策略,请参阅编写 IAM policy:如何授予对 Amazon S3 存储桶的访问权限
为 Amazon Glue Studio 创建自定义 IAM policy
您可以为 Amazon Glue Studio 创建一个包含较小权限集的自定义策略。该策略可以为对象或操作子集授予权限。创建自定义策略时,请使用以下信息。
要使用 Amazon Glue Studio API,请在 IAM 权限的操作策略中包括 glue:UseGlueStudio
。使用 glue:UseGlueStudio
将允许您访问所有 Amazon Glue Studio,即使随着时间的推移向 API 中添加了更多操作。
有向非循环图 (DAG) 操作
-
CreateDag
-
UpdateDag
-
GetDag
-
DeleteDag
任务操作
-
SaveJob
-
GetJob
-
CreateJob
-
DeleteJob
-
GetJobs
-
UpdateJob
任务运行操作
-
StartJobRun
-
GetJobRuns
-
BatchStopJobRun
-
GetJobRun
-
QueryJobRuns
-
QueryJobs
-
*QueryJobRunsAggregated
架构操作
-
GetSchema
-
*GetInferredSchema
数据库操作
-
GetDatabases
计划操作
-
GetPlan
表操作
-
SearchTables
-
GetTables
-
GetTable
连接操作
-
CreateConnection
-
DeleteConnection
UpdateConnection
-
GetConnections
-
GetConnection
映射操作
-
GetMapping
S3 代理操作
-
ListBuckets
-
ListObjectsV2
-
GetBucketLocation
安全配置操作
-
GetSecurityConfigurations
脚本操作
-
CreateScript(不同于 Amazon Glue 中的同名 API)
访问 Amazon Glue Studio API
要访问 Amazon Glue Studio,请在 IAM 权限的操作策略列表中添加 glue:UseGlueStudio
。
在以下示例中,glue:UseGlueStudio
已包括在操作策略中,但 Amazon Glue Studio API 不是单独识别的。这是因为当您包括 glue:UseGlueStudio
时,系统将会向您自动授予访问内部 API 的权限,而无需在 IAM 权限中指定单个 Amazon Glue Studio API。
在该示例中,列出的其他操作策略(例如,glue:SearchTables
)并非 Amazon Glue Studio API,因此,需要根据需要将它们包含在 IAM 权限中。此外,您可能还希望包括 Amazon S3 代理操作,以指定要授予的 Amazon S3 访问权限级别。以下示例策略提供对开放 Amazon Glue Studio、创建可视化任务及保存/运行任务(如果选定 IAM 角色具有足够权限)的访问权限。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "glue:UseGlueStudio", "iam:ListRoles", "iam:ListUsers", "iam:ListGroups", "iam:ListRolePolicies", "iam:GetRole", "iam:GetRolePolicy", "glue:SearchTables", "glue:GetConnections", "glue:GetJobs", "glue:GetTables", "glue:BatchStopJobRun", "glue:GetSecurityConfigurations", "glue:DeleteJob", "glue:GetDatabases", "glue:CreateConnection", "glue:GetSchema", "glue:GetTable", "glue:GetMapping", "glue:CreateJob", "glue:DeleteConnection", "glue:CreateScript", "glue:UpdateConnection", "glue:GetConnection", "glue:StartJobRun", "glue:GetJobRun", "glue:UpdateJob", "glue:GetPlan", "glue:GetJobRuns", "glue:GetTags", "glue:GetJob", "glue:QueryJobRuns", "glue:QueryJobs", "glue:QueryJobRunsAggregated" ], "Resource": "*" }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/AWSGlueServiceRole*", "Condition": { "StringLike": { "iam:PassedToService": [ "glue.amazonaws.com" ] } } } ] }
笔记本和数据预览权限
数据预览和笔记本允许您在任务的任何阶段(读取、转换、写入)查看数据样本,而无需运行任务。您可以为 Amazon Glue Studio 指定访问数据时要使用的 Amazon Identity and Access Management (IAM) 角色。IAM 角色可代入,没有关联的标准长期凭证(如密码或访问密钥)。相反,当 Amazon Glue Studio 代入角色时,IAM 会为其提供临时安全凭证。
要确保数据预览和笔记本命令正常工作,请使用名称开头为字符串 AWSGlueServiceRole
的角色。如果选择为角色使用其他名称,则必须在 IAM 中为角色添加 iam:passrole
权限并配置策略。有关更多信息,请参阅 为未命名为“AWSGlueServiceRole*”的角色创建 IAM policy。
警告
如果角色为笔记本授予 iam:passrole
权限,并且您实施了角色链接,则用户可能会无意中获得访问笔记本的权限。目前没有实施审计,因此不允许您监控哪些用户已被授予访问笔记本的权限。
如果您想拒绝 IAM 身份创建数据预览会话,请参阅以下示例 拒绝某个身份创建数据预览会话。
Amazon CloudWatch 权限
您可以使用 Amazon CloudWatch 来监控 Amazon Glue Studio 任务,此工具可从 Amazon Glue 收集原始数据,并将数据处理为可读的近实时指标。默认情况下,Amazon Glue 指标数据自动发送到 CloudWatch。有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的什么是 Amazon CloudWatch?和《Amazon Glue 开发人员指南》中的 Amazon Glue 指标。
要访问 CloudWatch 控制面板,则访问 Amazon Glue Studio 的用户需要以下内容之一:
-
AdministratorAccess
策略 -
CloudWatchFullAccess
策略 -
包含以下一个或多个特定权限的自定义策略:
-
cloudwatch:GetDashboard
和cloudwatch:ListDashboards
,以查看控制面板 -
cloudwatch:PutDashboard
,以创建或修改控制面板 -
cloudwatch:DeleteDashboards
,以删除控制面板
-
有关使用策略更改 IAM 用户权限的更多信息,请参阅《IAM 用户指南》中的更改 IAM 用户的权限。