Мы предоставляем ряд сервисов AWS в регионе ЕС-Запад-1. К сожалению, похоже, что многие наши разработчики и другие сотрудники, которым необходимо создавать временные ресурсы, забывают об этом аспекте AWS и не выбирают этот регион перед запуском экземпляров EC2, созданием сегментов S3 и т. Д. В результате они часто оказываются в регион us-east-1, поскольку это, по-видимому, значение по умолчанию, которое AWS всегда использует.
Есть ли какой-либо способ через IAM (или каким-либо другим способом) ограничить учетные записи пользователей только для запуска / создания вещей в определенном регионе?
"Condition": { "condition": {} }
этого следует заявить"Condition": { "StringEquals": {} }
Используйте что-то вроде этого. Этот пример ограничивает доступ к двум регионам AWS. Изменить по необходимости.
источник
aws:RequestedRegion
, это ответ, который в настоящее время является наиболее актуальнымС 25 апреля 2018 года AWS имеет глобальный ресурс aws: RequestedRegion, который можно использовать для ограничения регионов, в которые пользователь может отправлять запросы. Это не зависит от того, является ли услуга региональной или нет, поэтому вы можете применить ее ко всем услугам.
Блог безопасности AWS
К сожалению, вы не можете использовать это в Политике управления службами организации, чтобы применить ее к учетной записи в глобальном масштабе, и вы должны прикрепить политику к каждому отдельному принципалу и проверить, что это так, если вы хотите заблокировать учетную запись в определенных регионах.
источник
Принятый ответ по этой теме дал
Syntax Error on Policy
. Ниже работало для меня:}
источник
Если вы запрашиваете только действия EC2, то да, вы можете ограничить его, как указано в других ответах. Если это другие сервисы, я не уверен, что вы можете сделать это ... например, AWS Lambda, кажется,
lambda:region
не может добавить условие.источник
Из часто задаваемых вопросов для AWS IAM :
источник
Я обнаружил, что это работает лучше (позволяет запускать / останавливать / завершать / и т. Д.), Чтобы предоставить полный доступ к EC2 для пользователя только одному региону - любой другой регион показывает ошибку при любой попытке доступа.
источник
Это работает для меня, я попытался создать политику с JSON, упомянутым как принятый ответ, но он не работает для меня.
источник
Вот текущее решение - использование «eu-west-1»:
источник