変更要約: GH-200 第4章を新規作成(ガバナンス=利用ポリシー無効/全許可/GitHub製/検証済み/許可リスト・SHA ピン留め必須化・再利用コンポーネントのアクセス設定・フォークPR承認・波及、ランナーの大規模管理=GitHubホスト/セルフホスト・ランナーグループ・IP許可リスト・プリインストール/toolcache/setup-*・トラブルシュート、暗号化シークレットと変数=組織/リポジトリ/環境のスコープと優先順位・secrets/vars・マスキング・REST API 管理)
4.1アクションとワークフローのガバナンス
Enterprise/組織で、再利用可能なコンポーネントとテンプレートを定義・管理し、どのアクション/ワークフローを使えるかを制御(許可/拒否リスト、検証済みアクションのみ許可、未検証アクションへの必須レビュアー)し、組織の利用ポリシーを構成する方法を理解します。
組織が GitHub Actions を安全に大規模運用するには、「誰が・どのアクションやワークフローを・どう使えるか」を統制する ガバナンス が要ります。Enterprise/組織/リポジトリの各レベルに設定が下りていき、上位(Enterprise)でかけた制限は下位(組織・リポジトリ)に波及します。GH-200 では、利用ポリシー・アクセス制御・再利用コンポーネントの管理 の 3 つが中心テーマです。
4.1.1アクションの利用ポリシー
Settings の Actions ポリシーでは、許可するアクションの範囲を段階的に選べます——すべて無効、すべて許可、GitHub 製アクションのみ許可、GitHub 製+検証済み(verified creator)のアクションのみ許可、そして 特定のアクションを列挙した許可リスト(owner/* などのパターン指定可)です。最小権限の考え方では、必要なアクションだけを許可リストで通すのが安全です。さらに、外部アクションを使う際に コミット SHA でのピン留めを必須化 するポリシーも設定でき、サプライチェーンの安全性を組織全体で底上げできます。
| ポリシー | 意味 |
|---|---|
| すべて無効 | Actions を一切実行させない |
| すべて許可 | 任意のアクションを許可(最も緩い) |
| GitHub 製のみ | actions/* など公式のみ |
| GitHub 製+検証済み | 検証済み作成者のアクションも許可 |
| 許可リスト | 列挙した特定アクションのみ(推奨) |
4.1.2アクセス制御と再利用コンポーネント
組織内で作った 再利用可能ワークフロー・コンポジットアクション・スターターワークフロー は、アクセス(共有)設定 で「どのリポジトリから参照を許すか」を制御します。プライベートリポジトリ内のコンポーネントを他リポジトリへ公開(共有)するには明示的な許可が必要で、これにより社内標準を配布しつつ、無関係なリポジトリからの参照を防ぐことができます。組織は .github リポジトリで スターターワークフロー(workflow-templates) を集中管理し、標準的な CI/CD の足場をチームに提供します。
4.1.3未検証アクションの承認とフォーク PR ポリシー
外部の貢献が走る場面ではリスク管理が重要です。組織は、フォークからの PR で初めて Actions を動かす際に 承認(approval)を必須 にでき、メンテナーが内容を確認してから実行させられます。これは、外部者がワークフローやシークレットを悪用するのを防ぐ仕組みです。あわせて、フォーク PR から組織のシークレットへアクセスさせない、GITHUB_TOKEN の既定権限を 読み取りに制限 する、といった 組織既定 を設定して、安全側に倒すのが定石です。
頻出:
①アクション利用ポリシー=すべて無効/すべて許可/GitHub 製のみ/GitHub 製+検証済み/許可リスト(最小権限は許可リスト)。
②外部アクションはSHA ピン留めを必須化できる。
③再利用コンポーネントの共有はアクセス設定で制御。
④組織の標準足場は .github の workflow-templates。
⑤フォーク PR は承認必須+シークレット非露出+GITHUB_TOKEN 既定を read に。
⑥上位(Enterprise)の制限は下位へ波及。
混同・注意:
①「GitHub 製のみ」と「GitHub 製+検証済み」は別段階——検証済み作成者を含めるかどうか。
②許可リストはパターン(owner/*)指定可だが、広げすぎると統制が緩む。
③再利用コンポーネントの共有は公開とは別——プライベートのままアクセス設定で限定共有できる。
④フォーク PR 承認を外すと外部コードが無確認で走る。
⑤Enterprise の制限は組織で緩められない(波及方向に注意)。
4.1.4この節のまとめ
- 利用ポリシー=無効/全許可/GitHub製/GitHub製+検証済み/許可リスト(最小権限は許可リスト)、SHA ピン留め必須化も可
- 再利用コンポーネントの共有はアクセス設定で制御、標準足場は .github の workflow-templates
- フォーク PR は承認必須・シークレット非露出・GITHUB_TOKEN 既定を read に
- Enterprise の制限は組織/リポジトリへ波及(下位で緩められない)
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. セキュリティチームが「ワークフローでは社内で承認した特定のアクションだけを使えるようにせよ」と要求しました。最も適切なポリシー設定はどれですか?
Q2. 外部(フォーク)からの PR で、初回に Actions が無確認で実行されるのを防ぎたいです。組織で設定すべきものはどれですか?
Q3. 組織のプライベートリポジトリにある再利用可能ワークフローを、公開せずに特定の社内リポジトリからのみ参照可能にしたいです。どうしますか?
Q4. Enterprise レベルで「GitHub 製と検証済み作成者のアクションのみ許可」と設定しました。配下の組織管理者はこれをどう扱えますか?
Q5. 組織全体で、外部アクションの参照を改ざんに強くするために強制したいポリシーはどれですか?
Q6. 組織のチームに、標準化された CI ワークフローの「出発点となる雛形」を提供したいです。集中管理する場所はどこですか?

