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

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

Organization の GitHub Actions 権限について

デフォルトでは、GitHub ActionsはすべてのリポジトリとOrganizationで有効になります。 You can choose to disable GitHub Actions or limit them to local actions only, which means that people can only use actions that exist in your repository. GitHub Actions の詳細は、「GitHub Actionsについて」を参照してください。

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

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

Organization の GitHub Actions 権限の管理

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

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

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

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

  1. GitHubの右上で、プロフィール写真をクリックし、続いてYour organizations(あなたのOrganization)をクリックしてください。 プロフィールメニューのあなたのOrganization
  2. Organizationの隣のSettings(設定)をクリックしてください。 設定ボタン
  3. サイドバーでActions(アクション)をクリックしてください。
  4. [Policies] でオプションを選択します。 この Organization に対するアクションポリシーを設定する
  5. [Save] をクリックします。

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

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

  • Allow actions created by GitHub(GitHubが作成したアクションのを許可): GitHubが作成したすべてのアクションをワークフローから使うことを許可できます。 Actions created by GitHub are located in the actions and github organizations. For more information, see the actions and github organizations.

  • Allow Marketplace actions by verified creators: You can allow all GitHub Marketplace actions created by verified creators to be used by workflows. When GitHub has verified the creator of the action as a partner organization, the badge is displayed next to the action in 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のためのワークフロー構文」を参照してください。

    ノート:**Allow specified actions**オプションが使えるのは、GitHub Free、GitHub Pro、OrganizationのGitHub Free、GitHub Teamプランのパブリックリポジトリでのみです。

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

  1. GitHubの右上で、プロフィール写真をクリックし、続いてYour organizations(あなたのOrganization)をクリックしてください。 プロフィールメニューのあなたのOrganization
  2. Organizationの隣のSettings(設定)をクリックしてください。 設定ボタン
  3. サイドバーでActions(アクション)をクリックしてください。
  4. [Policies] で [Allow select actions] を選択し、必要なアクションをリストに追加します。 許可リストにアクションを追加する
  5. [Save] をクリックします。

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

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

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

Note: Workflows triggered by pull_request_target events are run in the context of the base branch. Since the base branch is considered trusted, workflows triggered by these events will always run, regardless of approval settings.

You can configure this behavior for an organization using the procedure below. この設定を変更すると、Enterpriseレベルでの設定が上書きされます。

  1. GitHubの右上で、プロフィール写真をクリックし、続いてYour organizations(あなたのOrganization)をクリックしてください。 プロフィールメニューのあなたのOrganization

  2. Organizationの隣のSettings(設定)をクリックしてください。 設定ボタン

  3. サイドバーでActions(アクション)をクリックしてください。

  4. Fork pull request workflows from outside collaborators(外部コラボレーターからのPull Requestワークフローのフォーク)の下で、オプションを選択してください。 このオプションは、制限が緩いものから厳しいものへとリストされています。

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

  5. Save(保存)をクリックして、設定を適用してください。

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

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

プライベートリポジトリのフォークの利用に依存しているなら、ユーザがどのようにpull_requestイベントの際にワークフローを実行できるかを制御するポリシーを設定できます。 Available to private and internal repositories only, you can configure these policy settings for enterprises, organizations, or repositories. 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から利用可能にします。

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

  1. GitHubの右上で、プロフィール写真をクリックし、続いてYour organizations(あなたのOrganization)をクリックしてください。 プロフィールメニューのあなたのOrganization
  2. Organizationの隣のSettings(設定)をクリックしてください。 設定ボタン
  3. サイドバーでActions(アクション)をクリックしてください。
  4. Fork pull request workflows(Pull Requestワークフローのフォーク)の下で、オプションを選択してください。 例: このリポジトリのアクションを有効化、無効化、または制限する
  5. Save(保存)をクリックして、設定を適用してください。

Organizationに対するGITHUB_TOKENの権限の設定

GITHUB_TOKENに付与されるデフォルトの権限を設定できます。 GITHUB_TOKENに関する詳しい情報については「ワークフロー中の認証」を参照してください。 デフォルトとして制限された権限セットか、より幅広く許可をする設定を選択できます。

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

リポジトリに対して書き込みアクセス権を持つ人は、ワークフローファイル中のpermissionsキーを編集することによって、GITHUB_TOKENに付与される権限を変更したり、必要に応じてアクセス権を追加したり削除したりできます。 詳しい情報については権限を参照してください。

デフォルトのGITHUB_TOKEN権限の設定

  1. GitHubの右上で、プロフィール画像をクリックし、続いてYour profile(あなたのプロフィール)をクリックしてください。 プロフィール画像
  2. GitHubの右上で、プロフィール写真をクリックし、続いてYour organizations(あなたのOrganization)をクリックしてください。 プロフィールメニューのあなたのOrganization
  3. Organizationの隣のSettings(設定)をクリックしてください。 設定ボタン
  4. サイドバーでActions(アクション)をクリックしてください。
  5. [Workflow permissions]の下で、GITHUB_TOKENにすべてのスコープに対する読み書きアクセスを持たせたいか、あるいはcontentsスコープに対する読み取りアクセスだけを持たせたいかを選択してください。 このOrganizationのGITHUB_TOKENの権限を設定
  6. Save(保存)をクリックして、設定を適用してください。

このドキュメントは役立ちましたか?

プライバシーポリシー

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

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

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

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

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