【问题标题】:Issue in redshift unload红移卸载问题
【发布时间】:2018-08-22 08:47:12
【问题描述】:

从 Redshift 表中卸载数据时出现以下错误

unload ('select * from tablename')
to 's3://bucketname/'
iam_role 'arn:aws:iam::123456789012:role/rolename';

ERROR:  User arn:aws:redshift:eu-west-1:123456789012:dbuser:dbaname/dbusername is not authorized to assume IAM Role arn:aws:iam::123456789012:role/rolename
DETAIL:
  -----------------------------------------------
  error:  User arn:aws:redshift:eu-west-1:123456789012:dbuser:dbname/dbusername is not authorized to assume IAM Role arn:aws:iam::123456789012:role/rolename
  code:      8001
  context:   IAM Role=arn:aws:iam::123456789012:role/rolename
  query:     0
  location:  xen_aws_credentials_mgr.cpp:238
  process:   padbmaster [pid=3203]
  -----------------------------------------------

我使用切换角色通过角色名称从一个帐户连接到另一个帐户,该角色在 AWS 上具有完全访问权限

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

【问题讨论】:

    标签: amazon-s3 amazon-redshift amazon-iam


    【解决方案1】:

    当我为 Redshift 创建新角色时,这对我有用。步骤概述如下

    1. 在 AWS 控制台中转到 IAM 管理
    2. 创建角色 - 并选择 Redshift 作为服务
    3. 在用例中选择- Redshift - Customizable
    4. 从策略中选择 - AmazonS3FullAccess
    5. 给出相关的角色名称和描述

    使用新创建的角色中的 IAM 角色。

    【讨论】:

      【解决方案2】:

      以下是我为解决此问题而解决的问题。

      1. 附加到 Redshift 集群的角色与 Unload 命令中使用的角色不同。
      2. 附加到 Redshift 的角色不仅具有 S3 上的读取访问权限。

      修复了上述问题,现在可以将数据从 redshift 卸载到 S3。

      【讨论】:

        猜你喜欢
        • 2019-10-25
        • 1970-01-01
        • 1970-01-01
        • 2015-11-15
        • 1970-01-01
        • 2020-07-28
        • 2015-10-17
        • 1970-01-01
        • 2012-08-30
        相关资源
        最近更新 更多