GitHub Advanced Security 製品について
GitHub には、コードの質を改善し維持できる多くの機能があります。 依存関係グラフや Dependabot alertsなど、これらの一部はすべてのプランに含まれています。
その他のセキュリティ機能では、GitHub の Advanced Security 製品のいずれかを購入する必要があります。
- GitHub Secret Protection: secret scanning やプッシュ保護など、シークレットの漏洩の検出と防止に役立つ機能が含まれます。
- GitHub Code Security: code scanning、プレミアム Dependabot 機能、依存関係レビューなど、脆弱性の検出と修正に役立つ機能が含まれます。
これらの機能の一部 (code scanning や secret scanning など) は、既定でパブリック リポジトリに対して有効になっています。 プライベート リポジトリまたは内部リポジトリで機能を実行するには、関連する GitHub Advanced Security 製品を購入する必要があります。
GitHub Code Security または GitHub Secret Protection を購入するには、GitHub Team プランまたは GitHub Enterprise プランが必要です。 詳細については、「GitHub のプラン」および「GitHub Advanced Security の課金について」を参照してください。
GitHub Code Security
GitHub Code Security では次の機能が得られます。
-
Code scanning: CodeQL またはサードパーティ ツールを使用して、コード内で潜在的なセキュリティの脆弱性やコーディング エラーを検索します。
-
CodeQL CLI: ソフトウェア プロジェクトで CodeQL プロセスをローカル実行し、code scanning の結果を生成して GitHub にアップロードします。
-
Copilot Autofix: code scanning アラートに対して自動的に生成された修正プログラムを取得します。
-
セキュリティ キャンペーン: 大幅にセキュリティ負債を削減します。
-
Dependabot 用の カスタム自動トリアージ ルール: どのアラートに対して Dependabot alerts のセキュリティ更新プログラムを無視、再通知、トリガーすべきかを自動化することで、大量の Dependabot alerts を管理します。
-
依存関係の確認: プル要求をマージする前に、依存関係に対する変更の影響をすべて示し、脆弱なバージョンの詳細を表示します。
-
セキュリティの概要: organization 全体のリスク分散を把握します。
次の表は、パブリック リポジトリとプライベート リポジトリに対する GitHub Code Security 機能の可用性をまとめたものです。
パブリック リポジトリ GitHub Secret Protection なし | プライベート リポジトリ GitHub Code Security なし | パブリック リポジトリまたはプライベート リポジトリ GitHub Code Security あり | |
---|---|---|---|
Code scanning | |||
CodeQL CLI | |||
Copilot Autofix | |||
セキュリティ キャンペーン | |||
カスタム自動トリアージ ルール | |||
依存関係の確認 | |||
セキュリティの概要 |
機能について詳しくは、「GitHub セキュリティ機能」を参照してください。
GitHub Secret Protection
GitHub Secret Protection では次の機能が得られます。
-
Secret scanning: リポジトリにチェックインされているシークレット (たとえばキーやトークンなど) を検出し、アラートを受信します。
-
プッシュ保護: シークレットを含むコミットを禁止することで、シークレットの漏洩を発生前に防ぎます。
-
Copilot シークレット スキャン: AI を活用して、リポジトリにチェックインされたパスワードなどの非構造化資格情報を検出します。
-
カスタム パターン: organization 固有のシークレットの漏洩を検出および防止します。
-
プッシュ保護の委任されたバイパスと委任されたアラートの無視: Enterprise 内で機密性の高いアクションを実行できるユーザーをより適切に制御するための承認プロセスを実装し、ガバナンスを大規模にサポートします。
-
セキュリティの概要: organization 全体のリスク分散を理解します。
次の表は、パブリック リポジトリとプライベート リポジトリに対する GitHub Secret Protection 機能の可用性をまとめたものです。
パブリック リポジトリ GitHub Secret Protection なし | プライベート リポジトリ GitHub Secret Protection なし | パブリック リポジトリまたはプライベート リポジトリ GitHub Secret Protection あり | |
---|---|---|---|
シークレット スキャン | |||
プッシュ保護 | |||
Copilot シークレット スキャン | |||
カスタムパターン | |||
プッシュ保護のための委任されたバイパス | |||
セキュリティの概要 |
個々の機能の詳細については、「GitHub セキュリティ機能」を参照してください。
Organization の秘密漏洩の状態の評価を実行する
GitHub Team と GitHub Enterprise を使用する organization は無料のレポートを実行して、organization 内のコードをスキャンし漏洩した秘密を検出できます。 これにより、organization 内のリポジトリにおける秘密漏洩に関する現在の状態を把握できるだけでなく、GitHub Secret Protection によって防止できた可能性がある既存の秘密漏洩の数を確認できます。 「シークレット リスク評価について」を参照してください。
Enterprise 内で GitHub Code Security と GitHub Secret Protection
GitHub Code Security と GitHub Secret Protection をデプロイするために知っておくべきことの概要を学び、Microsoft が推奨するロールアウト フェーズを確認するには、「GitHub Advanced Security を大規模に導入する」を参照してください。
機能の有効化
GitHub-recommended security configuration (organization 内のリポジトリに適用できるセキュリティ有効化設定のコレクション) を使用すると、セキュリティ機能を大規模にすばやく有効にすることができます。 その後、global settings を使うと、organization レベルで Advanced Security の機能をさらにカスタマイズできます。 「大規模なセキュリティ機能の有効化について」をご覧ください。
GitHub Team プランまたは GitHub Enterprise プランを使用している場合は、チーム全体または Enterprise 全体のライセンス使用がライセンス ページに表示されます。 「Advanced Security のライセンスに基づく使用状況の表示とダウンロード」を参照してください。
GitHub Copilot Chat を活用してセキュリティ アラートを把握する
さらに、GitHub Copilot Enterprise ライセンスを使用すると、GitHub Copilot Chat に質問することで、organization 内のリポジトリにあるセキュリティ アラートについて理解を深めるヒントを得ることができます (code scanning、secret scanning、および Dependabot alerts)。 「GitHub で GitHub Copilot に質問をする」を参照してください。
GitHub Advanced Security の認定資格について
GitHub Certifications で GitHub Advanced Security の認定資格を取得すると、自分の知識をアピールできます。 この認定は、脆弱性の識別、ワークフローのセキュリティ、堅牢なセキュリティ実装に関する専門知識の証明となります。 「GitHub Certifications について」を参照してください。
GitHub Advanced Security と Azure Repos について
GitHub Advanced Security を Azure Repos と共に使用する場合は、リソース サイトの「GitHub Advanced Security と Azure DevOps」を参照してください。 ドキュメントについては、Microsoft Learn で「GitHub Advanced Security for Azure DevOps を構成する」を参照してください。