У меня есть сценарий использования, в котором мне нужно было бы дать пользователям возможность использовать назначенные им ключи AWS API (т.е. не частного шлюза API) только с определенного хоста EC2.Да, роль, назначенная хосту, могла бы быть лучше, но мы должны быть в состоянии идентифицировать действия, выполняемые конкретным пользователем (то есть не отрицание).За пределами этого хоста EC2 (который используется для выполнения длительных специальных заданий) MFA принудительно применяется к отдельному набору ключей API, которые хранятся у каждого пользователя.Поскольку характер специальных заданий не определен, идея состояла в том, чтобы в основном запретить доступ к этим «экземплярам» ключей в других местах, в то время как в этом случае пользователи будут иметь свои обычно назначенные разрешения.
Но этоможет быть невозможно реализовать.Сначала я подумал, что буду использовать aws:SourceIP
для идентификации источника, но, конечно, внутренние IP-адреса VPC не маршрутизируются и, следовательно, могут перекрываться в других VPC в других местах.Тогда я подумал, что, возможно, aws:SourceVpc
будет работать, но он работает только со службами, которые используют частные конечные точки (например, S3).
Итак, мне не повезло с таким подходом?Любые другие умные идеи о том, как можно ограничить конкретный набор ключей API конкретным экземпляром EC2 (оптимально) или конкретным VPC (лучше, чем ничего), используя политику IAM, независимо от того, какие операции API AWS будут выполняться с этимиключи?(Т.е. "отрицать все, если только на EC2 экземпляр X")