#amazon-web-services #amazon-iam
Вопрос:
Я хотел бы создать политику в роли IAM AWS, которая влияет на ЗАПРЕЩЕНИЕ sns:Удаление доступа к определенной учетной записи.
Я пробую это
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Deny",
"Action": "sns:DeleteTopic",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:userid": [
"AROA24JI6FVYT2EIWXNVM:elad",
"11111111111"
]
}
}
}
]
}
Но это не работает.
Кроме того, я хочу сделать то же самое с поставщиком Saml. Возможно ли это?
Спасибо, Элад
Комментарии:
1. «Но это не работает». — не является конкретным. Что именно происходит? Как вы это проверяете? Как можно воспроизвести проблему? Какие-нибудь сообщения об ошибках?
2. После того, как я возьму на себя роль пользователя из учетной записи «11111111111». Я пытаюсь запустить «тему удаления aws sns…», и это удалось. Я бы ожидал, что он получит » не уполномочен выполнять:….».
Ответ №1:
То, о чем вы просите, невозможно или не имеет 100% смысла. Вы не можете запретить доступ к другой учетной записи с помощью роли IAM, потому что пользователи в другой учетной записи не будут использовать эту роль для отправки запроса.
Вот несколько вариантов, которые я могу придумать, но вам, возможно, потребуется предоставить дополнительную информацию о том, как сущности в этой внешней учетной записи делают запросы к вашей учетной записи (предполагая роли, прямые запросы с аутентификацией IAM).
- Сущности IAM из внешней учетной записи по умолчанию лишены доступа. Вы можете запретить другим сущностям доступ к вашей теме, добавив в раздел SNS «политику ресурсов», которая предоставляет им разрешения. Вы можете обновить политику ресурсов в своих темах, чтобы гарантировать, что этой учетной записи не будут предоставлены разрешения.
- Пользователь/роль в другой учетной записи может выполнять роль в вашей учетной записи, чтобы получить разрешения на удаление темы. В этом случае обновите политику доверия ролей, чтобы пользователи учетной записи не могли выполнять вашу роль.