我正在评估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
我假设做错了吗?还有什么我应该尝试的?
答案 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’