Skip to main content

GitHub Advanced Security の課金について

GitHub Advanced Security のコストを計算する方法と、ライセンスを最大限に活用する方法について説明します。

この機能を使用できるユーザーについて

GitHub Advanced Security は、GitHub Enterprise Cloud と GitHub Enterprise Server の Enterprise アカウントで使用できます。詳細については、「GitHub のプラン」を参照してください。

GitHub Advanced Security for Azure DevOps の詳細については、Microsoft Learn の「GitHub Advanced Security for Azure DevOps を構成する」を参照してください。

GitHub Advanced Securityのライセンスについて

GitHub Advanced Securityのライセンスを購入してアップロードすれば、ユーザがコードセキュリティの追加機能を使えるようにできます。 GitHub Advanced Security の詳細については、「GitHub Advanced Security について」を参照してください。

ライセンス サイズ

GitHub Advanced Security の各ライセンスによって、それらの機能を使用できるアカウントの最大数が指定されます。 対象のリポジトリの少なくとも 1 つでこの機能が有効にされているアクティブなコミッターごとに、1 つのライセンスを使います。 コミットの 1 つが過去 90 日以内にリポジトリにプッシュされた場合、そのコミットの作成日に関係なく、コミッターはアクティブと見なされます。

ユーザをEnterpriseアカウントから削除すると、そのユーザのライセンスは24時間以内に解放されます。

サイト管理者ダッシュボードでインスタンスのアクティブなコミッターの数を生成することで、GitHub Advanced Security に必要になるライセンスの数を判断することができます。 「Web UI からインスタンスを管理する」を参照してください。

ライセンス制限を超えている場合、GitHub Advanced Security はすでに有効になっているすべてのリポジトリで引き続き動作します。 ただし、GitHub Advanced Security が新しいリポジトリに対して有効になっている組織では、機能が非アクティブな状態でリポジトリが作成されます。 さらに、既存のリポジトリに対して GitHub Advanced Security を有効にするオプションは使用できません。

一部のリポジトリで GitHub Advanced Security を非アクティブにするか、ライセンスのサイズを増やして、ライセンスをいくつか空けるとすぐに、GitHub Advanced Security をアクティブにするオプションが再び通常どおり動作するようになります。

Enterprise アカウントが所有する Organization による Advanced Security の使用を許可または禁止するポリシーを適用できます。 「エンタープライズのコード セキュリティと分析のためのポリシーの適用」を参照してください。

リポジトリのライセンスの詳細については、「GitHub Advanced Security の使用状況を表示する」を参照してください。

アクティブなコミッターと一意のコミッター

お使いの GitHub Enterprise Server インスタンス 上の GitHub Advanced Security に対するアクティブなコミッターの 2 つの値を記録して表示します。

  • [Active committers] は、少なくとも 1 つの organization 所有のリポジトリ、または 1 つのユーザー所有リポジトリにコントリビュートしたことがあり、Enterprise でライセンスを使用している、コミッターの数です。 つまり、組織のメンバー、外部のコラボレーターでもあるか、エンタープライズ内の組織に参加するための保留中の招待状を持っており、GitHub App のボットではないということです。 ボットとマシンのアカウントの違いについては、「GitHub Apps と OAuth アプリの違い」を参照してください。
  • [Unique to this repository/organization] は、このリポジトリまたはこの organization のリポジトリにのみコントリビュートしたアクティブなコミッターの数です。 この値は、そのリポジトリまたは organization の GitHub Advanced Security を非アクティブにすることで解放できるライセンスの数を示します。

一意のアクティブなコミッターがない場合、すべてのアクティブなコミッターは、GitHub Advanced Security を使用する他のリポジトリまたは organization にもコントリビュートしています。 そのリポジトリまたは organization で機能を非アクティブにしても、GitHub Advanced Security のライセンスは解放されません。

Note

ユーザーは、複数のリポジトリまたは organization にコントリビュートできます。 使用状況は Enterprise アカウント全体について測定され、ユーザーがコントリビュートしているリポジトリや organization の数に関係なく、各メンバーが 1 つのライセンスを使うことが保証されます。

リポジトリで Advanced Security をアクティブ化または非アクティブ化すると、GitHub にライセンスの利用に関する変更の概要が表示されます。 GitHub Advanced Security へのアクセスを非アクティブにした場合、一意のアクティブなコミッターによって使われているすべてのライセンスが解放されます。

使用状況の把握

以下のタイムラインの例は、GitHub Advanced Securityのアクティブなコミッター数がEnterprise内で時間と共にどのように変化しうるかを示しています。 月ごとに、イベントと合わせてその結果のコミッター数があります。

Dateその月のイベントコミッター総数
4 月 15 日エンタープライズのメンバーが、リポジトリ X に対して GitHub Advanced Security を有効化。リポジトリ X には、過去 90 日間に 50 個のコミッターがあります。50
5 月 1 日開発者 A が、リポジトリ X で作業しているチームを離れる。開発者 A のコントリビューションは、引き続き 90 日間カウントされます。50
8 月 1 日90 日が経過したので、開発者 A のコントリビューションは必要なライセンスに対してカウントされなくなります。50 - 1 =
49
8 月 15 日エンタープライズのメンバーが、2 つ目のリポジトリであるリポジトリ Y に対して GitHub Advanced Security を有効化。過去 90 日間に、合計 20 人の開発者がそのリポジトリに貢献しました。 この 20 人の開発者のうち、10 人が最近リポジトリ X でも作業しており、追加のライセンスは必要ありません。49 + 10 =
59
8 月 16 日エンタープライズのメンバーが、リポジトリ X に対して GitHub Advanced Security を無効化。リポジトリ X で作業していた 49 人の開発者のうち、10 人はリポジトリ Y でも作業を続けており、このリポジトリでは過去 90 日間に合計 20 人の開発者が貢献しています。49 - 29 =
20

Note

ユーザーには、コミットが過去 90 日間より前に作成されていたとしても、リポジトリのいずれかのブランチにコミットをプッシュしていればアクティブのフラグが立ちます。

GitHub Advanced Securityの最大限の活用

GitHub Advanced Security の優先順位を付けるリポジトリと Organization を決定するときは、それらを確認して次のことを特定する必要があります。

  • 会社の成功にとって最も重要なコードベース。 これらは、脆弱性のあるコード、ハードコーディングされたシークレット、または安全でない依存関係が導入された場合、会社に最も大きな影響を及ぼすプロジェクトです。
  • コミット頻度が最も高いコードベース。 これらは最も積極的に開発されたプロジェクトであるため、セキュリティの問題が発生するリスクが高くなります。

これらの organization またはリポジトリに対して GitHub Advanced Security を有効にしてある場合は、一意のアクティブなコミッターに対する課金を発生させることなく追加できる他のコードベースを評価します。 最後に、残りの重要でビジーなコードベースを確認します。 ライセンスが付与されるアクティブなコミッターの数を増やしたい場合は、GitHub の営業チーム にお問い合わせください。

Enterprise が GitHub Enterprise Server と GitHub Enterprise Cloud の両方で GitHub Advanced Security を使用している場合は、環境間でライセンスの使用を同期することで、ユーザーが複数のライセンスを不必要に消費しないようにすることができます。「GitHub Enterprise ServerとGitHub Enterprise Cloudとのライセンス利用状況の同期」を参照してください。