<style>
.wx-hero{padding:clamp(22px,5vw,46px);border-radius:24px;color:#f8fafc;background:linear-gradient(135deg,#111827,#312e81 58%,#0f766e);box-shadow:0 18px 42px #11182726}.wx-hero p{max-width:760px;margin:.7rem 0 0}.wx-kpis,.wx-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.wx-kpi,.wx-card{padding:18px;border:1px solid #dbeafe;border-radius:17px;background:#fff}.wx-kpi b{display:block;font-size:clamp(1.35rem,3vw,2rem);color:#4338ca}.wx-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:center;margin:24px 0}.wx-step{height:100%;padding:18px;border-radius:16px;background:#eef2ff;border:1px solid #c7d2fe}.wx-arrow{font-size:1.5rem;color:#4f46e5}.wx-note{padding:18px;border-left:5px solid #f59e0b;border-radius:12px;background:#fffbeb}.wx-good{padding:18px;border-left:5px solid #10b981;border-radius:12px;background:#ecfdf5}.wx-table{display:block;overflow-x:auto}.wx-table table{min-width:680px;width:100%;border-collapse:collapse}.wx-table th,.wx-table td{padding:12px;border:1px solid #dbeafe;text-align:left}.wx-table th{background:#eef2ff}.wx-bar{display:grid;grid-template-columns:8rem 1fr;gap:12px;align-items:center;margin:9px 0}.wx-meter{height:14px;border-radius:999px;background:#e2e8f0;overflow:hidden}.wx-meter i{display:block;height:100%;background:linear-gradient(90deg,#6366f1,#14b8a6)}@media(max-width:720px){.wx-kpis,.wx-cards{grid-template-columns:1fr}.wx-flow{grid-template-columns:1fr}.wx-arrow{transform:rotate(90deg);text-align:center}.wx-bar{grid-template-columns:1fr}}
</style>
GitHub Actions Governance / 2026年9月
「誰が・何で・どのworkflowを動かすか」を実行前に止める
YAML内の条件分岐だけに頼らず、Enterprise・Organization・RepositoryのポリシーとしてCI/CDの起動条件を制御できます。
9月17日一般提供を発表
11月2日対象公開Repoで既定ルールを強制
3つの軸Actor・Event・Workflow path
3行要約
- GitHubは2026年9月17日、ActionsのWorkflow execution protectionsを一般提供しました。
- 実行者、イベント、workflowファイルを許可リスト化し、InsightsとREST APIで集中管理できます。
- 公開リポジトリの一部では、
pull_request_targetを止める既定ルールが11月2日に強制されるため、Evaluate結果の確認が必要です。
背景:workflow自身より上位で止める理由
Actionsのworkflowはリポジトリ内のYAMLです。設定を誤ると、フォークからの未信頼コード、手動実行、権限を持つアカウントなどが、シークレットや書き込み権限を伴う処理へ到達する可能性があります。
特にpull_request_targetはベースリポジトリの文脈で動き、シークレットへアクセスできる場合があります。フォーク側コードをcheckoutして実行すると、いわゆる「Pwn Request」によってパイプラインを汚染される危険があります。実行保護は、workflowが起動する前に中央ポリシーを評価します。
1. Trigger
push、PR、手動実行など
→
2. Policy
ActorとEventを照合
→
3. Workflow
許可時だけ実行
何が新しくなったのか
プレビューから引き継いだActorルールとEventルールに加え、GAでは次が追加されました。
Workflow targeting
`deploy.yml`だけを厳しくするなど、ファイルパス単位で適用できます。
Policy Insights
拒否した実行、またはEvaluate時に拒否される実行を監査できます。
REST API
Enterprise・Organization・RepositoryのルールをPolicy as Codeで管理できます。
Actor・Event・Pathの役割
| 制御軸 | 答える質問 | 実務例 |
| Actor | 誰が起動できるか | 本番deployはReleaseチームと専用Appだけ |
| Event | 何を契機に動くか | `push`と`workflow_dispatch`のみ許可 |
| Workflow path | どのYAMLへ適用するか | `.github/workflows/deploy.yml`を対象化 |
上位と下位のポリシーは重ねて評価されます。Organization側がEnterprise側の制限を緩める用途ではなく、広域の必須ルールに追加の制限を積み上げる設計です。
11月2日に変わること
既存の該当Eventポリシーがない公開リポジトリには、pull_request_targetを無効化する既定ルールが導入されます。まずEvaluateで影響が表示され、2026年11月2日に対象ルールが自動でActiveになります。PrivateとInternalリポジトリは、この既定ルールの対象外です。
誤解しやすい点
これは`pull_request_target`という機能自体の廃止ではありません。必要なworkflowは、内容を監査したうえでworkflow pathを限定して明示的に許可できます。
導入手順:いきなりActiveにしない
- Settings → Actions → Policiesを開き、対象レベルを決めます。
pull_request_target、workflow_dispatch、本番deployのworkflowを棚卸しします。
- Enterprise Cloudなら、最初はEvaluateでポリシーを作成します。
- Policy Insightsを通常の開発周期以上観測し、正当なBot、App、チームを特定します。
- 本番系workflowからPath条件を狭く適用し、Activeへ切り替えます。
- 拒否件数、例外、ポリシー変更を継続監視します。
推奨する分割
「全Repoへ一つの巨大ルール」ではなく、公開RepoのPR、本番deploy、手動運用、Bot実行など、目的ごとに小さなポリシーを重ねます。GitHub公式も複数の明確なポリシーを推奨しています。
APIで棚卸しを自動化する
Actions policies APIはバージョン管理されています。Organizationの一覧取得例です。
gh api --paginate \
-H "X-GitHub-Api-Version: 2026-03-10" \
/orgs/ORG/actions/policies
ポリシー作成・更新にはOrganizationのAdministration(write)など、対象レベルに応じた管理権限が必要です。トークンをCIへ置く場合は権限と有効期間を最小化し、変更自体をレビュー対象にします。
移行の進み具合を数値化する
指標は「設定したRepo数」だけでなく、Evaluateで拒否見込みとなった実行数、例外workflow数、未分類Actor数、Active化後の誤拒否数を追います。
開発者と企業への影響
開発者は、以前は動いていたworkflowがポリシー違反で実行前に失敗する可能性があります。エラーメッセージとPolicy Insightsを確認し、YAMLの再実行だけで解決しないことを運用手順へ明記します。
企業側では、CI/CDの起動権限をリポジトリ管理者任せにせず統制できます。一方で、中央ルールの誤設定は多数のRepoを同時停止させます。Evaluate、限定展開、変更承認、緊急ロールバック担当をセットで設計してください。
リスクと限界
- 実行保護は、許可済みworkflow内部の脆弱なスクリプトや過剰な
GITHUB_TOKEN権限を修正しません。
- EvaluateはGitHub Enterprise Cloud向けです。利用プランと対象リポジトリ条件を確認してください。
- DependabotやGitHub Appも、workflowを起動するIDとして許可が必要になる場合があります。
pull_request_targetを許可するだけで安全になるわけではありません。未信頼ブランチのコードを実行しない設計が必要です。
今後注目すべき点
11月2日の既定ルール強制後に発生する拒否件数、利用可能なActor・Eventルールの追加、API schemaと管理権限の変更を確認します。11月直前ではなく、通常のPR・Bot・リリース処理が一巡する期間を確保してEvaluateを始めるのが安全です。
最終確認日:2026年9月22日
参照元