步骤 2:为 AWS Glue 创建 IAM 角色 - AWS 连接词

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

步骤 2:为 AWS Glue 创建 IAM 角色

您需要向您的 IAM 角色授予在 AWS Glue 代表您调用其他服务时可使用的权限。这包括对 Amazon S3 的访问权限,针对用于 AWS Glue 的任何源、目标、脚本和临时目录。爬网程序、任务和开发终端节点需要权限。

您通过使用 AWS Identity and Access Management(IAM)提供这些权限。请向您传递到 AWS Glue 的 IAM 角色添加一个策略。

为 AWS Glue 创建 IAM 角色
  1. 登录 AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在左侧导航窗格中,选择 Roles (角色)

  3. 选择 Create role(创建角色)。

  4. 对于可信实体类型,请选择 AWS 服务。然后,对于服务或应用场景,请查找并选择 AWS Glue。选择下一步

  5. 添加权限页面上,选择包含所需权限的策略;例如,适用于一般 AWS Glue 权限的 AWS 托管式策略 AWSGlueServiceRole 和用于访问 Amazon S3 资源的 AWS 托管式策略 AmazonS3FullAccess。然后选择下一步

    注意

    请确保此角色中的策略之一授予针对您的 Amazon S3 源和目标的权限。您可能想要提供您自己的策略来访问特定 Amazon S3 资源。数据源需要 s3:ListBuckets3:GetObject 权限。数据目标需要s3:ListBuckets3:PutObjects3:DeleteObject 权限。有关为您的资源创建 Amazon S3 策略的更多信息,请参阅在策略中指定资源。有关示例 Amazon S3 策略,请参阅编写 IAM policy:如何授予对 Amazon S3 存储桶的访问权限

    如果您计划访问使用 SSE-KMS 加密的 Amazon S3 资源和目标,请附加一个允许 AWS Glue 爬网程序、任务和开发终端节点解密数据的策略。有关更多信息,请参阅使用具有 AWS KMS 托管式密钥的服务器端加密(SSE-KMS)保护数据

    示例如下:

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "kms:Decrypt" ], "Resource":[ "arn:aws:kms:*:account-id-without-hyphens:key/key-id" ] } ] }
  6. 为角色命名并添加描述(可选),然后检查信任策略和权限。对于 Role name (角色名称),输入您角色的名称,例如 AWSGlueServiceRoleDefault。使用以字符串 AWSGlueServiceRole 为前缀的名称创建角色,以允许角色从控制台用户传递到服务。AWS 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>" } ] }
  7. 向角色添加标签(可选)。标签是您可以添加到 AWS 资源的键值对,用来帮助标识、组织或搜索资源。然后,选择创建角色