Nous exécutons un certain nombre de services AWS dans la région eu-west-1. Malheureusement, il semble que beaucoup de nos développeurs et autres employés qui ont besoin de créer des ressources temporaires oublient cet aspect d'AWS et ne sélectionnent pas cette région avant de lancer des instances EC2, de créer des compartiments S3, etc. En conséquence, ils se retrouvent souvent dans la région us-east-1 car cela semble être la valeur par défaut qu'AWS utilise toujours.
Existe-t-il un moyen via IAM (ou d'une autre manière) de restreindre les comptes d'utilisateurs pour ne lancer / créer que des éléments dans une région spécifique?
la source
"Condition": { "condition": {} }
il faut indiquer"Condition": { "StringEquals": {} }
Utilisez quelque chose comme ça. Cet exemple restreint l'accès à deux régions AWS. Modifiez au besoin.
la source
aws:RequestedRegion
, c'est la réponse qui est maintenant la plus pertinenteDepuis le 25 avril 2018, AWS dispose d'une ressource globale aws: RequestedRegion que vous pouvez utiliser pour limiter les régions auxquelles un utilisateur peut envoyer des demandes. Ceci est indépendant du fait que le service soit régional ou non, vous pouvez donc l'appliquer à tous les services.
Blog sur la sécurité AWS
Malheureusement, vous ne pouvez pas utiliser cela dans la stratégie de contrôle des services d'une organisation pour l'appliquer à un compte global, et vous devez attacher la stratégie à chaque principal et vérifier qu'il en est ainsi, si vous souhaitez verrouiller un compte dans certaines régions.
la source
Réponse acceptée sur ce fil donné
Syntax Error on Policy
. Ci-dessous a fonctionné pour moi:}
la source
Si vous ne demandez que des actions EC2, alors oui, vous pouvez le limiter comme mentionné dans d'autres réponses. S'il s'agit d'autres services, je ne suis pas sûr que vous puissiez le faire ... Par exemple, AWS Lambda ne semble pas en avoir un que
lambda:region
vous pouvez ajouter à une condition.la source
De la FAQ pour AWS IAM :
la source
J'ai trouvé que cela fonctionnait mieux (permet de lancer / arrêter / terminer / etc.) Pour accorder un accès EC2 complet à un utilisateur à une seule région - chaque autre région affiche une erreur lors de toute tentative d'accès.
la source
Celui-ci fonctionne pour moi, j'ai essayé de créer une politique avec le json mentionné comme réponse acceptée mais cela ne fonctionne pas pour moi.
la source
C'est la solution actuelle - en utilisant "eu-west-1":
la source