Skip to main content

github-actions-oidc

GitHub Actionsから各クラウド(Google Cloud, Firebase, AWS, Azure)へOIDC(OpenID Connect)およびWorkload Identity経由でセキュアにキーレス接続・デプロイするための設定を自動または半自動で完遂します。ユーザーから「GitHub ActionsでOIDCを設定して」「Firebase/GCPのOIDC連携を組んで」などの指示があった場合にこのスキルを使用し、設定コマンドの実行からGitHubワークフローYAMLの作成までを行います。

Ir para a instalação

Informações da origem

Repositório
mono0926/skills
Última atividade na origem
22 de maio de 2026 às 01:39
Idioma detectado do SKILL.md
japonês
Estrelas
2
Forks
0

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
4 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
github-actions-oidc
description
GitHub Actionsから各クラウド(Google Cloud, Firebase, AWS, Azure)へOIDC(OpenID Connect)およびWorkload Identity経由でセキュアにキーレス接続・デプロイするための設定を自動または半自動で完遂します。ユーザーから「GitHub ActionsでOIDCを設定して」「Firebase/GCPのOIDC連携を組んで」などの指示があった場合にこのスキルを使用し、設定コマンドの実行からGitHubワークフローYAMLの作成までを行います。
# GitHub Actions OIDC Setup Skill このスキルは、GitHub Actionsから各クラウドプロバイダ(Google Cloud, Firebase, AWS, Azure)へ、一時的な認証情報を用いてセキュアに接続するためのOIDC(OpenID Connect) / Workload Identity連携設定をサポート・自動実行します。 従来の長期的なサービスアカウントキーやIAMアクセスキーをGitHubのSecretsに登録する運用を廃止し、より安全なキーレス認証へ移行させます。 ## トリガー条件 ユーザーが以下のような要望を出した時に発動します: - 「GitHub ActionsでOIDC対応の設定をして」 - 「GitHub ActionsでFirebase Hostingにデプロイする処理のOIDC認証で組んで」 - 「GCP/AWS/AzureのWorkload Identity連携を設定して」 - 「GitHubからクラウドへのデプロイをキーレスにしたい」 --- ## ワークフロー手順 ### ステップ 1: 要件の把握とパラメータの収集 処理を開始する前に、ユーザーの環境から以下の情報を自動取得、またはユーザーに確認します。 1. **対象のクラウドプロバイダ**: Google Cloud (GCP) / Firebase, AWS, Azure のいずれか。 2. **GitHubリポジトリ情報**: `owner/repo` 名(例: `mono0926/dog`)。ローカルのgit設定(`git remote -v` 等)から自動取得を試みてください。 3. **クラウド側の識別子**: - **Google Cloud / Firebase**: GCPプロジェクトID、プロジェクト番号、使用するサービスアカウント名。 - **AWS**: AWSアカウントID、作成するIAMロール名。 - **Azure**: テナントID、サブスクリプションID、アプリ(クライアント)ID。 4. **必要な権限・用途**: デプロイ対象(Firebase Hosting, Cloud Functions, Cloud Run, AWS S3, ECRなど)に応じて付与すべきロール/ポリシー。 ### ステップ 2: クラウド別詳細リファレンスの読み込み 収集した情報に基づいて、以下の対応するリファレンスドキュメントを読み込み、具体的なセットアップ手順を実行します。 - **Google Cloud / Firebase の場合**: [gcp-firebase.md](references/gcp-firebase.md) を読み込んで実行してください。 - **AWS の場合**: [aws.md](references/aws.md) を読み込んで実行してください。 - **Azure の場合**: [azure.md](references/azure.md) を読み込んで実行してください。 ### ステップ 3: ローカル環境のCLIツール有無の確認 設定コマンドをエージェントが代理実行できるか確認するため、必要なCLIツールがインストールされ、ログイン状態にあるかを検査します。 - GCP: `gcloud --version` および認証状態の確認 - AWS: `aws --version` および認証状態の確認 - Azure: `az --version` および認証状態の確認 エージェント自身でCLI操作ができる場合、コマンドを提示してユーザーの承認を得た上で、自動実行します。 CLIが使えない、または権限不足の場合は、ユーザー自身が実行するための「そのままコピーしてターミナルで実行できるgcloud/awsコマンドスクリプト」を提示して、実行を促してください。 ### ステップ 4: GitHub Actions ワークフローYAMLの作成・修正 認証設定が完了したら、GitHub ActionsからOIDC連携を利用するためのYAMLファイルを `.github/workflows/` 以下に作成または修正します。 #### 共通の重要事項 1. **permissions ブロックの明示的な一括定義(必須)** GitHub ActionsでOIDCトークンを発行するためには、以下の `permissions` 設定を必ずセットで(一括定義で)YAMLに含めてください。片方だけ(例: `id-token: write` のみ)を指定すると、もう片方(`contents: read`)が自動で `none` になり、コードのチェックアウト(`actions/checkout`)等が失敗する原因となります。 ```yaml permissions: id-token: write # OIDCトークンの要求に必須 contents: read # リポジトリ内容の読み取り(checkout等)に必須 ``` 2. **サードパーティ製 Action のメジャーバージョン固定** ワークフロー内で外部のGitHub Actionsを使用する際は、原則として最新のメジャーバージョンを明記して使用してください。 * 例: `actions/checkout@v4`, `google-github-actions/auth@v2`, `aws-actions/configure-aws-credentials@v4` 3. **本番環境等のアクセス制限(セキュリティの堅牢化)** 本番(prod)やステージング(stg)環境用の接続設定を行う場合は、GCPのWorkload IdentityポリシーやAWSのIAM信頼ポリシー(Trust Policy)において、リポジトリ制限にワイルドカード(`*`)を安易に使用せず、特定のブランチ(例: `refs/heads/main`)や環境(例: `environment:production`)に厳格に絞り込んだ条件式を生成してください。 * 悪い例: `repo:owner/repo:*` (すべてのブランチやPRから接続可能になってしまう) * 良い例: `repo:owner/repo:ref:refs/heads/main` (本番ブランチのみに制限) --- ## トラブルシューティングと注意点 1. **GitHubのOrganization制限**: 企業や一部のOrganizationでは、Workload Identityのプロバイダポリシーで特定のアトリビュート(例: `repository_owner`)が制限されている場合があります。ポリシーエラーが発生した場合は、アトリビュートマッピングを見直してください。 2. **ロールの反映遅延**: IAMロールやWorkload Identityの設定は、作成後実際に反映されるまでに数十秒〜数分かかる場合があります。Actionsが一時的に認証エラー(403等)になった場合は、少し時間をおいてから再試行するよう案内してください。
Ver no GitHub