Skip to main content

リポジトリの GitHub Actions の設定を管理する

特定のリポジトリの 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 権限を管理する

リポジトリの GitHub Actions を無効にしたり、リポジトリで使用できるアクションと再利用可能なワークフローを構成するポリシーを設定したりすることもできます。

注: Organization に優先ポリシーがある場合、または優先ポリシーのある Enterprise によって管理されている場合は、これらの設定を管理できない場合があります。 詳細については、「Organization の GitHub Actions の無効化または制限」または「Enterprise での GitHub Actions に対するポリシーの適用」を参照してください。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン 1. 左側のサイドバーで、 [アクション][全般] の順にクリックします。

  2. [Actions permissions] で、オプションを選択します。

    **[Allow *OWNER*, and select non-*OWNER*, actions and reusable workflows]\(所有者を許可し、非所有者、アクション、再利用可能なワークフローを選択する\)**  を選択した場合、組織内のアクションおよび再利用可能なワークフローが許可され、追加のオプションで、その他の特定のアクションや再利用可能なワークフローも許可されます。 詳細については、「[選択したアクションと再利用可能なワークフローの実行の許可](#allowing-select-actions-and-reusable-workflows-to-run)」を参照してください。
    

    組織からのみ再利用可能なワークフローとアクションを許可する場合、ポリシーにより GitHub で作成したアクションへのすべてのアクセスがブロックされます。 たとえば、actions/checkout アクションにはアクセスできません。

    このリポジトリのアクション ポリシーを設定する

  3. [保存] をクリックします。

選択したアクションと再利用可能なワークフローの実行の許可

[ [Allow OWNER, and select non-OWNER, actions and reusable workflows](所有者を許可し、非所有者、アクション、再利用可能なワークフローを選択する) ] を選ぶと、ローカル アクションと再利用可能なワークフローが許可され、他の特定のアクションや再利用可能なワークフローを許可するための追加のオプションがあります。

  • [GitHub によって作成されたアクションを許可する]: GitHub によって作成されたすべてのアクションを、ワークフローで使用できるようにします。 GitHub によって作成されたアクションは、actions および github 組織にあります。 詳しくは、actions および github の Organization をご覧ください。

  • [検証済みの作成者による Marketplace アクションを許可する]: 検証済みの作成者によって作成されたすべての GitHub Marketplace アクションを、ワークフローで使用できるようにします。 GitHubがアクションの作者をパートナーOrganizationとして検証すると、GitHub Marketplaceでアクションの隣にバッジが表示されるようになります。

  • [指定したアクションと再利用可能なワークフローを許可する]: ワークフローで使用できるアクションと再利用可能なワークフローを、特定の組織とリポジトリのものに制限します。

    アクションまたは再利用可能なワークフローの特定のタグまたはコミット SHA へのアクセスを制限するには、ワークフローで使われているのと同じ構文を使って、アクションまたは再利用可能なワークフローを選びます。

    • アクションの場合の構文は、<OWNER>/<REPO>@<TAG OR SHA> です。 たとえば、タグを選択するには actions/javascript-action@v1.0.1 を使用し、SHA を選択するには actions/javascript-action@172239021f7ba04fe7327647b213799853a9eb89 を使用します。 詳細については、「アクションの検索とカスタマイズ」を参照してください。
    • 再利用可能なワークフローの場合の構文は、<OWNER>/<REPO>/<PATH>/<FILENAME>@<TAG OR SHA> です。 たとえば、octo-org/another-repo/.github/workflows/workflow.yml@v1 のように指定します。 詳細については、「ワークフローの再利用」を参照してください。

    パターンのマッチには、ワイルドカード文字 * を使用できます。 たとえば、space-org で始まる Organization のすべてのアクションと再利用可能なワークフローを許可するには、space-org*/* と指定できます。 octocat で始まるリポジトリのすべてのアクションと再利用可能なワークフローを許可するには、*/octocat**@* を使用できます。 * ワイルドカードの使用の詳細については、「GitHub Actions のワークフロー構文」を参照してください。

    注: [指定したアクションと再利用可能なワークフローを許可する] オプションを使用できるのは、GitHub Free、GitHub Pro、Organization の GitHub Free、または GitHub Team プランのパブリック リポジトリのみです。

この手順では、特定のアクションと再利用可能なワークフローを許可リストに追加する方法を示します。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン 1. 左側のサイドバーで、 [アクション][全般] の順にクリックします。

  2. [アクションのアクセス許可] で、[ [Allow OWNER, and select non-OWNER, actions and reusable workflows](所有者を許可し、非所有者、アクション、再利用可能なワークフローを選択する) ] を選択して、必要なアクションを一覧に追加します。

    許可リストにアクションと再利用可能なワークフローを追加する

  3. [保存] をクリックします。

パブリック リポジトリでのフォークからワークフローへの変更を制御する

パブリックリポジトリをフォークし、リポジトリのGitHub Actionsワークフローへの変更を提案するPull Requestをサブミットすることは誰でもできます。 フォークからのワークフローはシークレットなどの機密データにアクセスできませんが、悪用目的で変更された場合、メンテナが迷惑を被る可能性があります。

これを防ぐために、外部コラボレータのパブリックリポジトリへのPull Requestではワークフローは自動的には動作せず、まず承認が必要になることがあります。 デフォルトでは、すべての初めてのコントリビューターは、ワークフローを実行するのに承認を必要とします。

注: pull_request_target イベントによってトリガーされるワークフローは、ベース ブランチのコンテキストで実行されます。 ベース ブランチは信頼済みと見なされるため、承認設定に関係なく、これらのイベントによってトリガーされるワークフローは常に実行されます。

リポジトリのこの動作は、以下の手順を使用して構成できます。 この設定を変更すると、Organization または Enterprise のレベルで設定された構成がオーバーライドされます。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン 1. 左側のサイドバーで、 [アクション][全般] の順にクリックします。 1. [外部コラボレーターからの pull request ワークフローのフォーク] の下で、オプションを選択します。 このオプションは、制限が緩いものから厳しいものへとリストされています。

    パブリックフォークからのワークフローの認証の設定

  2. [保存] をクリックして設定を適用します。

このポリシーが適用されるワークフロー実行の承認の詳細については、「パブリック フォークで実行されるワークフローの実行を承認する」を参照してください。

プライベート リポジトリのフォークに対するワークフローを有効にする

プライベート リポジトリのフォークの利用に依存している場合、pull_request イベントの際にユーザーがどのようにワークフローを実行できるかを制御するポリシーを構成できます。 プライベート リポジトリでのみ使用でき、組織またはリポジトリに対してこれらのポリシー設定を構成できます。

Organization でポリシーが無効になっている場合、リポジトリに対して有効にすることはできません。

  • フォーク pull request からワークフローを実行する - 読み取り専用権限を持ち、シークレットへのアクセス権を持たない GITHUB_TOKEN を使用して、フォーク pull request からワークフローを実行できます。
  • pull request からワークフローに書き込みトークンを送信する - フォークからの pull request で書き込み権限を持つ GITHUB_TOKEN を使用できます。
  • pull request からワークフローにシークレットを送信する - すべてのシークレットを pull request で利用できるようにします。
  • フォークの pull request ワークフローに対して承認を要求する - 書き込みアクセス許可のないコラボレーターからの pull request に対するワークフロー実行には、実行する前に書き込みアクセス許可を持つ誰かからの承認が必要になります。

プライベート リポジトリのフォーク ポリシーを構成する

  1. GitHub.com で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン 1. 左側のサイドバーで、 [アクション][全般] の順にクリックします。 1. [Fork pull request workflows](pull request ワークフローのフォーク) で、オプションを選択します。 例: このリポジトリのアクションを有効化、無効化、または制限する

  2. [保存] をクリックして設定を適用します。

リポジトリに対する GITHUB_TOKEN のアクセス許可の設定

GITHUB_TOKEN に付与される既定のアクセス許可を設定できます。 GITHUB_TOKEN の詳細については、「自動トークン認証」を参照してください。 デフォルトとして制限付きアクセス許可セットを選択するか、より幅広く許可をする設定を適用できます。

既定のアクセス許可は、Organization の設定でも構成できます。 ご利用のリポジトリが組織に属し、その組織の設定でより制限の厳しい既定値が選択されている場合、リポジトリの設定で同じオプションが選択されて、制限の緩いオプションは無効になります。

リポジトリへの書き込みアクセス権を持っている人は誰でも、ワークフロー ファイルの permissions キーを編集して、GITHUB_TOKEN に付与されたアクセス許可を変更でき、必要に応じて追加または削除できます。 詳細については、permissions をご覧ください。

既定の GITHUB_TOKEN のアクセス許可の構成

既定では、個人アカウントに新しいリポジトリを作成すると、GITHUB_TOKEN には contents スコープの読み取りアクセス権のみが付与されます。 組織で新しいリポジトリを作成すると、その設定は組織の設定で構成されているものから継承されます。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン 1. 左側のサイドバーで、 [アクション][全般] の順にクリックします。

  2. [ワークフローのアクセス許可] で、GITHUB_TOKEN に対して、すべてのスコープでの読み取りと書き込みアクセスを許可するか、contents スコープでの読み取りアクセスのみを許可するかを選択します。

    このリポジトリに GITHUB_TOKEN アクセス許可を設定します

  3. [保存] をクリックして設定を適用します。

GitHub Actions による pull request の作成または承認を回避する

GitHub Actions ワークフローが pull request を作成または承認することを許可または禁止するかを選択できます。

既定では、個人用アカウントで新しいリポジトリを作成する場合、ワークフローは pull request の作成または承認を許可されません。 組織で新しいリポジトリを作成すると、その設定は組織の設定で構成されているものから継承されます。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン 1. 左側のサイドバーで、 [アクション][全般] の順にクリックします。

  2. [ワークフローのアクセス許可] にある、 [GitHub Actions での pull request の作成と承認を許可する] 設定を使用して、GITHUB_TOKEN で pull request の作成と承認ができるかどうかを構成します。

    このリポジトリの GITHUB_TOKEN アクセス許可を設定する

  3. [保存] をクリックして設定を適用します。

プライベート リポジトリ内のコンポーネントへのアクセスを許可する

プライベート リポジトリ内のアクションと再利用可能なワークフローは、同じ Organization または Enterprise 内の同じユーザーまたは Organization が所有する。 プライベート リポジトリについて詳しくは、「リポジトリの可視性について」を参照してください。

以下の手順を使って、プライベート リポジトリ内のアクションと再利用可能なワークフローにリポジトリの外部からアクセスできるかどうかを構成できます。 詳しくは、「プライベート リポジトリからのアクションとワークフローの共有」と「Organization とのアクションとワークフローの共有」または、REST API を使用して、アクセス レベルの詳細を設定または取得することもできます。 詳しくは、「リポジトリの外部にあるワークフローに対するアクセスのレベルを取得する」と「リポジトリの外部にあるワークフローに対するアクセスのレベルを設定する」を参照してください。

プライベート リポジトリのアクセスの管理

  1. GitHub で、プライベート リポジトリのメイン ページに移動します。

  2. リポジトリ名の下の [ 設定] をクリックします。

  3. 左側のサイドバーで、 [アクション][全般] の順にクリックします。

  4. [アクセス] で、次のいずれかのアクセス設定を選択します。

    • [アクセスできない] - 他のリポジトリ内のワークフローは、このリポジトリにアクセスできません。
    • <ユーザー名> ユーザーが所有するリポジトリからアクセスできる - 同じユーザーが所有する他のリポジトリ内のワークフローは、このリポジトリ内のアクションと再利用可能なワークフローにアクセスできます。 アクセスはプライベート リポジトリからのみ許可されます。
  5. [保存] をクリックして設定を適用します。

Organization 内のプライベート リポジトリのアクセスの管理

  1. GitHub で、プライベート リポジトリのメイン ページに移動します。

  2. リポジトリ名の下の [ 設定] をクリックします。

  3. 左側のサイドバーで、 [アクション][全般] の順にクリックします。

  4. [アクセス] で、次のいずれかのアクセス設定を選択します。

    • [アクセスできない] - 他のリポジトリ内のワークフローは、このリポジトリにアクセスできません。
    • <Organization 名> Organization 内のリポジトリからアクセスできる - <Organization 名> Organization の一部である他のリポジトリ内の再利用可能なワークフローから、このリポジトリ内のアクションとワークフローにアクセスできます。 アクセスはプライベート リポジトリからのみ許可されます。
  5. [保存] をクリックして設定を適用します。

リポジトリ内の GitHub Actions の成果物とログの保持期間を構成する

リポジトリ内の GitHub Actions アーティファクトとログの保持期間を設定できます。

デフォルトでは、ワークフローによって生成された成果物とログファイルは、90日間保持された後自動的に削除されます。 保持期間は、リポジトリの種類によって調整できます。

  • パブリックリポジトリの場合: この保持時間を1日から90日の間で変更できます。
  • プライベートのリポジトリの場合: この保持期間を 1 から 400 日の間で変更できます。

保持期間をカスタマイズした場合、適用されるのは新しい成果物とログファイルに対してであり、既存のオブジェクトにさかのぼっては適用されません。 管理されたリポジトリ及びOrganizationについては、最大の保持期間は管理するOrganizationあるいはEnterpriseによって設定された上限を超えることはできません。

ワークフローによって作成された特定のアーティファクトのカスタム保存期間を定義することもできます。 詳細については、「成果物の保持期間を設定する」を参照してください。

リポジトリの保持期間を設定する

  1. GitHub.com で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン 1. 左側のサイドバーで、 [アクション][全般] の順にクリックします。 1. [成果物とログの保持] で、新しい値を入力します。
  2. [保存] をクリックして変更を適用します。