AWS CDK で AWS-GitHub 間の OIDC を設定する
created: 2024-05-29
AWS と GitHub の OIDC を設定する
公式のユーザーガイドはIAM で OpenID Connect (OIDC) ID プロバイダーを作成するにある。
AWS-GitHub の OIDC を設定すると何ができるか
CI(GitHub Actions)による処理中で AWS の操作を行いたい時、認証/認可に使うアクセスキーが必要になり、GitHub リポジトリの Secrets として登録して使うことがある。しかし、アクセスキーはコピー可能であるから、漏洩することがある。
これに対して、OIDC を使った場合は GitHub リポジトリおよびブランチを特定して認証し、使う IAM Role を指定することで認可する。
OIDC を使うことで管理が楽になるだろうということだ。
AWS CDK で構成した
リポジトリは zfhrp6/cdk_github_oidcにある。
GitHub のリポジトリを複数管理している場合、各リポジトリでそれぞれ別の権限が欲しいことがあるので、リポジトリとロールを複数定義できるようにしている。
リポジトリには例としての定義のみ含めている、 env.ts を参照してほしい。
ConstructHub: aws-cdk-github-oidc
今回は全て自分で記述したけれど、Construct Hub に aws-cdk-github-oidc があることを知ったので、これを使った定義もしてみようと思う。