GitHub Enterprise Cloud 向けに、Enterprise アカウントへ GitHub App を載せる enterprise installations が 10 月 23 日付で一般提供。エンタープライズおよび組織の自動化でクラシック PAT を GitHub App に置き換えやすくなり、ガバナンス・セキュリティ・管理設定向けの permission と API が新設・拡張。組織レベルで残っていた二点の API ギャップも解消。

Enterprise に載せた App は enterprise 向け permission だけが付与され、組織やリポジトリの permission は別途各組織へのインストールが必要。Enterprise インストール単体では webhook も届かない。多数組織へ同じ App を載せる場合は、Enterprise 配下組織へのインストール自動化 API を使う。

#新規 permission と API

App 設定で workflow に必要な permission を選ぶ。

  • Enterprise organization and repository policies(read/write): EnterpriseOwnerInfo の policy フィールド参照。プライベートリポジトリの fork、既定のリポジトリアクセス、可視性変更、作成・削除、issue 削除、コラボレーター招待、deploy key、保護ブランチ更新、dependency insights、organization/repository projects 設定の更新。
  • Enterprise bypass requests(read): push-rule と repository-policy の bypass 要求を読む。
  • Enterprise settings(read/write): EnterpriseOwnerInfo 経由で server installations や organization 招待を含む enterprise データを読む。プロフィール更新。organization/repository policies へのアクセスには read が前提。
  • Enterprise two-factor authentication(read/write): 2FA フィールドの参照と、要件・禁止認証方式の更新。
  • Enterprise / organization verifiable domains(write): enterprise または organization の VerifiableDomain。
  • Enterprise / organization IP allowlist(read/write): IpAllowListEntry の CRUD、allowlist 強制、GitHub Apps 信頼、Enterprise Managed Users のユーザー単位強制の切替。
  • Enterprise access restrictions(write): enterprise access restrictions の有効・無効。
  • Enterprise repository rulesets(write): enterprise rules REST と GraphQL の RepositoryRuleset。

#既存 permission の拡張

  • Enterprise people(read/write): EnterpriseRepositoryInfo と EnterpriseOwnerInfo.outsideCollaborators 経由のリポジトリ詳細。owner または member ロールで自分を organization に追加。
  • Enterprise billing(write): Marketplace の member purchasing 設定の更新。

同一変更は GitHub Enterprise Server 3.24 にも載る予定。

#参考文献