【问题标题】:Accessing SNS topic from other user从其他用户访问 SNS 主题
【发布时间】:2019-06-08 13:56:36
【问题描述】:

我正在评估一个 SNS 主题的安全性,我注意到它具有以下配置:

{
    "Action": [
      "SNS:Receive",
      "SNS:Subscribe"
    ],
    "Principal": {
      "AWS": "*"
    },
    "Resource": "arn:aws:sns:us-east-1:topicowner:topic",
    "Effect": "Allow",
    "Sid": "__console_sub_0"
}

我不是主题所有者,但是,考虑到它允许匿名访问(或至少任何 AWS 账户的经过身份验证的访问),我假设我可以使用以下 CLI 命令订阅它:

aws sns 订阅 --topic-arn "arn:aws:sns:us-east-1:topicowner:topic" --protocol email --notification-endpoint my-email@example.com

(我使用我的 AWS 访问密钥和密钥对其进行了配置)

但我得到了以下错误:

调用订阅操作时发生错误(InvalidParameter):无效参数:TopicArn

我猜错了吗?还有什么我应该尝试的吗?

【问题讨论】:

    标签: amazon-web-services amazon-sns


    【解决方案1】:

    主题 arn 似乎无效,缺少 AWS Account id。正确的语法是:

    arn:aws:sns:region:account-id:topicname

    当你说given the fact it allows for anonymous access时,只是为了更正。这不是真的,Principal 通配符表示 AWS 账户内的所有用户,而不是任何匿名用户。

    还可以尝试添加区域“--region us-east-1”

    【讨论】:

    • 我从帖子中删除了原来的帐户 ID,但我使用的帐户 ID 是主题所有者(不是我)。另外,我使用的是一个有效的 AWS 账户(虽然与主题所有者不在同一个账户内)
    • 是同一地区的另一个帐户吗?不管尝试添加--region us-east-1
    • 我现在在原始答案中提到了区域。如果有效,请接受我的回答:) 谢谢
    猜你喜欢
    • 2017-11-09
    • 1970-01-01
    • 2023-01-29
    • 2023-03-30
    • 2015-10-18
    • 1970-01-01
    • 2020-11-28
    • 1970-01-01
    • 2014-03-02
    相关资源
    最近更新 更多