If there was an emergency we have our root accounts to recover access, but it's a good point that we should probably have a second IDP as a backup.
P.S. Any chance of a link back in the mention of aws-vault in the article? (aws-vault author here)
We are sometimes wary about contributing stuff like this upstream because it's not always accepted, and then we are in a weird spot maintaining a fork (it happened with the bitly oauth proxy when we added okta support). I'll see what type of work it would take to make it fit in to aws-vault nicely!
This used to be the way Okta recommended integrating to AWS, but in the guide you linked[1] they are using pretty much exactly the same approach you did - authentication to an identity account (ops account in your terminology) then assume-role into the target account.
I can't see any major differences between the standard Okta approach and the way you outlined in your blog. Could let me know if I missed something?
[1] https://support.okta.com/help/servlet/fileField?retURL=/help...
- Detailed instructions for Google-federated login to the AWS Management Console through SAML are available [1], and worked more or less as described.
- CLI/API access is a bit trickier and less thoroughly documented, but is possible using the 'Web Identity Federation' feature [2]. Basically, you generate/refresh temporary AWS credentials by passing a Google OIDC token to the AssumeRoleWithWebIdentity API. The tricky part is keeping both your Google OIDC and AWS STS tokens conveniently refreshed. I wrote some open-source glue code for this that hooks into the AWS Ruby SDK and CLI [3]. It's still a little rough around the edges and not yet extracted into a standalone project, but it's been working well enough for my team over the last year.
[1] https://aws.amazon.com/blogs/security/how-to-set-up-federate...
[2] https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_pr...
[3] https://github.com/code-dot-org/code-dot-org/blob/staging/li...
https://aws.amazon.com/blogs/security/how-to-set-up-federate...