#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>"
}