选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

生成列统计数据的先决条件

聚焦模式
生成列统计数据的先决条件 - AWS Glue

要生成或更新列统计数据,统计数据生成任务将代表您代入一个 AWS Identity and Access Management(IAM)角色。根据向该角色授予的权限,列统计数据生成任务可以读取 Amazon S3 数据存储中的数据。

配置列统计数据生成任务时,AWS Glue 允许您创建包含 AWSGlueServiceRole AWS 托管式策略以及指定数据源所需内联策略的角色。

如果您指定一个现有角色用于生成列统计数据,请确保它包含 AWSGlueServiceRole 策略或等效策略(或此策略的范围缩小版本),以及所需的内联策略。请按照下面的步骤创建新的 IAM 角色:

注意

要为由 Lake Formation 管理的表生成统计数据,用于生成统计数据的 IAM 角色需要具有完全的表访问权限。

配置列统计数据生成任务时,AWS Glue 允许您创建包含 AWSGlueServiceRole AWS 托管式策略以及指定数据源所需内联策略的角色。您也可以创建一个角色并附加以下策略中列出的权限,然后将该角色添加到列统计数据生成任务。

创建 IAM 角色以生成列统计数据
  1. 要创建 IAM 角色,请参阅 为 AWS Glue 创建 IAM 角色

  2. 要更新现有的角色,进入 IAM 控制台后,请转到生成列统计数据进程正在使用的 IAM 角色。

  3. 添加权限选项卡中,选择附加策略。在新打开的浏览器窗口中,选择 AWSGlueServiceRole AWS 托管式策略。

  4. 您还需要包含从 Amazon S3 数据位置读取数据所需的权限。

    添加权限部分中,选择创建策略。在新打开的浏览器窗口中,创建将用于您的角色的新策略。

  5. 创建策略页面中,选择 JSON 选项卡。将以下 JSON 代码复制到策略编辑器字段中。

    注意

    请将以下策略中的 account ID 替换为有效的 AWS 账户,将 region 替换为表所在的区域,并将 bucket-name 替换为 Amazon S3 存储桶的名称。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "S3BucketAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::<bucket-name>/*", "arn:aws:s3:::<bucket-name>" ] } ] }
  6. (可选)如果您使用 Lake Formation 权限来提供对数据的访问权限,则该 IAM 角色需要具有 lakeformation:GetDataAccess 权限。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccess", "Effect": "Allow", "Action": "lakeformation:GetDataAccess", "Resource": [ "*" ] } ] }

    如果该 Amazon S3 数据位置已注册到 Lake Formation,并且列统计数据生成任务所代入的 IAM 角色不具有对表的 IAM_ALLOWED_PRINCIPALS 组权限,则该角色需要具有对该表的 Lake Formation ALTERDESCRIBE 权限。用于注册 Amazon S3 存储桶的角色需要具有对该表的 Lake Formation INSERTDELETE 权限。

    如果该 Amazon S3 数据位置尚未注册到 Lake Formation,并且该 IAM 角色不具有对表的 IAM_ALLOWED_PRINCIPALS 组权限,则该角色需要具有对该表的 Lake Formation ALTERDESCRIBEINSERTDELETE 权限。

  7. 如果您已启用目录级别Automatic statistics generation选项,则 IAM 角色必须对默认 Data Catalog 具有 glue:UpdateCatalog 权限或 Lake Formation ALTER CATALOG 权限。您可以使用 GetCatalog 操作来验证目录属性。

  8. (可选)对于写入加密 Amazon CloudWatch Logs 的列统计数据生成任务,密钥政策中需要包含以下权限。

    { "Version": "2012-10-17", "Statement": [{ "Sid": "CWLogsKmsPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:AssociateKmsKey" ], "Resource": [ "arn:aws:logs:<region>:111122223333:log-group:/aws-glue:*" ] }, { "Sid": "KmsPermissions", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:Encrypt" ], "Resource": [ "arn:aws:kms:<region>:111122223333:key/"arn of key used for ETL cloudwatch encryption" ], "Condition": { "StringEquals": { "kms:ViaService": ["glue.<region>.amazonaws.com"] } } } ] }
  9. 用于运行列统计信息的角色必须拥有该角色的 iam:PassRole 权限。

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::111122223333:role/<columnstats-role-name>" ] }] }
  10. 在您创建 IAM 角色以生成列统计数据时,该角色还必须具有以下的信任策略,以确保服务能够代入该角色。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "TrustPolicy", "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole", } ] }
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。