Доступ к теме SNS от другого пользователя - PullRequest
0 голосов
/ 14 января 2019

Я оцениваю безопасность темы 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: владелец темы: тема" - электронная почта протокола - notification-endpoint my-email@example.com

(я настроил его, используя свой секретный ключ доступа AWS)

Но вместо этого я получил следующую ошибку:

Произошла ошибка (InvalidParameter) при вызове операции подписки: недопустимый параметр: TopicArn

Я предполагаю, что неправильно? Есть что-нибудь еще, что я должен попробовать?

1 Ответ

0 голосов
/ 14 января 2019

Тема arn не является допустимой, она отсутствует AWS Account id. Правильный синтаксис:

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

Только для исправления, когда вы говорите given the fact it allows for anonymous access. Это неверно, подстановочный знак Principal означает, что все пользователи в учетной записи AWS не являются анонимными пользователями.

Также попробуйте добавить регион ‘—регион us-east-1’

...