Ограничение допущений роли для каждого региона - PullRequest
0 голосов
/ 24 января 2019

Я читал в блоге AWS статью об ограничении разрешений для каждого региона - https://aws.amazon.com/blogs/security/easier-way-to-control-access-to-aws-regions-using-iam-policies/.

У меня есть следующие настройки - учетная запись A и учетная запись B.

Учетная запись A имеет коллекцию глобальных таблиц DynamoDB в нескольких регионах. Учетная запись B в основном берет на себя роль в учетной записи A для получения доступа к этим таблицам DynamoDB.

Для разделения по регионам у меня есть роли IAM в accountA в формате crossAccountTrustedRole-. Поток таков, что accountB при работе в us-east-1 берет на себя роль с именем crossAccountTrustedRole-us-east-1 и получает доступ к данным.

Теперь в документе политики acceptRole у меня есть доверенная сущность, которая является самой учетной записью. Я не хотел специально вдаваться в боль, рассматривая это как роль. Я хочу, чтобы безопасность такова, что accountB в регионе us-west-2 не может взять на себя роль имени crossAccountTrustedRole-us-east-1 в accountA. Чтение этой статьи заставило меня думать, что технически возможно сделать это прямо сейчас. Я думал, что смогу написать политику IAM, которая ограничивает вызов API acceptRole, чтобы запрашиваемый регион совпадал с входящим запросом.

{
        "Effect": "Allow",
        "Action": [
            "sts:AssumeRole"
        ],
        "Resource": "*",
  "Condition": {"StringEquals": {"aws:RequestedRegion": "eu-central-1"}
}

Возможно ли это? Или кто-нибудь ранее делал это?

1 Ответ

0 голосов
/ 24 января 2019

Я думал, что мог бы написать политику IAM, которая ограничивает вызов API acceptRole тем, что запрашиваемый регион совпадает с регионом входящего запроса.

Нет, вы не можете подать заявкуполитика IAM для пользователя / группы на основе региона - пользователи IAM не имеют региона.Вы можете применять политику IAM на основе региона к ресурсам.Ресурс, такой как Lambda, S3, EC2 и т. Д.

Цель условия региона - предотвратить или контролировать, где ресурс создается / управляется.Вы можете запретить пользователю создавать ресурсы в США, запретить пользователю удалять ресурсы в Европе и т. Д.

...