红移卸载中出现问题



从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": "*"
}
]
}

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

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

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新