измените SNS политики доступа для inpector

#amazon-web-services #amazon-iam #amazon-sns #aws-access-policy

#amazon-web-services #amazon-iam #amazon-sns #aws-access-policy

Вопрос:

как изменить политику раздела sns на разрешение доступа к aws inspector в us-east-1?У шаблонов оценки нет разрешения на тему sns. Я получил эту ошибку:

 The Inspector Account was denied access to the requested topic Grant account xxxxxxxxx permission to publish to the topic arn:aws:sns:us-east-1:xxxxxxxx:inspector
 
 {
  "Version": "2008-10-17",
  "Id": "__default_policy_ID",
  "Statement": [
    {
      "Sid": "__default_statement_ID",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "SNS:GetTopicAttributes",
        "SNS:SetTopicAttributes",
        "SNS:AddPermission",
        "SNS:RemovePermission",
        "SNS:DeleteTopic",
        "SNS:Subscribe",
        "SNS:ListSubscriptionsByTopic",
        "SNS:Publish",
        "SNS:Receive"
      ],
      "Resource": "arn:aws:sns:us-east-1:xxxxxxxx:inspector",
      "Condition": {
        "StringEquals": {
          "AWS:SourceOwner": "xxxxxxxxx"
        }
      }
    }
  ]
}
 

Ответ №1:

Эта ссылка на AWS содержит именно то, что вам нужно сделать:

Чтобы настроить раздел SNS для уведомлений

Создайте раздел SNS. См. Руководство: Создание раздела Amazon SNS. При создании раздела разверните раздел Политика доступа — необязательно. Затем выполните следующие действия, чтобы разрешить оценке отправлять сообщения в раздел:

Для выбора метода выберите Basic .

Чтобы определить, кто может публиковать сообщения в теме, выберите только указанные учетные записи AWS, а затем введите ARN для учетной записи в регионе, в котором вы создаете тему:

Восток США (Огайо) — arn: aws: iam::646659390643:root

Восток США (Северная Вирджиния) — arn: aws: iam::316112463485:root

Запад США (Северная Калифорния) — arn: aws: iam::166987590008:root

Запад США (штат Орегон) — arn: aws:iam::758058086616:root

Азиатско-Тихоокеанский регион (Мумбаи) — arn: aws: iam::162588757376:root

Азиатско-Тихоокеанский регион (Сеул) — arn: aws: iam::526946625049:root

Азиатско-Тихоокеанский регион (Сидней) — arn: aws: iam::454640832652:root

Азиатско-Тихоокеанский регион (Токио) — arn: aws:iam::406045910587:root

Европа (Франкфурт) — arn: aws: iam::537503971621:root

Европа (Ирландия) — arn:aws:iam::357557129151:root

Европа (Лондон) — arn:aws:iam::146838936955:root

Европа (Стокгольм) — arn:aws:iam::453420244670:root

AWS GovCloud (США-Восток) — arn: aws-us-gov:iam::206278770380:root

AWS GovCloud (США-Запад) — arn: aws-us-gov:iam ::850862329162:root

Чтобы определить, кто может подписаться на эту тему, выберите только указанные учетные записи AWS, а затем введите ARN для учетной записи в регионе, в котором вы создаете тему.

Ответ №2:

Я удалил блок условий

«Условие»: { «StringEquals»: { «AWS:SourceOwner»: «xxxxxxxxx» } }

Теперь работает для меня.

Комментарии:

1. Подобная ошибка, но нечетной частью является номер указанной учетной записи, даже не является одной из наших учетных записей. 3161********. Очень странно. Я удалил условие SNS IAM, о котором вы упомянули, и оно все равно не сработало.

Ответ №3:

Добавьте это в свою политику доступа SNS. У меня это сработало.

Примечание: мой инспектор AWS настроен в штате Орегон так, что я использую «arn: aws: iam::758058086616: root»

Ссылка.

И моя тема SNS уже находится в регионе Орегон.

 {
  "Sid": "CustomInspectorPolicy",
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::758058086616:root"
  },
  "Action": "SNS:Publish",
  "Resource": "arn:aws:sns:us-west-2:<YOUR AWS ACCOUNT NO>:<YOUR SNS TOPIC>"
}