mono0926/skills

github-actions-oidc

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

First seen May 22, 2026

Installation

$ npx skills add mono0926/skills --skill github-actions-oidc

Summary

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

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from mono0926/skills · top by installs.

npx skills add mono0926/skills

Browse all from mono0926/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 2
Default branch main
Open issues 1
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 6,635 B
  • docs SUMMARY.md 544 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 23 installs

SKILL.md

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。

  1. 必要な権限・用途: デプロイ対象(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等)に必須 ``

  1. サードパーティ製 Action のメジャーバージョン固定

ワークフロー内で外部のGitHub Actionsを使用する際は、原則として最新のメジャーバージョンを明記して使用してください。 * 例: actions/checkout@v4, google-github-actions/auth@v2, aws-actions/configure-aws-credentials@v4

  1. 本番環境等のアクセス制限(セキュリティの堅牢化)

本番(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等)になった場合は、少し時間をおいてから再試行するよう案内してください。