【问题标题】:Unable to run AWS Glue Crawler due to IAM Permissions由于 IAM 权限,无法运行 AWS Glue Crawler
【发布时间】:2023-02-02 14:04:24
【问题描述】:

我无法运行新创建的 AWS Glue Crawler。我在 https://docs.aws.amazon.com/glue/latest/dg/create-an-iam-role.html?icmpid=docs_glue_console 关注了 IAM 角色指南

  1. 使用AWSGlueServiceRoleAmazonS3FullAccess 管理策略创建了新的爬虫角色AWSGlueServiceRoleDefault
  2. 信任关系包含:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": "glue.amazonaws.com"
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }
    
    1. 用户通过SSO执行爬虫签名并继承arn:aws:iam::aws:policy/AdministratorAccess
    2. 我什至尝试创建具有所有权限的新 AWS 用户

    执行 Crawler 后,它会在 8 秒内失败并出现以下错误:

    爬虫无法启动。验证附加到爬虫中定义的 IAM 角色的策略中的权限

    还需要哪些其他 IAM 权限?

【问题讨论】:

  • 你能与所有政策分享这个角色吗?你的bucket用kms加密了吗?
  • 关于 4) - 您是否将这些政策附加到您的角色或真正创建了一个新用户?用户不会在这里帮助您,因为爬虫将使用您赋予它的角色的权限。
  • 你运气好吗?我在这里遇到同样的问题。

标签: amazon-web-services etl amazon-iam aws-glue


【解决方案1】:

如果您通过与外部数据存储的 JDBC 连接对表和模式进行爬网,请确保您已为 Glue 连接指定了网络选项。如果未指定选项,我会得到完全相同的错误。我认为这里的错误信息有些误导。

这是我为爬虫定义的内容:

  1. 一个角色,例如AWSGlueServiceRoleDefault 附加了 AWSGlueServiceRole 托管策略。

  2. 为您的连接指定网络选项。

  3. 创建一个 NAT 网关并将其附加到您在第 2 步中定义的子网,以便您的爬虫程序可以使用一个公共 IP 连接到外部数据存储。

    如果您尝试连接 RDS,由于爬虫和数据库都在 AWS 网络中,因此不需要 NAT。只需定义安全组规则以允许连接。查看文档here

    如果 S3 是目标数据源,则建议使用 S3 的 VPC 端点。查看文档here

【讨论】:

    猜你喜欢
    • 2022-08-19
    • 2021-09-07
    • 2021-08-13
    • 1970-01-01
    • 2020-09-26
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多