【问题标题】:Iam user not authorized to perform: firehose:CreateDeliveryStream on resource xxxx with an explicit denyIam 用户无权执行:firehose:CreateDeliveryStream 在资源 xxxx 上显式拒绝
【发布时间】:2018-08-15 18:50:18
【问题描述】:

我正在尝试从 EC2 微型实例创建 Firehose 传输流。

AWS CLI 配置有 IAM 用户 ABC 的访问密钥。此用户附加了 AWS 策略,并具有对 firehose 的完全访问权限(策略复制如下)。

流创建仍然失败并出现错误AccessDeniedException: iam user ABC not authorized to perform: firehose:CreateDeliveryStream on resource xxxx with an explicit deny

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "firehose:*",
                "firehose:CreateDeliveryStream"
            ],
            "Resource": [
                "arn:aws:firehose:us-east-1:<ACC_ID>:deliverystream/*",
                "arn:aws:firehose:us-east-1:<ACC_ID>:*",
                "arn:aws:firehose:*:<ACC_ID>:*",
                "arn:aws:firehose:*:<ACC_ID>:deliverystream/*"
            ]
        }
    ]
}

我是否需要为此 IAM 用户添加更多权限以允许其创建传输流?

【问题讨论】:

  • 您是否对该用户附加了任何其他策略,它是否属于任何组?看起来有明确的拒绝政策。
  • 仔细检查附加到用户的策略(直接或通过组/内联)。此外,在 EC2 上显式保存用户密钥也是一个坏主意。考虑创建一个具有相关 Firehose 访问权限的角色并将其附加到实例。
  • @Abi:如何通过角色在 EC2 上使用 AWS CLI? AWS Configure 中提到的所有步骤都指向添加密钥以启用 CLI 使用。
  • @Paladin - 如果您在 EC2 上运行 CLI 命令,它会获取提供给实例角色的权限。您无需添加密钥 (aws configure) 即可使用它。在 Amazon Linux 实例上,它是预安装的。更多在这里 - docs.aws.amazon.com/cli/latest/userguide/…

标签: amazon-web-services amazon-iam amazon-kinesis-firehose


【解决方案1】:

我交叉检查了附加到该用户的所有其他策略,显然有一个附加到该用户的拒绝策略明确拒绝访问。删除了这个政策,它奏效了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-04
    • 2020-04-04
    • 1970-01-01
    • 2021-11-28
    • 2022-08-18
    • 2022-07-25
    • 1970-01-01
    • 2021-12-21
    相关资源
    最近更新 更多