Skip to main content

GitHub Advanced Security について

GitHub には、Advanced Security ライセンスの下でユーザーが使用できる追加のセキュリティ機能があります。これらの機能は、GitHub.com 上の公開リポジトリでも有効になります。

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

{data variables.product.prodname_GH_advanced_security %} は、GitHub Enterprise Cloud と GitHub Enterprise Server のエンタープライズアカウントで使用できます。{data variables.product.prodname_GH_advanced_security %}の一部の機能は、GitHub.comのパブリック・リポジトリでも使用できます。詳細については、「GitHub のプラン」を参照してください。

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

GitHub Advanced Security について

GitHubには、コードの質を改善し維持できる多くの機能があります。 依存関係グラフや Dependabot alertsなど、これらの一部はすべてのプランに含まれています。 それ以外のセキュリティ機能には、GitHub Advanced Security (GHAS) ライセンスを GitHub.com のパブリック リポジトリとは別のリポジトリで実行することが必要です。

GitHub Advanced Security の無料試用については、「GitHub Advanced Security の無料試用版を設定する」を参照してください。

GitHub Advanced Security のライセンスの購入については、「GitHub Advanced Security へのサインアップ」をご覧ください。

注: Azure ReposとGitHub Advanced Securityを使用する場合は、リソースサイトの「GitHub Advanced Security と Azure DevOps」を参照してください。 ドキュメントについては、Microsoft Learn で「GitHub Advanced Security for Azure DevOps を構成する」を参照してください。

Advanced Security機能について

GitHub Advanced Security ライセンスには、次の追加機能が用意されています:

  • Code scanning - CodeQL またはサードパーティ ツールを使用して、潜在的なセキュリティの脆弱性とコーディング エラーを検索してください。 詳細については、「コード スキャンについて」および「CodeQL によるコード スキャンについて」を参照してください。

  • CodeQL CLI - ソフトウェア プロジェクトで CodeQL プロセスをローカル実行したり、code scanning の結果を生成し、GitHub Enterprise Cloud にアップロードしたりします。 詳しくは、「CodeQL CLI について」を参照してください。

  • Secret scanning - リポジトリ にチェックインされているシークレット (キーやトークンなど) を検出します。 プッシュ保護が有効になっている場合、GitHub はシークレットがリポジトリにプッシュされたときにも検出されます。 ユーザーに対するシークレット スキャンニング アラート とプッシュ保護は、GitHub.com 上のすべての ユーザー所有の パブリック リポジトリで利用でき、無料です。詳細については、「シークレット スキャンについて」および「リポジトリと組織のプッシュ保護」を参照してください。

  • カスタム自動トリアージ ルール - 大規模な Dependabot alerts の管理に役立ちます。 カスタム自動トリアージ ルール を使用すると、無視、スヌーズ、または Dependabot のセキュリティ アップデートをトリガーするアラートを制御できます。 詳細については、「Dependabot アラートについて」および「自動トリアージ ルールをカスタマイズして Dependabot アラートの優先度を設定する」を参照してください。

  • 依存関係の確認 プル要求をマージする前に、依存関係に対する変更の影響をすべて示し、脆弱なバージョンの詳細を表示します。 詳しくは、「依存関係の確認について」を参照してください。

次の表は、パブリックおよびプライベート リポジトリに対する GitHub Advanced Security 機能の可用性をまとめたものです。

パブリック リポジトリプライベート リポジトリ
Advanced Security なし
プライベート リポジトリ
Advanced Security あり
コード スキャン
CodeQL CLI
シークレット スキャン
カスタム自動トリアージ ルール
依存関係の確認

開発中の Advanced Security 機能の詳細については、「GitHub パブリック ロードマップ」を参照してください。 すべてのセキュリティ機能の概要については、「GitHub セキュリティ機能」をご覧ください。

GitHub Advanced Security 機能は、GitHub.com のすべてのパブリック リポジトリで有効になります。 GitHub Enterprise Cloud と Advanced Security を使用する組織では、プライベートおよび内部リポジトリ用のこれらの機能を追加で有効にすることができます。

エンタープライズでの GitHub Advanced Security のデプロイ

概要レベルで GitHub Advanced Security のデプロイの計画について知っておく必要があることと、推奨されるロールアウト フェーズの確認については、「大規模な GitHub Advanced Security の導入」をご覧ください。

Advanced Security 機能の有効化

組織内のリポジトリに適用できるセキュリティ有効化設定のコレクションである GitHub-recommended security configuration を使用すると、大規模なセキュリティ機能をすばやく有効にできます。 その後、global settings を使用して、さらに組織レベルで GitHub Advanced Security 機能をカスタマイズできます。 「大規模なセキュリティ機能の有効化について」をご覧ください。

注: Security configurations と global settings はベータ版で提供されており、変更される可能性があります。

パブリック リポジトリの場合、これらの機能は永続的に有効になり、コードがパブリックでなくなっているようにプロジェクトの可視性を変更した場合にのみ無効にすることができます。

他のリポジトリの場合、Enterprise アカウントのライセンスを取得すると、組織またはリポジトリ レベルでこれらの機能を有効または無効にできます。詳しくは、「組織のセキュリティおよび分析設定を管理する」と「リポジトリのセキュリティと分析設定を管理する」をご覧ください。

Enterprise アカウントをお持ちの場合は、Enterprise ライセンス ページに Enterprise 全体のライセンス使用状況が表示されます。 詳しくは、「GitHub Advanced Security の使用状況を表示する」を参照してください。

GitHub Advanced Security 認定について

GitHub Certifications で GitHub Advanced Security 認定を取得すると、コード セキュリティに関する知識を強調できます。 この認定は、脆弱性の識別、ワークフローのセキュリティ、堅牢なセキュリティ実装に関する専門知識の証明となります。 詳しくは、「GitHub Certifications について」を参照してください。

参考資料