リポジトリ GitHub Actions アクセス許可について
既定では、GitHub Actions の後の GitHub Actions ですべてのリポジトリと組織で有効になります。 GitHub Actions を無効にするか、または Organization のアクションと再生可能なワークフローに制限することができます。 GitHub Actionsの詳細については、「ワークフローの書き込み」を参照してください。
リポジトリの GitHub Actions を有効にすることができます。 GitHub Actions を有効にすると、ワークフローはリポジトリ内および他のパブリックリポジトリに配置されているアクションと再利用可能なワークフローを実行できます。 リポジトリの GitHub Actions を完全に無効にすることができます。 GitHub Actionsを無効化すると、リポジトリでワークフローが実行されなくなります。
または、リポジトリで GitHub Actions を有効にしつつ、ワークフローが実行できるアクション および再利用可能なワークフロー を制限することもできます。
リポジトリの GitHub Actions アクセス許可の管理
リポジトリの GitHub Actions を無効にしたり、リポジトリで使用できるアクション 再利用可能なワークフロー を構成するポリシーを設定したりできます。
メモ
Organization に優先ポリシーがある場合、または優先ポリシーのある Enterprise によって管理されている場合は、これらの設定を管理できない場合があります。 詳細については、「組織のGitHub Actionsの無効化または制限」または「企業でGitHub Actionsのポリシーを適用する」を参照してください。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
![タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。](/assets/cb-28260/images/help/repository/repo-actions-settings.png)
-
左側のサイドバーで、 [Actions] をクリックしてから [General] をクリックします。
-
[Actions permissions] で、オプションを選択します。
[Allow OWNER, and select non-OWNER, actions and reusable workflows](所有者を許可し、非所有者、アクション、再利用可能なワークフローを選択する) を選択した場合、組織内のアクションおよび再利用可能なワークフローが許可され、追加のオプションで、その他の特定のアクションや再利用可能なワークフローも許可されます。 詳細については、「選択したアクションと再利用可能なワークフローの実行の許可」を参照してください。
組織からのみ再利用可能なワークフローとアクションを許可する場合、ポリシーにより GitHub で作成したアクションへのすべてのアクセスがブロックされます。 たとえば、
actions/checkoutアクションにはアクセスできません。[Require actions to be pinned to a full-length commit SHA] を有効にすると、すべてのアクションは、使用するには完全な長さのコミット SHA に固定する必要があります。 これには、organization からのアクションと、GitHub によって作成されたアクションが含まれます。 再利用可能なワークフローは、引き続きタグで参照できます。詳細については、「セキュリティで保護された使用に関するリファレンス」を参照してください。
-
[保存] をクリックします。
選択アクション 再利用可能なワークフロー 実行を許可する
[Allow OWNER, and select non-OWNER, actions and reusable workflows](所有者を許可し、非所有者、アクション、再利用可能なワークフローを選択する) を選択すると、ローカル アクション再利用可能なワークフローが許可され、他の特定のアクション再利用可能なワークフローを許可するための追加のオプションがあります
メモ
Organization に優先ポリシーがある場合、または優先ポリシーのある Enterprise によって管理されている場合は、これらの設定を管理できない場合があります。 詳細については、「組織のGitHub Actionsの無効化または制限」または「企業でGitHub Actionsのポリシーを適用する」を参照してください。
-
**GitHubによって作成されたアクションを許可する:**GitHubによって作成されたすべてのアクションをワークフローで使用することを許可できます。 GitHubによって作成されたアクションは、
actionsおよびgithub組織にあります。 詳細については、「actionsおよびgithub組織」を参照してください。 -
認証済みの作成者による Marketplace アクションを許可: 検証済みの作成者によって作成されたすべての GitHub Marketplace アクションをワークフローで使用することを許可できます。 GitHubがパートナー組織としてアクションの作成者を確認すると、のアクションの横にGitHub Marketplace バッジが表示されます。
-
許可 またはブロック 指定されたアクション 再利用可能なワークフロー: 特定の組織やリポジトリでアクション 再利用可能なワークフロー を使用するようにワークフローを制限できます。 指定したアクションは、1000 を超えるアクションに設定できません。
特定のタグへのアクセスを制限したり、アクション または再利用可能なワークフローの SHA をコミットしたりするにはワークフローで使用されるのと同じ構文を使用して、アクション または再利用可能なワークフローを選択します。
- アクションの場合の構文は、
OWNER/REPOSITORY@TAG-OR-SHAです。 たとえば、タグを選択するにはactions/javascript-action@v1.0.1を使用し、SHA を選択するにはactions/javascript-action@a824008085750b8e136effc585c3cd6082bd575fを使用します。 詳しくは、「ワークフローで事前に作成されたビルディング ブロックを使用する」をご覧ください。 - 再利用可能なワークフローの場合の構文は、
OWNER/REPOSITORY/PATH/FILENAME@TAG-OR-SHAです。 たとえば、「octo-org/another-repo/.github/workflows/workflow.yml@v1」のように入力します。 詳しくは、「ワークフローを再利用する」をご覧ください。
パターンのマッチには、ワイルドカード文字
*を使用できます。 たとえば、で始まる組織のすべてのアクションワークフローspace-org再利用可能なワークフローを許可するには、space-org*/*を指定できます。 octocat で始まるリポジトリ内のすべてのアクション ワークフロー 再利用可能なワークフローを許可するには、*/octocat**@*を使用できます。*ワイルドカードの使用の詳細については、「GitHub Actions のワークフロー構文」を参照してください。 - アクションの場合の構文は、
, を使用して、パターンを区切ります。 たとえば、および組織からのすべてのアクションoctocatおよび再利用可能なワークフローoctokitを許可するには、octocat/*, octokit/*を指定できます。
パターンをブロックするには、 ! プレフィックスを使用します。 たとえば、組織のすべてのアクション再利用可能なワークフローspace-orgを許可し、space-org/actionなどの特定のアクションをブロックするには、space-org/*, !space-org/action@*を指定できます。 既定では、一覧で指定されたアクション および再利用可能なワークフロー のみが許可されます。 すべてのアクションと再利用可能なワークフローを許可しつつ、特定のアクションをブロックするには、*, !space-org/action@*を指定できます。
この手順では、特定のアクション 再利用可能なワークフロー を一覧に追加する方法を示します。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
![タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。](/assets/cb-28260/images/help/repository/repo-actions-settings.png)
-
左側のサイドバーで、 [Actions] をクリックしてから [General] をクリックします。
-
[アクションのアクセス許可] で [Allow OWNER, and select non-OWNER, actions and reusable workflows](所有者を許可し、非所有者、アクション、再利用可能なワークフローを選択する) を選択し、必要なアクションを一覧に追加します。
-
[保存] をクリックします。
パブリック リポジトリでのフォークからワークフローへの変更を制御する
誰でもパブリック リポジトリをフォークし、リポジトリの GitHub Actions ワークフローへの変更を提案するプル要求を送信できます。 フォークからのワークフローはシークレットなどの機密データにアクセスできませんが、悪用目的で変更された場合、メンテナが迷惑を被る可能性があります。
これを防ぐために、外部コラボレータのパブリックリポジトリへのPull Requestではワークフローは自動的には動作せず、まず承認が必要になることがあります。 [Approval for running fork pull request workflows from contributors] の設定によっては、パブリック リポジトリに対するプルリクエストのワークフローは自動的に実行されず、次の場合は承認が必要になることがあります。
- pull request は、選択したポリシーに基づいて承認を必要とするユーザーによって作成される。
- pull request イベントは、選択したポリシーに基づいて承認を必要とするユーザーによってトリガーされる。
デフォルトでは、すべての初めてのコントリビューターは、ワークフローを実行するのに承認を必要とします。
pull_request_target イベントによってトリガーされるワークフローは、ベース ブランチのコンテキストで実行されます。 ベース ブランチは信頼済みと見なされるため、承認設定に関係なく、これらのイベントによってトリガーされるワークフローは常に実行されます。
pull_request_target イベントの詳細については、「ワークフローをトリガーするイベント」を参照してください。
警告
これらのワークフロー承認ポリシーは、 GitHub Actions ランナーでワークフローを実行できるユーザーのセットを制限することを目的としており、 GitHubホストランナーを使用すると、予期しないリソースとコンピューティングの消費につながる可能性があります。 自己ホストランナーを使用している場合、設定された承認ポリシーでの承認をユーザーがバイパスすることが許可されているか、pull request が承認されていると、悪意のある可能性のあるユーザーが制御するワークフロー コードが自動的に実行されます。 インフラストラクチャでこのコードを実行するリスクを考慮する必要があり、使用されている承認設定に関係なく、自己ホストランナーのセキュリティに関する推奨事項を確認して従う必要があります。 「セキュリティで保護された使用に関するリファレンス」をご覧ください。
リポジトリのこの動作は、以下の手順を使用して構成できます。 この設定を変更すると、組織またはエンタープライズのレベルで設定された構成がオーバーライドされます。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
![タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。](/assets/cb-28260/images/help/repository/repo-actions-settings.png)
-
左側のサイドバーで、 [Actions] をクリックしてから [General] をクリックします。
-
コントリビューターからのフォーク プルリクエスト ワークフローの実行の承認 で、そのユーザーによるプルリクエストに対してワークフローを実行する前に承認が必要となるユーザーの範囲を選択します。 pull request の作成者と、ワークフローをトリガーする pull request イベントのアクターの両方がチェックされて、承認が必要かどうかを判断されます。 承認が必要な場合、リポジトリへの書き込みアクセス権限を持つユーザーが、実行される pull request ワークフローを承認する必要があります。 「フォークからのワークフロー実行の承認」を参照してください。
警告
初めてのコントリビューターに対してのみ承認を要求する場合 (最初の 2 つの設定)、リポジトリにコミットまたは pull request をマージしたことのあるユーザーは承認を必要としません。 悪意のあるユーザーは、作成した pull request の一部として、または別のユーザーの pull request の一部として、単純な入力ミスや他の無害な変更をメンテナに受け入れさせることで、この要件を満たす可能性があります。
- GitHub に初めて参加するコントリビューターの承認を必須にする GitHubの新規ユーザーであり、かつこのリポジトリにコミットまたはプルリクエストが一度もマージされたことがないユーザーのみ、ワークフローの実行に承認が必要です。
- 初めての共同作成者の承認が必要です。 このリポジトリにコミットまたは pull request をマージしたことがないユーザーについてのみ、ワークフローを実行するための承認が必要です。
- [Require approval for all external contributors] このリポジトリのメンバーまたは所有者ではないすべてのユーザー、および organization のメンバーではないすべてのユーザーは、ワークフローを実行するために承認が必要です。
-
[保存] をクリックして設定を適用します。
このポリシーが適用されるワークフロー実行の承認の詳細については、「フォークからのワークフロー実行の承認」を参照してください。
プライベート リポジトリのフォークに対するワークフローを有効にする
プライベート リポジトリのフォークの利用に依存している場合、pull_request イベントの際にユーザーがどのようにワークフローを実行できるかを制御するポリシーを構成できます。 プライベート リポジトリでのみ使用でき、組織またはリポジトリに対してこれらのポリシー設定を構成できます。
組織でポリシーが無効になっている場合、リポジトリに対して有効にすることはできません。
- フォーク pull request からワークフローを実行する - 読み取り専用権限を持ち、シークレットへのアクセス権を持たない
GITHUB_TOKENを使用して、フォーク pull request からワークフローを実行できます。 - pull request からワークフローに書き込みトークンを送信する - フォークからの pull request で書き込み権限を持つ
GITHUB_TOKENを使用できます。 - pull request からワークフローにシークレットを送信する - すべてのシークレットを pull request で利用できるようにします。
- フォークの pull request ワークフローに対して承認を要求する - 書き込みアクセス許可のないコラボレーターからの pull request に対するワークフロー実行には、実行する前に書き込みアクセス許可を持つ誰かからの承認が必要になります。
プライベート リポジトリのフォーク ポリシーを構成する
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
![タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。](/assets/cb-28260/images/help/repository/repo-actions-settings.png)
-
左側のサイドバーで、 [Actions] をクリックしてから [General] をクリックします。
-
[Fork pull request workflows](pull request ワークフローのフォーク) で、オプションを選択します。
-
[保存] をクリックして設定を適用します。
リポジトリに対する GITHUB_TOKEN のアクセス許可の設定
GITHUB_TOKEN に付与される既定のアクセス許可を設定できます。
GITHUB_TOKEN の詳細については、「ワークフローでの認証に GITHUB_TOKEN を使用する」を参照してください。 デフォルトとして制限付きアクセス許可セットを選択するか、より幅広く許可をする設定を適用できます。
既定のアクセス許可は、組織の設定でも構成できます。 ご利用のリポジトリが組織に属し、その組織の設定でより制限の厳しい既定値が選択されている場合、リポジトリの設定で同じオプションが選択されて、制限の緩いオプションは無効になります。
リポジトリへの書き込みアクセス権を持っている人は誰でも、ワークフロー ファイルの GITHUB_TOKEN キーを編集して、permissions に付与されたアクセス許可を変更でき、必要に応じて追加または削除できます。 詳細については、permissions をご覧ください。
既定の GITHUB_TOKEN のアクセス許可の構成
既定では、個人用アカウントで新しいリポジトリを作成するとき、GITHUB_TOKEN は contents と packages スコープの読み取りアクセス権のみを持っています。 組織で新しいリポジトリを作成すると、その設定は組織の設定で構成されているものから継承されます。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
![タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。](/assets/cb-28260/images/help/repository/repo-actions-settings.png)
-
左側のサイドバーで、 [Actions] をクリックしてから [General] をクリックします。
-
[Workflow permissions] で、
GITHUB_TOKENに対してすべてのアクセス許可での読み取りと書き込みのアクセスを許可するか (制限の緩い設定)、contentsとpackagesアクセス許可での読み取りアクセスのみを許可するか (制限の厳しい設定) を選びます。 -
[保存] をクリックして設定を適用します。
GitHub Actionsがプル要求を作成または承認できないようにする
GitHub Actions ワークフローでの pull request の作成または承認を許可するか禁止するかを選択できます。
既定では、個人用アカウントで新しいリポジトリを作成する場合、ワークフローは pull request の作成または承認を許可されません。 組織で新しいリポジトリを作成すると、その設定は組織の設定で構成されているものから継承されます。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
![タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。](/assets/cb-28260/images/help/repository/repo-actions-settings.png)
-
左側のサイドバーで、 [Actions] をクリックしてから [General] をクリックします。
-
ワークフローのアクセス許可で、"Allow GitHub Actions to create and approve pull requests" の設定を使用して、
GITHUB_TOKENがプルリクエストを作成および承認できるかどうかを設定します。 -
[保存] をクリックして設定を適用します。
プライベート リポジトリ内のコンポーネントへのアクセスを許可する
プライベート リポジトリ内のアクションと再利用可能なワークフローは、同じユーザーまたは組織 同じ組織内の他のプライベート リポジトリと共有できます。 プライベート リポジトリの詳細については、「リポジトリについて」を参照してください。
以下の手順を使って、プライベート リポジトリ内のアクションと再利用可能なワークフローにリポジトリの外部からアクセスできるかどうかを構成できます。 詳細については、「プライベート リポジトリからのアクションとワークフローの共有 と アクションとワークフローを組織と共有する. または、REST API を使用して、アクセスのレベルを設定したり、詳しい情報を取得したりすることができます。 詳細については、「GitHub Actionsアクセス許可の REST API エンドポイント」および「GitHub Actionsアクセス許可の REST API エンドポイント」を参照してください。
プライベート リポジトリのアクセスの管理
-
GitHubで、プライベート リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [ 設定] をクリックします。
-
左側のサイドバーで、 [Actions] をクリックしてから [General] をクリックします。
-
[アクセス] で、次のいずれかのアクセス設定を選択します。
- [アクセスできない] - 他のリポジトリ内のワークフローは、このリポジトリにアクセスできません。
- <ユーザー名> ユーザーが所有するリポジトリからアクセスできる - 同じユーザーが所有する他のリポジトリ内のワークフローは、このリポジトリ内のアクションと再利用可能なワークフローにアクセスできます。 アクセスはプライベート リポジトリからのみ許可されます。
-
[保存] をクリックして設定を適用します。
組織内のプライベート リポジトリのアクセスの管理
-
GitHubで、プライベート リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [ 設定] をクリックします。
-
左側のサイドバーで、 [Actions] をクリックしてから [General] をクリックします。
-
[アクセス] で、次のいずれかのアクセス設定を選択します。
- [アクセスできない] - 他のリポジトリ内のワークフローは、このリポジトリにアクセスできません。
- <組織名> 組織内のリポジトリからアクセスできる - <組織名> 組織の一部である他のリポジトリ内の再利用可能なワークフローから、このリポジトリ内のアクションとワークフローにアクセスできます。 アクセスはプライベート リポジトリからのみ許可されます。
-
[保存] をクリックして設定を適用します。
リポジトリのキャッシュ設定の構成
リポジトリのキャッシュリテンション期間とサイズ設定を構成できます。 この機能はオプトインされ、ファイル、 GitHub Pro、 GitHub Team、または GitHub Enterprise Cloud プランの支払い方法を持つユーザーが利用できます。
キャッシュ設定を構成した組織がリポジトリを所有している場合は、組織によって設定された最大値までの制限を構成できます。 リポジトリがユーザー所有の場合は、グローバル最大値まで構成できます。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
![タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。](/assets/cb-28260/images/help/repository/repo-actions-settings.png)
-
左側のサイドバーで、 [Actions] をクリックしてから [General] をクリックします。
-
[キャッシュ設定] セクションで、次の設定を構成します。
- キャッシュリテンション期間: キャッシュを保持してから自動削除されるまでの日数。 既定値は 7 日です。 パブリック リポジトリの場合は最大 90 日間、プライベート リポジトリと内部リポジトリの場合は最大 365 日を構成できます (または、組織によって設定された制限まで)。
- キャッシュ サイズの削除制限: リポジトリ内のすべてのキャッシュの最大合計サイズ。 既定値は 10 GB です。 リポジトリあたり最大 10,000 GB を構成できます (または、組織が設定した上限まで)。 この制限を超えると、古いキャッシュが削除され、新しいキャッシュ用のスペースが作成されます。
-
[保存] をクリックして設定を適用します。
キャッシュの削除の詳細については、「 依存関係キャッシュのリファレンス」を参照してください。
リポジトリ内の GitHub Actions 成果物とログの保持期間の構成
リポジトリ内の成果物とログ GitHub Actions 保持期間を構成できます。
デフォルトでは、ワークフローによって生成された成果物とログファイルは、90日間保持された後自動的に削除されます。 保持期間は、リポジトリの種類によって調整できます。
- パブリックリポジトリの場合: この保持時間を1日から90日の間で変更できます。
- プライベートのリポジトリの場合: この保持期間を 1 から 400 日の間で変更できます。
保持期間をカスタマイズした場合、適用されるのは新しい成果物とログファイルに対してであり、既存のオブジェクトにさかのぼっては適用されません。 管理されたリポジトリ及びOrganizationについては、最大の保持期間は管理するOrganizationあるいはEnterpriseによって設定された上限を超えることはできません。
ワークフローによって作成された特定のアーティファクトのカスタム保存期間を定義することもできます。 詳しくは、「ワークフローの成果物を削除する」をご覧ください。
リポジトリの成果物とログの保持期間の設定
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
![タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。](/assets/cb-28260/images/help/repository/repo-actions-settings.png)
-
左側のサイドバーで、 [Actions] をクリックしてから [General] をクリックします。
-
[Artifact and log retention] に、新しい値を入力します。
-
[保存] をクリックして変更を適用します。