本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 2:为 Amazon Glue 创建 IAM 角色
您需要向您的 IAM 角色授予在 Amazon Glue 代表您调用其他服务时可使用的权限。这包括对 Amazon S3 的访问权限,针对用于 Amazon Glue 的任何源、目标、脚本和临时目录。爬网程序、任务和开发终端节点需要权限。
您通过使用 Amazon Identity and Access Management(IAM)提供这些权限。请向您传递到 Amazon Glue 的 IAM 角色添加一个策略。
为 Amazon Glue 创建 IAM 角色
登录 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在左侧导航窗格中,选择 Roles (角色)。
-
选择 Create role(创建角色)。
-
对于可信实体类型,请选择 Amazon 服务。然后,对于服务或应用场景,请查找并选择 Amazon Glue。选择下一步。
-
在添加权限页面上,选择包含所需权限的策略;例如,适用于一般 Amazon Glue 权限的 Amazon 托管式策略
AWSGlueServiceRole
和用于访问 Amazon S3 资源的 Amazon 托管式策略 AmazonS3FullAccess。然后选择下一步。注意
请确保此角色中的策略之一授予针对您的 Amazon S3 源和目标的权限。您可能想要提供您自己的策略来访问特定 Amazon S3 资源。数据源需要
s3:ListBucket
和s3:GetObject
权限。数据目标需要s3:ListBucket
、s3:PutObject
和s3:DeleteObject
权限。有关为您的资源创建 Amazon S3 策略的更多信息,请参阅在策略中指定资源。有关示例 Amazon S3 策略,请参阅编写 IAM policy:如何授予对 Amazon S3 存储桶的访问权限。 如果您计划访问使用 SSE-KMS 加密的 Amazon S3 资源和目标,请附加一个允许 Amazon Glue 爬网程序、任务和开发终端节点解密数据的策略。有关更多信息,请参阅使用具有 Amazon KMS 托管式密钥的服务器端加密(SSE-KMS)保护数据。
示例如下:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "kms:Decrypt" ], "Resource":[ "arn:aws:kms:*:
account-id-without-hyphens
:key/key-id
" ] } ] } -
为角色命名并添加描述(可选),然后检查信任策略和权限。对于 Role name (角色名称),输入您角色的名称,例如
AWSGlueServiceRoleDefault
。使用以字符串AWSGlueServiceRole
为前缀的名称创建角色,以允许角色从控制台用户传递到服务。Amazon Glue 提供了要求 IAM 服务角色以AWSGlueServiceRole
开头的策略。否则,您必须添加一个为您的用户授予对 IAM 角色的iam:PassRole
权限的策略,以匹配您的命名约定。请选择 Create Role(创建角色)。注意
当您创建具有角色的笔记本时,该角色将传递至交互式会话,以便同一角色可以在两个位置使用。因此,
iam:PassRole
权限需要成为角色策略的一部分。使用以下示例为您的角色创建新策略。将账号替换为您的账号,并将角色名称替换为您的角色名称。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::090000000210:role/<role_name>" } ] }
-
向角色添加标签(可选)。标签是您可以添加到 Amazon 资源的键值对,用来帮助标识、组织或搜索资源。然后,选择创建角色。