もうめんどくさくない GitHub Actions+Azure OpenID Connect連携

1.8K Views

November 25, 22

スライド概要

2022/11/24に行われた GEEKERS NITE #2 でLTした資料です

profile-image

SIer所属のインフラ屋さんです

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

もうめんどくさくない GitHub Actions+Azure OIDC連携 2022/11/24 GEEKERS N ITE #2 Shunsuk e Yoshik a wa

2.

自己紹介 Shunsuke Yoshikawa Twitter: https://twitter.com/ussvgr Qiita: https://qiita.com/ussvgr ⚫ 所属: 株式会社エーピーコミュニケーションズ ⚫ 普段の仕事: Azure×コンテナ中心のインフラ構築(AKSとかContainer Appsとか) ⚫ MICUG クラウドネイティブ/内製開発分科会オーガナイザー https://micug.jp/ ⚫ 愛知県在住

3.

インフラ系の担当なので、GitHubの使い方として IaCをGitHub Actionsを使ってデプロイするのがメイン

4.

GitHub ActionsでのAzureへの認証 最近だと OpenID Connect を使う事が多いですが… ⚫Azureでサービスプリンシパル作って… ⚫ サービスプリンシパルに適切なロールを割り当てて… ⚫ GitHubとのフェデレーション設定を追加して… ⚫ GitHubリポジトリの設定でシークレットを設定して… 意外にやること多い🤔

6.

Draft ? Microsoftが開発しているAKS(Kubernetes)利用の補助ツール https://github.com/Azure/draft ⚫ Dockerfileの生成 ⚫ Kubernetesマニフェストの生成 ⚫ GitHub Actionsのワークフローファイル生成 ⚫ GitHubリポジトリに対するAzure OpenID Connect設定

7.

事前準備(1) ⚫ GitHub CLIをインストールして使える状態にしておく https://github.com/cli/cli/blob/trunk/docs/install_linux.md ⚫ Azure CLIをインストールして使える状態にしておく ⚫ Azure CLIでaks-previewの拡張機能を有効化する $ az extension add --name aks-preview The installed extension 'aks-preview' is in preview.

8.
[beta]
事前準備(2)
⚫ GitHubリポジトリを作成する
$ gh repo create draft-sample –private
✓ Created repository ussvgr/draft-sample on GitHub
⚫ Azureのリソースグループを作成する
$ az group create -n rg-draft -l japaneast
{
"id": "/subscriptions/####-####-####-####-####/resourceGroups/rg-draft",
"location": "japaneast",
"managedBy": null,
"name": "rg-draft",
"properties": {
"provisioningState": "Succeeded“
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups“
}

9.

使い方 az aks draft setup-gh を実行し、あとは対話型で必要な項目を入力していく $ az aks draft setup-gh ✗ Enter app registration name: <作成するサービスプリンシパル名を入力> ? Please choose the subscription ID you would like to use.: <利用するAzureサブスクリプションを選択> ✗ Enter resource group name: <サービスプリンシパルに権限を与えるリソースグループ名を入力> ✗ Enter github organization and repo (organization/repoName): <利用するGitHubリポジトリ名を入力> [Draft] Draft has successfully set up Github OIDC for your project 😃

10.

結果 サービスプリンシパルとフェデレーション資格情報

11.

結果 リソースグループのIAM設定

12.

結果 GitHubのActions secrets

13.

Thank You!