リポジトリの GitHub アクションの無効化や制限

リポジトリのオーナーは、特定のリポジトリの GitHub Actions の無効化、有効化、および制限ができます。

ノート: GitHubホストランナーは、現在GitHub Enterprise Serverでサポートされていません。 GitHubパブリックロードマップで、計画されている将来のサポートに関する詳しい情報を見ることができます。

リポジトリの GitHub Actions 権限について

デフォルトでは、GitHub Enterprise Serverのインスタンス上で有効化されると、GitHub ActionsはすべてのリポジトリとOrganizationで有効になります。 GitHub Actionsを無効化したり、プライベートのアクションのみに制限し、リポジトリ内に存在するアクションだけを使えるようにすることができます。 GitHub Actions の詳細は、「GitHub Actionsについて」を参照してください。

リポジトリで GitHub Actions を有効化できます。 GitHub Actionsを有効化すると、ワークフローはリポジトリ内と、その他の任意のパブリックリポジトリ内のアクションを実行できるようになります。 リポジトリの GitHub Actions を完全に無効化することができます。 GitHub Actionsを無効化すると、リポジトリでワークフローが実行されなくなります。

または、リポジトリで GitHub Actions を有効化して、ワークフローで実行できるアクションを制限することもできます。 ローカルアクションのみを有効化した場合、ワークフローはリポジトリ、Organization、Enterprise内のアクションだけを実行できるようになります。

リポジトリの GitHub Actions 権限を管理する

リポジトリに対するワークフローをすべて無効にすることも、リポジトリでどのアクションを使用できるかを設定するポリシーを設定することもできます。

Allow select actions(アクションの選択を許可)を選択すると、ローカルアクションが許可され、他の特定のアクションを許可するための追加のオプションがあります。 詳しい情報については「特定のアクションの実行の許可」を参照してください。

ローカルアクションだけを許可した場合、そのポリシーはGitHubが作成したアクションへのすべてのアクセスをブロックします。 たとえばactions/checkoutにはアクセスできません。

注釈: Organization に優先ポリシーがあるか、優先ポリシーのある Enterprise アカウントによって管理されている場合、これらの設定を管理できない場合があります。 詳しい情報については、「Organization での GitHub Actions を無効化または制限する」または「Enterprise で GitHub Actions ポリシーを施行する」を参照してください。

  1. GitHub Enterprise Serverで、リポジトリのメインページにアクセスしてください。
  2. リポジトリ名の下で Settings(設定)をクリックしてください。 リポジトリの設定ボタン
  3. サイドバーでActions(アクション)をクリックしてください。
  4. [Actions permissions] で、オプションを選択します。 この Organization に対するアクションポリシーを設定する
  5. [Save] をクリックします。

特定のアクションの実行を許可する

Allow select actions(アクションの選択を許可)を選択すると、ローカルアクションが許可され、他の特定のアクションを許可するための追加のオプションがあります。

  • Allow actions created by GitHub(GitHubが作成したアクションのを許可): GitHubが作成したすべてのアクションをワークフローから使うことを許可できます。 GitHubが作成したアクションは、actions及びgithub Organizationにあります。 詳しい情報についてはactions及びgithub Organizationを参照してください。

  • Allow Marketplace actions by verified creators(検証済み作者によるMarketplaceのアクションを許可):検証済みの作者によるすべてのGitHub Marketplaceアクションをワークフローから使用することを許可できます。 GitHubがアクションの作者をパートナーOrganizationとして検証すると、GitHub Marketplaceでアクションの隣にバッジが表示されるようになります。

  • Allow specified actions(指定したアクションの許可): ワークフローから利用できるのを特定のOrganizationやリポジトリ内のアクションに限定できます。

    アクションの特定のタグあるいはコミットSHAにアクセスを制限するには、アクションを選択するためにワークフローで使われる野と同じ<OWNER>/<REPO>@<TAG OR SHA>構文を使ってください。 たとえばタグを選択するためにactions/javascript-action@v1.0.1、あるいはSHAを選択するためにactions/javascript-action@172239021f7ba04fe7327647b213799853a9eb89というようにします。 詳しい情報については「アクションの発見とカスタマイズ」を参照してください。

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

この手順は、特定のアクションを許可リストに追加する方法を示しています。

  1. GitHub Enterprise Serverで、リポジトリのメインページにアクセスしてください。
  2. リポジトリ名の下で Settings(設定)をクリックしてください。 リポジトリの設定ボタン
  3. サイドバーでActions(アクション)をクリックしてください。
  4. [Actions permissions] で [Allow select actions] を選択し、必要なアクションをリストに追加します。 許可リストにアクションを追加する
  5. [Save] をクリックします。

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

プライベートリポジトリのフォークの利用に依存しているなら、ユーザがどのようにpull_requestイベントの際にワークフローを実行できるかを制御するポリシーを設定できます。 これらのポリシーはプライベートリポジトリだけで使えるもので、Enterprise、Organization、リポジトリに設定できます。 Enterpriseの場合、このポリシーはすべてのOrganizationのすべてのリポジトリに適用されます。

  • Run workflows from fork pull requests(フォークのPull Requestからワークフローを実行) - 読み取りのみの権限を持ち、シークレットにはアクセスできないGITHUB_TOKENを使って、フォークのPull Requestからワークフローを実行することをユーザに許可します。
  • Send write tokens to workflows from pull requests(Pull Requestから書き込みトークンをワークフローに送信) - 書き込み権限を持つGITHUB_TOKENの利用をフォークからのPull Requestに許可します。
  • Send secrets to workflows from pull requests(Pull Requestからワークフローにシークレットを送信) - すべてのシークレットをPull Requestから利用可能にします。

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

  1. GitHub Enterprise Serverで、リポジトリのメインページにアクセスしてください。
  2. リポジトリ名の下で Settings(設定)をクリックしてください。 リポジトリの設定ボタン
  3. サイドバーでActions(アクション)をクリックしてください。
  4. Fork pull request workflows(Pull Requestワークフローのフォーク)の下で、オプションを選択してください。 例: このリポジトリのアクションを有効化、無効化、または制限する
  5. Save(保存)をクリックして、設定を適用してください。

このドキュメントは役立ちましたか?プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?

GitHubコミュニティで質問するサポートへの連絡