New user sign up using AWS Builder ID
New user sign up using AWS Builder ID is currently unavailable on re:Post. To sign up, please use the AWS Management Console instead.
我将我的 Amazon Simple Queue Service (Amazon SQS) 队列订阅到了另一个 AWS 账户中的某 Amazon Simple Notification Service (Amazon SNS) 主题。从 Amazon SNS 控制台查看或编辑我的跨账户订阅的属性时,我遇到一个“授权错误”需要排除。
如果您从不拥有该主题的账户为 SQS 队列创建 SNS 主题订阅,则拥有该 SQS 队列的账户拥有该订阅。如果您随后查看或编辑创建了 SNS 主题的账户中的 SNS 订阅属性,则会出现授权错误。
**注意:**与订阅相关的查看和编辑权限不能包含在 SNS 主题策略操作中。请改用以下解决方法。
注意: 如果在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请确保您使用的是最新的 AWS CLI 版本。
在用于使用 AWS 命令行界面 (AWS CLI) 或 SDK 创建订阅的账户中,使用 GetSubscriptionAttributes 查看订阅属性。要运行此命令,IAM 用户或角色必须具有 SNS 操作 setSubcriptionAttributes 和 getSubscriptionAttributes 的权限。
以下示例使用 SubscriptionArn 作为请求参数从 AWS CLI 使用 GetSubscriptionAttributes。要检索 SubscriptionArn,请使用 ListSubscriptionsByTopic。
aws sns get-subscription-attributes --subscription-arn arn:aws:sns:eu-central-1:1234567890:TestTopicSubOwnerSQS:53XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX { "Attributes": { "Owner": "9876543210", "RawMessageDelivery": "false", "TopicArn": "arn:aws:sns:eu-central-1:1234567890:TestTopicSubOwnerSQS", "Endpoint": "example@amazon.com", "Protocol": "email", "PendingConfirmation": "false", "ConfirmationWasAuthenticated": "false", "SubscriptionArn": "arn:aws:sns:eu-central-1:1234567890:TestTopicSubOwnerSQS:53XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" } }
如果希望拥有 SNS 主题的 AWS 账户控制 SNS 主题订阅的属性,请执行以下操作:
拥有 SNS 主题的 AWS 账户现在是创建的订阅资源的所有者。
如何为另一个 AWS 账户中的 Amazon SQS 队列重新创建“已删除”的 Amazon SNS 主题订阅?
如何排除尝试向 Amazon SNS 主题添加订阅者时出现的授权错误?
如何排除来自 Amazon SNS 的 HTTP 400“AccessDeniedException”错误?
如何让我的 Amazon SQS 订阅成功接收来自我的 Amazon SNS 主题的通知?
当我尝试将 Lambda 函数订阅到 Amazon SNS 主题时,为什么会出现授权错误?