试图让红移用户访问 IAM 角色,受信任的实体列表已更新,但仍然出现相同的错误

Posted

技术标签:

【中文标题】试图让红移用户访问 IAM 角色,受信任的实体列表已更新,但仍然出现相同的错误【英文标题】:trying to give a redshift user access to an IAM role, trusted entity list was updated but still getting the same error 【发布时间】:2020-07-24 18:45:53 【问题描述】:

错误消息:用户“arn:aws:redshift:us-west-2:123456789012:dbuser:my-cluster/user2”无权担任 IAM 角色“roleArn”

关于我已将信任策略更新为应该允许担任角色的角色,我在这里搞砸了什么?

  "Version": "2008-10-17",
  "Statement": [
    
      "Effect": "Allow",
      "Principal": 
        "Service": "redshift.amazonaws.com"
      ,
      "Action": "sts:AssumeRole"
    ,

代码是有效的 JSON 不得不切断其余部分。 我是 IAM 角色的实习生和新手。如果 redshift 帐户也需要权限更新,我该如何给他们?我在这个问题上已经有一段时间了,因此感谢您提供的任何帮助。

【问题讨论】:

你用这个角色做什么?你什么时候收到错误?您想将它与LOADUNLOADSpectrum 一起使用吗? 【参考方案1】:

要能够将 IAM 角色与 LOADUNLOAD 操作一起使用,您必须:

创建与 Redshift 服务具有信任关系的 IAM 角色 将角色附加到集群

您描述了第一步。你也附上角色了吗?您可以在 AWS UI 中查看附加角色或使用 CLI 列出它们:

aws redshift describe-clusters --cluster-identifier my-cluster --query 'Clusters[].IamRoles'

[
    [
        
            "IamRoleArn": "arn:aws:iam::123456789012:role/my-redhift-role",
            "ApplyStatus": "in-sync"
        
    ]
]

查看您遇到的错误,

错误消息:用户“arn:aws:redshift:us-west-2:123456789012:dbuser:my-cluster/user2”无权担任 IAM 角色“roleArn”

在您发出的操作中,该角色的配置似乎有误。对我来说,该错误表明您正在指示 Redshift 承担 roleArn 角色,该角色可能不存在。你应该把你的角色名称放在那里。

【讨论】:

以上是关于试图让红移用户访问 IAM 角色,受信任的实体列表已更新,但仍然出现相同的错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在 IAM 角色的信任策略中检查自定义 OpenID 声明?

如何通过IAM打造零信任安全架构

如何通过IAM打造零信任安全架构

如何让红移为复制命令中指定的字段添加当前时间

IT干货!怎样用IAM实施零信任策略

通过 boto3 担任 IAM 用户角色时访问被拒绝