Can ExternalId be used to forbid changes via AWS Management Console?

0

I want to forbid infrastructure changes made via AWS Management Console to enforce Infrastructure-as-Code.

I know it is impossible to switch to a role which requires ExternalId. So my solution is to have IAM users that are allowed read operations and role assumption. IAM role which provides write access will require ExternalId forcing the users to rely on AWS API.

Are there any potential drawbacks of this solution?

3 réponses
1

You can apply read-only for resources, and one of CreateStack for the AWS CloudFormation service, in the same role. I understand that this mode is easier to manage. You will only have one role to manage.

profile picture
répondu il y a un an
1

One drawback I can think of would be using the Console to Deploy CloudFormation if that is needed. You will need to create a CloudFormation role that the users could also assume in the CFN wizard. That is an easy fix. Other than that, I don't see any issues with this method. There are however may ways to accomplish this. Off the top of my head, this seems to be the absolute most restrictive.

profile picture
répondu il y a un an
0
Réponse acceptée

Apparently, using aws:UserAgent condition context key is a better solution to the problem. Reference values for the userAgent can be taken from CloudTrail documentation.

répondu il y a un an

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions