【问题标题】:Firehose is unable to assume roleFirehose 无法承担角色
【发布时间】:2019-09-15 04:32:35
【问题描述】:

我正在尝试使用Firehose API (JS),但我不断收到以下错误:

"InvalidArgumentException: Firehose 无法承担角色 arn:aws:iam::XXXXXXXXXX:角色/名称。请检查提供的角色。

我检查了角色,并设置了我的自定义策略以包含 STS 和 Firehose 操作的所有资源。如果我在 STS 下允许 AssumeRole,我不知道为什么会出现此错误。

方法调用

我使用的方法是createDeliveryStream(params = {}, callback)S3DestinationConfiguration

政策 JSON

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "iam:*",
                "kinesisvideo:*",
                "s3:PutAccountPublicAccessBlock",
                "s3:GetAccountPublicAccessBlock",
                "s3:ListAllMyBuckets",
                "s3:*",
                "firehose:*",
                "sts:*",
                "s3:HeadBucket"
            ],
            "Resource": "*"
        }
    ]
}

【问题讨论】:

  • 如果您确实在问题中显示了角色,那么回答会容易得多。但我怀疑您缺少 Principal 元素。
  • 我同意我会尽快更新。 AWS 控制台已关闭。我同意你的观点,我尝试设定原则,但它给了我一些错误,我也会更新它。
  • @guest 已更新。
  • 您能检查一下IAM角色中定义的信任关系并验证它是否设置为firehose.amazonaws.com吗?
  • @krishna_mee2004 非常感谢。这解决了这个问题。我会接受你的回答。

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


【解决方案1】:

请检查 IAM 角色中定义的信任关系,并验证它是否设置为 firehose.amazonaws.com。信任关系中定义的策略使服务能够承担角色。对于 Kinesis Firehose,请参阅 this 文档,其中包含有关 Firehose 的 IAM 角色的详细信息。请参阅文档中提到信任策略的“授予 Kinesis Data Firehose 访问 Amazon S3 目标”部分。

【讨论】:

    猜你喜欢
    • 2020-07-13
    • 2018-08-06
    • 2019-02-25
    • 2023-02-18
    • 2017-11-20
    • 2020-04-29
    • 1970-01-01
    • 1970-01-01
    • 2019-12-31
    相关资源
    最近更新 更多