はじめに
このガイドは、リポジトリでのセキュリティ機能の設定方法を紹介します。 リポジトリのセキュリティ設定を構成するには、リポジトリ管理者かOrganizationのオーナーでなければなりません。
セキュリティの要件はリポジトリに固有のものなので、リポジトリですべての機能を有効化する必要はないかもしれません。 詳しい情報については「GitHubのセキュリティ機能」を参照してください。
セキュリティの機能の中には、Advanced Securityライセンスを持っているOrganizationが所有するプライベートリポジトリとパブリックリポジトリでのみ利用できるものがあります。 詳しい情報については、「GitHub Advanced Security について」を参照してください。
リポジトリへのアクセスの管理
リポジトリを保護するための最初の手順は、コードを表示および変更できるユーザを設定することです。 詳しい情報については、「リポジトリ設定を管理する」を参照してください。
リポジトリのメインページから、Settings(設定)をクリックし、続いて"Danger Zone(危険区域)"まで下へスクロールしてください。
- リポジトリを見ることができる人を変更するにはChange visibility(可視性を変更)をクリックしてください。 詳しい情報については「リポジトリの可視性の設定」を参照してください。
- リポジトリにアクセスできる人を変更し、権限を調整するにはManage access(アクセスの管理)をクリックしてください。 詳しい情報については「リポジトリにアクセスできるTeamと人の管理」を参照してください。
セキュリティポリシーの設定
- リポジトリのメインページから Security(セキュリティ)をクリックしてください。
- Security policy(セキュリティポリシー)をクリックしてください。
- Start setup(セットアップの開始)をクリックします。
- プロジェクトのサポートされているバージョンに関する情報と、脆弱性の報告方法に関する情報を追加してください。
詳しい情報については「リポジトリにセキュリティポリシーを追加する」を参照してください。
依存関係グラフの管理
Once you have enabled the dependency graph, it is automatically generated for all public repositories, and you can choose to enable it for private repositories.
- リポジトリのメインページから、 Settings(設定)をクリックしてください。
- Security & analysis(セキュリティと分析)をクリックしてください。
- 依存関係グラフの隣でEnable(有効化)もしくはDisable(無効化)をクリックしてください。
詳しい情報については、「リポジトリの依存関係を調べる」を参照してください。
Dependabotアラートの管理
デフォルトで、GitHubはパブリックリポジトリ内の脆弱性を検出し、Dependabotアラートを生成します。 Dependabotアラートは、プライベートリポジトリでも有効化できます。
- 自分のプロフィール写真をクリックし、続いて Settings(設定)をクリックしてください。
- Security & analysis(セキュリティと分析)をクリックしてください。
- Dependabotアラートの隣のEnable all(すべて有効化)をクリックしてください。
詳しい情報については「脆弱な依存関係に対するアラートについて」及び「ユーザアカウントのセキュリティ及び分析設定の管理」を参照してください。
依存関係レビューの管理
依存関係レビューを使うと、Pull Requestがリポジトリにマージされる前に、Pull Request内での依存関係の変化を可視化できます。 依存関係レビューは、すべてのパブリックリポジトリと、依存関係グラフが有効化されたAdvanced Securityライセンスを持つOrganizationが所有するリポジトリで利用できます。 詳しい情報については「依存関係レビューについて」を参照してください。
Dependabotセキュリティアップデートの管理
Dependabotアラートを使用するリポジトリでは、Dependabotセキュリティアップデートを有効化して脆弱性が検出された際にセキュリティ更新でPull Requestを発行させることができます。
- リポジトリのメインページから、 Settings(設定)をクリックしてください。
- Security & analysis(セキュリティと分析)をクリックしてください。
- Dependabotセキュリティアップデートの隣でEnable(有効化)をクリックしてください。
詳しい情報については、「Dependabotセキュリティアップデート について」および「Dependabotセキュリティアップデート の設定」を参照してください。
Dependabotバージョンアップデートの管理
Dependabotを有効化して、依存関係を最新の状態に保つためのPull Requestを自動的に発行するようにできます。 詳しい情報については「Dependabotバージョンアップデートについて」を参照してください。
Dependabotバージョンアップデートを有効化するには、設定ファイルのdependabot.ymlを作成しなければなりません。 詳しい情報については「バージョンアップデートの有効化と無効化」を参照してください。
code scanning を設定する
Code scanningは、Advanced Securityライセンスを持つOrganizationが所有するプライベートリポジトリと、すべてのパブリックリポジトリで利用できます。
CodeQL分析ワークフローもしくはサードパーティのツールを使い、リポジトリ中に保存されたコードの脆弱性やエラーを自動的に特定するよう、code scanningをセットアップできます。 詳しい情報については、「リポジトリに対する code scanning をセットアップする」を参照してください。
secret scanningの設定
Secret scanningは、Advanced Securityライセンスを持つOrganizationが所有するプライベートリポジトリと、すべてのパブリックリポジトリで利用できます。
Secret scanningはOrganizationの設定によって、デフォルトでリポジトリに対して有効にできます。
- リポジトリのメインページから、 Settings(設定)をクリックしてください。
- Security & analysis(セキュリティと分析)をクリックしてください。
- まだGitHub Advanced Securityが有効化されていなければ、Enable(有効化)をクリックしてください。
- Secret scanningの隣でEnable(有効化)をクリックしてください。
次のステップ
セキュリティの機能からのアラートを表示及び管理して、コード中の依存関係と脆弱性に対処できます。 詳しい情報については「リポジトリ中の脆弱な依存関係の表示と更新」、「依存関係の更新のためのPull Requestの管理」、「リポジトリのcode scanningの管理」、「secret scanningからのアラートの管理」を参照してください。
セキュリティの脆弱性があるなら、セキュリティアドバイザリを作成して非公開で議論し、脆弱性を修正できます。 詳しい情報については「GitHub Security Advisoriesについて」及び「セキュリティアドバイザリの作成」を参照してください。