
私が勤務する会社では、AWS に okta のレガシー ログインを使用しています。そのため、aws-cli を使用するには、aws-okta ユーティリティが必要であり、aws-cli コマンドを実行する前に okta MFA が必要になります。
私は terraform でインフラストラクチャを作成していますが、terraform で okta を使用して aws コンポーネントを作成できるようにする方法が見つかりません。
これは可能ですか?
また、これを CI/CD パイプラインで実行する必要があり、MFA のためそこでどのように機能するかわかりません。何か提案はありますか?
答え1
はい...Okta にはいくつかのアプローチがあります。Okta は、AWS、サードパーティの SaaS ツール、LDAP 認証などを使用する従来のツールで SSO/フェデレーション ID を非常に簡単にし、広範なログ/監査証跡を提供します。
okta の CLI ロールの使用
https://github.com/segmentio/aws-okta
https://bitbucket.org/atlassian/cloudtoken/src/master/
https://github.com/Nike-Inc/gimme-aws-creds
私たちは約30のAWSアカウントにgimme-aws-credsを使用しています。私たちは、開発チームと開発チーム全体でMacとPCの両方でdockerコンテナアプローチを使用しています。これにより、ユーザーは特定のAWSアカウントでロールを引き受けることができ、PCでTerraformを実行できます。また、Terraform AWSプロバイダーのロール引き受け機能を使用することもできます。
https://www.terraform.io/docs/providers/aws/index.html
CI/CD の観点からは、Okta も MFA も必要ありません。Jenkins EC2 サーバーまたは同等のサーバーには、同じアカウントまたは他のアカウントで他のロールを引き受けるインスタンス ロールがあります。Terraform はこの引き受けたロールを使用します。Jenkins サーバーを保護するために Okta を使用します (LDAP 認証)。