ワークフロー実行保護を使用すると、 GitHub Actions ワークフローをトリガーできるユーザーと、ワークフローの実行を許可するイベントを制御する許可リストを定義できます。 詳細については、 AUTOTITLE を参照してください。
メモ
GitHub では、パブリック リポジトリの pull_request_target イベントをブロックする既定のポリシーが追加されました。 このポリシーは、2026 年 11 月 2 日に適用されます。 「pull_request_target を安全に使用する」を参照してください。
保護を追加する準備
ルールセットと同様に、ワークフロー実行保護は、同じリポジトリ、組織、または企業内の他の保護と共にレイヤー化されます。
アカウントごとに 1 つの大きなポリシーを作成するのではなく、明確に定義された複数のポリシーを作成し、アカウント レベル間で保護を階層化することをお勧めします。 エンタープライズ所有者は、広範で交渉不可能なポリシーの保護をエンタープライズ レベルで作成できます。 その後、組織の所有者とリポジトリ管理者は、これらの制限に追加できます。
定義するポリシーごとに、次のことを検討します。
-
保護の対象となる組織またはリポジトリ。 たとえば、オープンソース リポジトリでは、ワークフローをトリガーできるユーザーに対してより厳しい制限が必要になる場合があります。 リポジトリのターゲットは、可視性、デプロイの状態、カスタム プロパティなどの要因によって行うことができます。
- 展開の状態は、組織の linked artifacts pageから取得されます。 これが重要な要素である場合は、成果物のデプロイ時にデプロイ レコードをアップロードしていることを確認してください。 「リンクされた成果物について」を参照してください。
- カスタム プロパティを作成して割り当てるには、「 AUTOTITLE」を参照してください。
-
保護されるワークフロー 。 たとえば、運用コードをデプロイするワークフローには特定のレベルの保護が必要な場合がありますが、機密性の低い自動化では同じレベルの保護が必要でない場合があります。 特定のワークフロー パスまたは必要なワークフローにポリシーのスコープを設定できます。
-
対象のリポジトリでこれらのワークフローを実行できるユーザー 。 これは、特定のロールを持つユーザー、選択したボット アカウント、または特定のチームである可能性があります。 組織またはエンタープライズ チームでこれらのユーザーをグループ化して、複数のルールセット間で簡単に連絡して参照できるようにすることを検討してください。 「組織チームの作成」または「Enterprise チームの作成」を参照してください。
ワークフロー実行ポリシーの作成
まず、作業中のアカウント レベルの新しいアクション ポリシーを作成します。
リポジトリまたは組織の場合:
- [設定] タブをクリックします。
- 左側のサイドバーの [ アクション] で、[ ポリシー] をクリックします。
企業の場合:
- ** ポリシー** タブをクリックします。
- 左側のサイドバーで、[ アクション]、[ ポリシー] の順にクリックします。
ヒント
プログラムでポリシーを管理するには、 GitHub Actions ポリシーの REST API エンドポイント を参照してください。
ポリシーの構成
次に、新しいポリシーを作成します。
- ポリシーの名前を選択します。
- 強制状態を選択します。 [評価] (GitHub Enterprise Cloudのみ) を選択すると、ポリシー分析情報でユーザーが制限に達したタイミングを監視できます。
- 目的のワークフロー、組織、またはリポジトリを対象とします。
- 次のワークフロー実行保護を構成します。
アクターを制限する
既定では、リポジトリへの書き込みアクセス権を持つすべてのユーザーがワークフローをトリガーできます。 アクター ルールを使用すると、コードを提供するユーザーと CI を実行するユーザーを分離できるため、共同作成者にワークフローを実行する権限を付与せずに書き込みアクセス権を付与できます。
許可されたアクターのみが、対象となるリポジトリで指定されたワークフローを実行できます。 イベントも制限すると、これらのユーザーは許可されたイベントを含むワークフローのみをトリガーできます。 許可されていないアクターは、指定されたワークフローをまったく実行できません。
GitHub 機能は、 GitHub Actionsで実行される組み込みプロセスに対するこれらの制限から除外されます。 ただし、dependabot[bot]など、GitHub機能に関連付けられている ID によって実行する必要があるワークフローを作成した場合は、この ID を許可されたアクターとして追加する必要があります。
イベントを制限する
イベント ルールは、 push、 pull_request、 pull_request_target、 workflow_dispatchなど、許可されるイベントを制御します。
ポリシーの評価
ポリシーの分析情報を表示して、ブロックされている (アクティブなポリシーの場合) またはブロックされた ("評価" ポリシーの場合) ワークフローの実行を確認できます。 これは、ポリシーが意図したとおりに動作し、不要な摩擦を引き起こさないことを確認するのに適した方法です。
分析情報を表示するには、[ ポリシー分析情報 ] ページをクリックします。 これは、リポジトリ、組織、またはエンタープライズ サイドバーの GitHub Actions ポリシーのページのすぐ下にあります。