Почему политика управления доступом SNS требует указания элемента Resource - разве это не подразумевается?

Политика, основанная на идентификации, не требует указания "Принципала", поскольку это неявно. Применяя такое же обоснование к политике управления доступом SNS (которая является политикой на основе ресурсов), почему требуется указать ту же тему SNS в качестве "Ресурса" в политике? Для сегментов "Ресурс" помогает сужаться до определенных префиксов и т. Д., Но каков именно смысл наличия (неявного) "Ресурса" в политике контроля доступа SNS? т.е. тема ARN указана как "Ресурс", но политика привязана к той же теме. Ниже для справки показан пример политики управления доступом к SNS из документации AWS.

{
  "Statement": [{
    "Sid": "grant-1234-publish",
    "Effect": "Allow",
    "Principal": {
      "AWS": "111122223333"
    },
    "Action": ["sns:Publish"],
    "Resource": "arn:aws:sns:us-east-2:444455556666:MyTopic"
  }]
}

1 ответ

Решение

Синтаксис для определения политических заявлений требуетResource или NotResource. Из документов:

Заявления должны включать элемент Resource или NotResource.

Поэтому вы должны явно указать это. В темах социальных сетей не используется особый синтаксис политики, который позволил бы им не иметьResource составная часть.

Таким образом, я не думаю, что в этом есть что-то еще. Это просто синтаксическое требование для правильных формулировок политики.

Другие вопросы по тегам