Skip to main content

Organization について GitHub Actions を無効化または制限する

Organization のオーナーは Organization の GitHub Actions を無効化、有効化、制限することができます。

Organization の GitHub Actions 権限について

既定では、GitHub Actions はすべてのリポジトリと Organization で有効になります。 GitHub Actions を無効にするか、または Enterprise のアクションと再生可能なワークフローに制限することができます。 GitHub Actions の詳細については、「GitHub Actions について」を参照してください。

Organization のすべてのリポジトリについて GitHub Actions を有効化することができます。 GitHub Actions を有効にすると、ワークフローは、リポジトリ内および他のパブリックまたは内部リポジトリに配置されているアクションと再利用可能なワークフローを実行できます。 組織のすべてのリポジトリについて、GitHub Actions を無効化できます。 GitHub Actionsを無効化すると、リポジトリでワークフローが実行されなくなります。

または、Organization 内のすべてのリポジトリに対して GitHub Actions を有効にできますが、ワークフローが実行できるアクションと再利用可能なワークフローにアクションを制限できます。

Organization の GitHub Actions 権限の管理

組織内のすべてのリポジトリに対して GitHub Actions を無効にするか、特定のリポジトリのみを許可するかを選択できます。 また、パブリック アクションと再利用可能なワークフローの使用を制限して、Enterprise 内に存在するローカル アクションと再利用可能なワークフローのみを使用できるようにすることもできます。

注: 組織が、優先ポリシーのあるエンタープライズによって管理されている場合、これらの設定を管理できない場合があります。 詳細については、「Enforcing policies for GitHub Actions in your enterprise (エンタープライズでフォーク pull request のポリシーを適用する)」を参照してください。

  1. GitHub.com の右上隅にあるプロファイル写真をクリックし、 [自分の Organization] をクリックします。 プロファイル メニューの組織 2. 組織の隣の [設定] をクリックします。 [設定] ボタン 1. In the left sidebar, click Actions, then click General.

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

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

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

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

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

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

[ [Allow enterprise, and select non-enterprise, 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 の右上隅にあるプロファイル写真をクリックし、 [自分の Organization] をクリックします。 プロファイル メニューの組織 2. 組織の隣の [設定] をクリックします。 [設定] ボタン 1. In the left sidebar, click Actions, then click General.

  2. [ポリシー] で [ [Allow enterprise, and select non-enterprise, actions and reusable workflows](エンタープライズを許可し、非エンタープライズ、アクション、再利用可能なワークフローを選択する) ] を選び、必要なアクションと再利用可能なワークフローを一覧に追加します。

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

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

パブリックフォークからのワークフローに対する必須の承認の設定

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

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

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

Organizationのこの動作は、以下の手順で設定できます。 この設定を変更すると、Enterpriseレベルでの設定が上書きされます。

  1. GitHub.com の右上隅にあるプロファイル写真をクリックし、 [自分の Organization] をクリックします。 プロファイル メニューの組織 2. 組織の隣の [設定] をクリックします。 [設定] ボタン 1. In the left sidebar, click Actions, then click General. 1. [外部コラボレーターからの pull request ワークフローのフォーク] の下で、オプションを選択します。 このオプションは、制限が緩いものから厳しいものへとリストされています。

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

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

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

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

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

Enterpriseでポリシーが無効化されていると、それをOrganizationで有効化することはできません。Organizationでポリシーが無効化されていると、それをリポジトリで有効化することはできません。 Organizationがポリシーを有効化していると、そのポリシーを個々のリポジトリで無効化することはできません。

  • フォーク pull request からワークフローを実行する - 読み取り専用権限を持ち、シークレットへのアクセス権を持たない GITHUB_TOKEN を使用して、フォーク pull request からワークフローを実行できます。
  • pull request からワークフローに書き込みトークンを送信する - フォークからの pull request で書き込み権限を持つ GITHUB_TOKEN を使用できます。
  • pull request からワークフローにシークレットを送信する - すべてのシークレットを pull request で利用できるようにします。

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

  1. GitHub.com の右上隅にあるプロファイル写真をクリックし、 [自分の Organization] をクリックします。 プロファイル メニューの組織 2. 組織の隣の [設定] をクリックします。 [設定] ボタン 1. In the left sidebar, click Actions, then click General. 1. [Fork pull request workflows](pull request ワークフローのフォーク) で、オプションを選択します。 例: このリポジトリのアクションを有効化、無効化、または制限する
  2. [保存] をクリックして設定を適用します。

組織の GITHUB_TOKEN のアクセス許可の設定

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

組織またはリポジトリの設定で、GITHUB_TOKEN の既定のアクセス許可を設定できます。 Organization の設定でデフォルトとして制限付きのオプションを選択した場合、そのオプションは Organization 内のリポジトリの設定でも選択され、制限の緩いオプションは無効化されます。 Organization が GitHub Enterprise に属しており、Enterprise 設定でさらに制約の強いデフォルトが選択されている場合、Organization の設定でより制限の緩いデフォルトは選択できません。

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

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

既定では、新しい Organization を作成した場合、GITHUB_TOKEN には contents スコープの読み取りアクセス権のみが付与されます。

  1. GitHub.com の右上隅にあるプロファイル写真をクリックし、 [自分のプロファイル] をクリックします。 プロファイル写真 1. GitHub.com の右上隅にあるプロファイル写真をクリックし、 [自分の Organization] をクリックします。 プロファイル メニューの組織 2. 組織の隣の [設定] をクリックします。 [設定] ボタン 1. In the left sidebar, click Actions, then click General.

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

    このOrganizationのGITHUB_TOKENの権限を設定

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

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

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

既定では、新しい Organization を作成するとき、ワークフローで pull request を作成または承認することは許可されていません。

  1. GitHub.com の右上隅にあるプロファイル写真をクリックし、 [自分のプロファイル] をクリックします。 プロファイル写真 1. GitHub.com の右上隅にあるプロファイル写真をクリックし、 [自分の Organization] をクリックします。 プロファイル メニューの組織 2. 組織の隣の [設定] をクリックします。 [設定] ボタン 1. In the left sidebar, click Actions, then click General.

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

    この組織の GITHUB_TOKEN pull request 承認アクセス許可を設定します

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