AWS无法订阅SNS主题:CognitoIdentityCredentials未经授权执行:SNS:订阅

乔恩

我正在尝试使用以下代码将iOS终结点订阅到SNS主题:

    let sns = AWSSNS.defaultSNS()
    let request = AWSSNSCreatePlatformEndpointInput()
    request.token = deviceTokenString
    request.platformApplicationArn = SNSPlatformApplicationArn

    sns.createPlatformEndpoint(request).continueWithExecutor(AWSExecutor.mainThreadExecutor(), withBlock: { (task: AWSTask!) -> AnyObject! in
        if task.error != nil {
            print(task.error)
        } else {
            let createEndpointResponse = task.result as! AWSSNSCreateEndpointResponse

            // Subscribe to the topic
            let subscribeTopicInput = AWSSNSSubscribeInput()
            subscribeTopicInput.endpoint = createEndpointResponse.endpointArn
            subscribeTopicInput.protocols = "application"
            subscribeTopicInput.topicArn = MyTopicARN
            sns.subscribe(subscribeTopicInput).continueWithExecutor(AWSExecutor.mainThreadExecutor(), withBlock: { (topicTask: AWSTask!) -> AnyObject! in

                if topicTask.error != nil {
                    // Authorization error prints here
                    print(topicTask.error)
                }

                return nil
            })

        }

        return nil
    })

尝试订阅主题时收到错误消息:

UserInfo={Type=Sender, Message=User: arn:aws:its::000000000000:assumed-role/appname_unauth_MOBILEHUB_000000000/CognitoIdentityCredentials is not authorized to perform: SNS:Subscribe on resource:...

答案的作者解释说,您必须以sns:SubscribeCognito角色授予对的访问权限,以允许您的应用程序进行此调用。我的Cognito用户已被授予AmazonSNSFullAccess,它允许访问所有sns动作(例如sns:*)。为什么我的Cognito用户被拒绝访问?设置我的主题政策,以便只有主题所有者可以订阅...,但是主题所有者似乎与我的Cognito用户相同。

在此处输入图片说明

乔恩

我曾使用Amazon Mobile Hub为我配置推送通知。我没有意识到Mobile Hub在该过程中创建了三个角色:

  1. appname_consolepush_MOBILEHUB_000000000
  2. appname_unauth_MOBILEHUB_000000000
  3. MobileHub_Service_Role

iOS应用正在使用appname_unauth_MOBILEHUB_00000000角色而不是我手动创建的用户进行连接此角色不允许sns:Subscribe

要解决,请执行以下任一操作:

  1. 授予AmazonSNSFullAccess适当的角色
  2. 创建内联策略以允许sns:Subscribe所有资源使用(更好的IMO)

例子:

{
    "Effect": "Allow",
    "Action": [
        "sns:Subscribe"
    ],
    "Resource": [
        "*"
    ]
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AWS无法订阅SNS主题:CognitoIdentityCredentials无权执行:SNS:订阅

来自分类Dev

AMAZON AWS我如何向SNS主题订阅终结点?

来自分类Dev

AWS Lambda CDK不会生成SNS主题和订阅

来自分类Dev

使用 AWS Lambda 函数订阅 Amazon SNS 主题?

来自分类Dev

iOS AWS SNS:客户端如何确认SNS主题订阅?

来自分类Dev

aws s3 托管的网站是否可以订阅 aws sns 主题?

来自分类Dev

仅在处理相同主题的SQS订阅后才调用AWS Lambda SNS事件

来自分类Dev

如何在AWS CloudFormation中创建Amazon SQS队列并将其订阅到Amazon SNS主题?

来自分类Dev

两种确认 AWS SNS 主题订阅确认方法的区别

来自分类Dev

SNS - 订阅主题不需要确认申请?

来自分类Dev

使用AWS cdk(typescript)将sqs队列订阅到另一个帐户中的sns主题

来自分类Dev

订阅的SNS消息很大时不调用AWS Lambda

来自分类Dev

AWS SNS订阅与Lambda函数上的触发器的比较?

来自分类Dev

AWS Amplify-CognitoIdentityCredentials未经授权执行:资源上的sts:AssumeRole

来自分类Dev

无法订阅主题数据

来自分类Dev

如何使用Java SDK以编程方式删除已确认的SNS订阅(而不是主题)?

来自分类Dev

如何发送短信通知到200个电话号码并订阅SNS中的主题

来自分类Dev

在对流层中添加对现有 sns 主题的订阅

来自分类Dev

SNS订阅的应用协议是什么?

来自分类Dev

AWS Lambda 无法找到明确存在的 SNS 主题?

来自分类Dev

无法订阅动态主题。使用aws-iot-device-sdk

来自分类Dev

Spring AWS Cloud SNS HTTP端点确认订阅不起作用

来自分类Dev

AWS Simple Notification Services(SNS)中是否可以跟踪所有未订阅的人?

来自分类Dev

AWS-在SNS订阅或Lambda函数上设置死信队列有什么区别?

来自分类Dev

获取AWS SNS确认订阅令牌并将其作为参数传递给API

来自分类Dev

如何在部署在 Beanstalk 上的 Django Web 服务器中配置 AWS SNS 订阅?

来自分类Dev

订阅的主题

来自分类Dev

AWS SNS按名称获取主题

来自分类Dev

AWS SNS 主题数量限制

Related 相关文章

  1. 1

    AWS无法订阅SNS主题:CognitoIdentityCredentials无权执行:SNS:订阅

  2. 2

    AMAZON AWS我如何向SNS主题订阅终结点?

  3. 3

    AWS Lambda CDK不会生成SNS主题和订阅

  4. 4

    使用 AWS Lambda 函数订阅 Amazon SNS 主题?

  5. 5

    iOS AWS SNS:客户端如何确认SNS主题订阅?

  6. 6

    aws s3 托管的网站是否可以订阅 aws sns 主题?

  7. 7

    仅在处理相同主题的SQS订阅后才调用AWS Lambda SNS事件

  8. 8

    如何在AWS CloudFormation中创建Amazon SQS队列并将其订阅到Amazon SNS主题?

  9. 9

    两种确认 AWS SNS 主题订阅确认方法的区别

  10. 10

    SNS - 订阅主题不需要确认申请?

  11. 11

    使用AWS cdk(typescript)将sqs队列订阅到另一个帐户中的sns主题

  12. 12

    订阅的SNS消息很大时不调用AWS Lambda

  13. 13

    AWS SNS订阅与Lambda函数上的触发器的比较?

  14. 14

    AWS Amplify-CognitoIdentityCredentials未经授权执行:资源上的sts:AssumeRole

  15. 15

    无法订阅主题数据

  16. 16

    如何使用Java SDK以编程方式删除已确认的SNS订阅(而不是主题)?

  17. 17

    如何发送短信通知到200个电话号码并订阅SNS中的主题

  18. 18

    在对流层中添加对现有 sns 主题的订阅

  19. 19

    SNS订阅的应用协议是什么?

  20. 20

    AWS Lambda 无法找到明确存在的 SNS 主题?

  21. 21

    无法订阅动态主题。使用aws-iot-device-sdk

  22. 22

    Spring AWS Cloud SNS HTTP端点确认订阅不起作用

  23. 23

    AWS Simple Notification Services(SNS)中是否可以跟踪所有未订阅的人?

  24. 24

    AWS-在SNS订阅或Lambda函数上设置死信队列有什么区别?

  25. 25

    获取AWS SNS确认订阅令牌并将其作为参数传递给API

  26. 26

    如何在部署在 Beanstalk 上的 Django Web 服务器中配置 AWS SNS 订阅?

  27. 27

    订阅的主题

  28. 28

    AWS SNS按名称获取主题

  29. 29

    AWS SNS 主题数量限制

热门标签

归档