変更要約: GH-200 第4章を新規作成(ガバナンス=利用ポリシー無効/全許可/GitHub製/検証済み/許可リスト・SHA ピン留め必須化・再利用コンポーネントのアクセス設定・フォークPR承認・波及、ランナーの大規模管理=GitHubホスト/セルフホスト・ランナーグループ・IP許可リスト・プリインストール/toolcache/setup-*・トラブルシュート、暗号化シークレットと変数=組織/リポジトリ/環境のスコープと優先順位・secrets/vars・マスキング・REST API 管理)
4.3暗号化シークレットと変数
組織・リポジトリ・環境(environment)の各レベルでの暗号化シークレットと変数のスコープと優先順位、ワークフローやアクションでの参照とマスキング、そして REST API によるプログラム的な管理を理解します。
ワークフローで使う機密値(API トークン・パスワード等)は 暗号化シークレット として、機密でない設定値は 変数(variables) として保存します。どちらも 3 つのレベル にスコープを持てます——組織(organization)・リポジトリ(repository)・環境(environment)。組織レベルに置けば複数リポジトリで共有でき(アクセスできるリポジトリを限定可能)、環境レベルに置けばその環境(本番など)のデプロイ時だけ使えます。
4.3.1スコープと優先順位
同じ名前のシークレット/変数が複数レベルに存在する場合、より狭いスコープが優先 されます——一般に「環境 > リポジトリ > 組織」の順で、環境レベルの値が最優先です。これにより、組織で共通の既定値を置きつつ、特定の環境やリポジトリだけ上書きできます。環境シークレット は環境の保護ルール(必須レビュアー等)と組み合わさるため、「本番のシークレットは承認後にしか使われない」という制御も実現できます。
| レベル | 共有範囲 | 典型用途 |
|---|---|---|
| 組織 | 複数リポジトリで共有(許可リポジトリ限定可) | 共通のトークン/設定 |
| リポジトリ | そのリポジトリ全体 | リポジトリ固有の値 |
| 環境 | その環境のデプロイ時のみ | 本番/ステージング個別の機密 |

