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 Copilot Enterprise ライセンスを使用すると、GitHub Copilot Chat に問い合わせて、組織内のリポジトリにあるセキュリティ アラートについて理解を深めることもできます (code scanning、secret scanning、および Dependabot alerts)。 「Asking GitHub Copilot questions in GitHub」を参照してください。
次の表は、パブリックおよびプライベート リポジトリに対する 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 機能をカスタマイズできます。 「大規模なセキュリティ機能の有効化について」をご覧ください。
パブリック リポジトリの場合、これらの機能は永続的に有効になり、コードがパブリックでなくなっているようにプロジェクトの可視性を変更した場合にのみ無効にすることができます。
他のリポジトリの場合、Enterprise アカウントのライセンスを取得すると、組織またはリポジトリ レベルでこれらの機能を有効または無効にできます。「組織のセキュリティおよび分析設定を管理する」および「リポジトリのセキュリティと分析設定を管理する」を参照してください。
Enterprise アカウントをお持ちの場合は、Enterprise ライセンス ページに Enterprise 全体のライセンス使用状況が表示されます。 「GitHub Advanced Security の使用状況を表示する」を参照してください。
GitHub Advanced Security 認定について
GitHub Certifications で GitHub Advanced Security 認定を取得すると、コード セキュリティに関する知識を強調できます。 この認定は、脆弱性の識別、ワークフローのセキュリティ、堅牢なセキュリティ実装に関する専門知識の証明となります。 「GitHub Certifications について」を参照してください。