
A empresa para a qual trabalho usa um login legado do okta para AWS. Assim, para usar o aws-cli, é necessário o utilitário aws-okta, que requer okta MFA antes de executar qualquer comando aws-cli.
Estou escrevendo a infraestrutura em terraform e não descobri como fazer o terraform usar okta para poder criar componentes aws.
Isso é possível?
Além disso, isso precisa ser executado em um pipeline ci/cd e não tenho certeza de como funcionaria lá por causa do MFA. Alguma sugestão que você poderia me dar?
Responder1
Sim...algumas abordagens disponíveis para Okta. Okta torna o SSO/identidade federada realmente fácil, em AWS, ferramentas SaaS de terceiros e ferramentas legadas usando autenticação LDAP, etc., fornecendo registros extensos/trilhas de auditoria
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 cerca de 30 contas AWS. Usamos a abordagem docker container no Mac e no PC em nossa equipe de devops e equipes de desenvolvimento. Ele permite que o usuário assuma uma função em uma conta AWS específica e você possa executar o terraform em seu PC. Você também pode usar a funcionalidade assumir função no provedor Terraform AWS
https://www.terraform.io/docs/providers/aws/index.html
Da perspectiva do CI/CD, você não precisa do Okta e não precisa do MFA. O servidor Jenkins EC2 ou equivalente terá uma função de instância para assumir outras funções na mesma conta ou em outras contas. O Terraform usará esta função assumida. Usamos Okta para proteger nosso servidor Jenkins (autenticação LDAP).