CopilotのRead-only権限でも組織に料金が発生する理由

Tech
閲覧数 4

夜間の解析エージェントが、設定した人のログインに依存していることがあります。GitHubは10月27日、組織にインストールしたGitHub AppからCopilot SDKを使うサーバー間認証をパブリックプレビューで公開しました。サービスはアプリのインストールのIDで動けます。注目したいのは、必要なRead-only権限でも料金が発生する点です。

読み取り専用でも無料にはなりません

アプリに組織権限Copilot RequestsのRead-onlyを付与し、短命のインストールトークンを使います。利用と請求はインストールを所有する組織に帰属します。この読み取り権限は、AIクレジットを消費するリクエストを認可するものです。

独自制作の比較図。上は組織アプリのCopilot Requests: Read-only、下はActionsのGITHUB_TOKENとcopilot-requests: writeです。製品画面や実行結果ではありません。
独自制作の比較図。上は組織アプリのCopilot Requests: Read-only、下はActionsのGITHUB_TOKENとcopilot-requests: writeです。製品画面や実行結果ではありません。

架空の会社に夜間解析アプリと文書要約アプリがあるとします。両方とも読み取り専用でも組織の利用額を増やせます。ファイルを変更しないことと、モデルの処理能力を使うことは両立します。仕事にIDを持たせても推論の費用はなくなりません。

Actionsと外部サーバーは別の入口です

外部サービスや別のCIではインストールトークンを発行し、gitHubTokenなどSDKの明示的なオプションで渡します。対象は組織インストールだけで、個人やEnterpriseへのインストールは含みません。先に紹介したEnterpriseインストールの一般提供とは適用範囲が違います。

組織リポジトリのGitHub ActionsではGITHUB_TOKENを使えます。こちらはYAMLのcopilot-requests: writeと、Allow use of Copilot CLI billed to the organizationポリシーが必要です。組織アプリ認証にはそのポリシーは不要です。Read-onlyとwriteは異なる認証経路の表記です。

1時間後も同じIDで動かすには

インストールトークンは1時間で失効します。新しいトークンを作るだけでなく実行プロセスへ渡す必要があります。公式文書では子プロセスのクライアントを新トークンで再起動し、プロセス内や既存ランタイムではホストを再起動します。ファイルを書き換えただけでは反映を保証できません。

useLoggedInUser: falseは環境変数のトークンを含む自動認証情報探索を無効にします。その場合はSDKオプションへ明示的に渡します。手元だけ動くときは個人ログインへの意図しないフォールバックと、実際にランタイムへ渡したトークンを分けて確認できます。

仮想の時間軸。1時間の有効期限前に新しいトークンを発行し実行環境にも反映します。実測ではない独自制作図です。
仮想の時間軸。1時間の有効期限前に新しいトークンを発行し実行環境にも反映します。実測ではない独自制作図です。

アプリ別に見えても予算は組織単位です

組織所有者はAI利用CSVのorganizationとapp_client_idでアプリ利用を探せます。インストール一覧APIのclient_idと照合するとapp_slugが分かります。WebのAI利用画面には現時点でこの区分はありません。アプリ別の予算も作れず、通知だけの予算は使用を止めません。

インストールの一時停止や削除は他の組織リソースへのアクセスも止めます。今回の価値はモデルと支出のポリシー内で自動処理の責任主体が明確になることです。個人からサービスへ移す際にはトークンの更新経路と費用の所有者も一緒に移す必要があります。

公式資料

GitHub Changelog · 2026-10-27

GitHub Docs · Server-to-server authentication

GitHub Docs · Manage app Copilot access