从其他用户访问SNS主题

时间:2019-01-14 14:58:37

标签: amazon-web-services amazon-sns

我正在评估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”-协议电子邮件--notification-endpoint my-email@example.com

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

但是我却收到了以下错误:

  

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

我假设做错了吗?还有什么我应该尝试的?

1 个答案:

答案 0 :(得分:1)

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

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

仅用于更正,请说given the fact it allows for anonymous access。并非如此,Principal通配符表示AWS账户中的所有用户,而不是任何匿名用户。

还尝试添加区域‘—区域us-east-1’