Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

步骤 1.为 Amazon Redshift 创建 IAM 角色

您的群集需要授权才能访问您在 AWS Glue 或 Amazon Athena 中的外部数据目录和您在 Amazon S3 中的数据文件。您通过引用附加到群集的 AWS Identity and Access Management (IAM) 角色来提供授权。有关将角色用于 Amazon Redshift 的更多信息,请参阅使用 IAM 角色为 COPY 和 UNLOAD 操作授权

注意

如果您当前在 Athena 数据目录中有 Redshift Spectrum 外部表,则可以将您的 Athena 数据目录迁移到 AWS Glue 数据目录。要将 AWS Glue 数据目录用于 Redshift Spectrum,您可能需要更改您的 IAM 策略。有关更多信息,请参阅 Athena 用户指南 中的升级到 AWS Glue 数据目录

为 Amazon Redshift 创建 IAM 角色

  1. 打开 IAM 控制台

  2. 在导航窗格中,选择 Roles

  3. 选择 Create role

  4. 选择 AWS service,然后选择 Redshift

  5. Select your use case 下,选择 Redshift - Customizable,然后选择 Next: Permissions

  6. 此时显示 Attach permissions policy 页面。依次选择 AmazonS3ReadOnlyAccessAWSGlueConsoleFullAccess。选择 Next: Review

    注意

    AmazonS3ReadOnlyAccess 策略能让您的群集对所有 Amazon S3 存储桶进行只读访问。要仅授予 AWS 示例数据存储桶的访问权限,请创建新策略并添加以下权限。

    Copy
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": "arn:aws:s3:::awssampledbuswest2/*" } ] }
  7. 对于 Role name,为您的角色键入一个名称,例如 mySpectrumRole

  8. 检查信息,然后选择 Create role

  9. 在导航窗格中,选择 Roles。选择新角色的名称以查看摘要,然后将 Role ARN 复制到剪贴板。该值是您刚创建的角色的 Amazon 资源名称 (ARN)。您将在创建用于引用 Amazon S3 上的数据文件的外部表时使用此值。