
La empresa para la que trabajo utiliza un inicio de sesión heredado de okta para AWS. Por lo tanto, para utilizar aws-cli, se necesita la utilidad aws-okta, que requiere okta MFA antes de ejecutar cualquier comando aws-cli.
Estoy escribiendo la infraestructura en terraform y no he encontrado cómo hacer que terraform use okta para poder crear componentes de AWS.
es posible?
Además, esto debe ejecutarse en una canalización ci/cd y no estoy seguro de cómo funcionaría allí debido a MFA, ¿alguna sugerencia que pueda decirme?
Respuesta1
Sí... bastantes enfoques disponibles para Okta. Okta hace que SSO/identidad federada sea realmente fácil, en AWS, herramientas SaaS de terceros y herramientas heredadas que utilizan autenticación LDAP, etc., proporcionando registros/pistas de auditoría extensos.
https://github.com/oktadeveloper/okta-aws-cli-assume-role
https://github.com/segmentio/aws-okta
https://bitbucket.org/atlassian/cloudtoken/src/master/
https://github.com/Nike-Inc/gimme-aws-creds
Usamos gimme-aws-creds para aproximadamente 30 cuentas de AWS. Utilizamos el enfoque de contenedor acoplable tanto en Mac como en PC en todo nuestro equipo de desarrollo y devops. Permite al usuario asumir un rol en una cuenta de AWS específica y puede ejecutar terraform en su PC. También puede utilizar la funcionalidad de asumir rol en el proveedor Terraform AWS
https://www.terraform.io/docs/providers/aws/index.html
Desde la perspectiva de CI/CD, no necesita Okta ni MFA. El servidor jenkins EC2 o equivalente tendrá un rol de instancia para asumir otros roles en la misma cuenta u otras cuentas. Terraform utilizará este rol asumido. Usamos Okta para proteger nuestro servidor Jenkins (autenticación LDAP).