About enabling GitHub Advanced Security
GitHub Advanced Security helps developers improve and maintain the security and quality of code.
When you enable GitHub Advanced Security for your enterprise, repository administrators in all organizations can enable the features.
Prerequisites for enabling GitHub Advanced Security
- Upgrade your license for GitHub Enterprise Server to include GitHub Advanced Security.
- Download the new license file. For more information, see "Downloading your license for GitHub Enterprise."
- Upload the new license file to your GitHub Enterprise Server instance. For more information, see "Uploading a new license to GitHub Enterprise Server."
Checking whether your license includes GitHub Advanced Security
- From an administrative account on GitHub Enterprise Server, click in the upper-right corner of any page.
- In the left sidebar, click Management Console.
- If your license includes GitHub Advanced Security, there is an Advanced Security entry in the left sidebar.
If you can't see Advanced Security in the sidebar, it means that your license doesn't include support for Advanced Security features, including code scanning and secret scanning. The Advanced Security license gives you and your users access to features that help you make your repositories and code more secure.
Enabling and disabling GitHub Advanced Security features
Warning: Changing this setting will cause user-facing services on GitHub Enterprise Server to restart. You should time this change carefully, to minimize downtime for users.
- From an administrative account on GitHub Enterprise Server, click in the upper-right corner of any page.
- In the left sidebar, click Management Console.
- In the left sidebar, click Advanced Security.
- Under "Advanced Security," click Code scanning.
- Under the left sidebar, click Save settings.
- Wait for the configuration run to complete.
When GitHub Enterprise Server has finished restarting, you're ready to set up any additional resources required for newly enabled features. For more information, see "Configuring code scanning for your appliance."
Enabling or disabling GitHub Advanced Security features via the administrative shell (SSH)
You can enable or disable features programmatically on your GitHub Enterprise Server instance. For more information about the administrative shell and command-line utilities for GitHub Enterprise Server, see "Accessing the administrative shell (SSH)" and "Command-line utilities."
For example, you can enable any GitHub Advanced Security feature with your infrastructure-as-code tooling when you deploy an instance for staging or disaster recovery.
-
SSH into your GitHub Enterprise Server instance.
-
Enable features for GitHub Advanced Security.
- To enable Code scanning, enter the following commands.
ghe-config app.minio.enabled true ghe-config app.code-scanning.enabled true
- To enable Secret scanning, enter the following command.
ghe-config app.secret-scanning.enabled true
- To enable Dependabot, enter the following commands.
ghe-config app.github.dependency-graph-enabled true ghe-config app.github.vulnerability-alerting-and-settings-enabled true
- To enable Code scanning, enter the following commands.
-
Optionally, disable features for GitHub Advanced Security.
- To disable code scanning, enter the following commands.
ghe-config app.minio.enabled false ghe-config app.code-scanning.enabled false
- To disable secret scanning, enter the following command.
ghe-config app.secret-scanning.enabled false
- To disable Dependabot, enter the following commands.
ghe-config app.github.dependency-graph-enabled false ghe-config app.github.vulnerability-alerting-and-settings-enabled false
- To disable code scanning, enter the following commands.
-
Apply the configuration.
ghe-config-apply