Skip to content

Commit c4e01ea

Browse files
CopilottimrogersCopilotisaacmbrown
authored
[2026-04-02] Organization-level management for Copilot coding agent's agent firewall [GA] (#60556)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: timrogers <116134+timrogers@users.noreply.github.com> Co-authored-by: Tim Rogers <timrogers@github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Tim Rogers <me@timrogers.co.uk> Co-authored-by: isaacmbrown <isaacmbrown@github.com>
1 parent b5b27a9 commit c4e01ea

File tree

4 files changed

+64
-26
lines changed

4 files changed

+64
-26
lines changed

content/copilot/how-tos/administer-copilot/manage-for-organization/add-copilot-coding-agent.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ By default, {% data variables.copilot.copilot_coding_agent %} is available in al
5050

5151
Once {% data variables.copilot.copilot_coding_agent %} is enabled for a repository, any user with access to {% data variables.copilot.copilot_coding_agent %} and write permission for the repository can delegate work to {% data variables.product.prodname_copilot_short %}.
5252

53+
## Managing the agent firewall for your organization
54+
55+
Organization owners can configure the {% data variables.copilot.copilot_coding_agent %} firewall for their organization, including whether it is enabled for the organization and which external hosts and URLs the agent can access. For more information, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/customize-the-agent-firewall).
56+
5357
## Next steps
5458

5559
* Tell the members of repositories where {% data variables.copilot.copilot_coding_agent %} is available that they can delegate work to the {% data variables.copilot.copilot_coding_agent_short %}.

content/copilot/how-tos/use-copilot-agents/coding-agent/customize-the-agent-firewall.md

Lines changed: 47 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,10 @@ redirect_from:
1111
- /copilot/how-tos/agents/copilot-coding-agent/customize-the-agent-firewall
1212
- /copilot/how-tos/agents/coding-agent/customize-the-agent-firewall
1313
contentType: how-tos
14-
category:
14+
category:
1515
- Configure Copilot
1616
---
1717

18-
> [!NOTE]
19-
> Firewall configuration has moved to the {% data variables.copilot.copilot_coding_agent %} settings page. Previous configurations saved as Actions variables will be maintained on that page.
20-
2118
## Overview
2219

2320
By default, {% data variables.product.prodname_copilot_short %}'s access to the internet is limited by a firewall.
@@ -52,44 +49,69 @@ The recommended allowlist, enabled by default, allows access to:
5249

5350
For the complete list of hosts included in the recommended allowlist, see [AUTOTITLE](/copilot/reference/copilot-allowlist-reference#copilot-coding-agent-recommended-allowlist).
5451

55-
## Disabling the recommended allowlist
52+
## Configuring the firewall at the organization level
5653

57-
You can choose to turn off the recommended allowlist. Disabling the recommended allowlist is likely to increase the risk of unauthorized access to external resources.
54+
Organization owners can configure all firewall settings at the organization level. To access the firewall settings:
5855

59-
{% data reusables.repositories.navigate-to-repo %}
60-
{% data reusables.repositories.sidebar-settings %}
61-
1. In the "Code & automation" section of the sidebar, click **{% data variables.product.prodname_copilot_short %}** then **{% data variables.copilot.copilot_coding_agent_short %}**.
62-
1. Toggle the **Recommended allowlist** setting **off**.
56+
{% data reusables.profile.access_org %}
57+
{% data reusables.profile.org_settings %}
58+
{% data reusables.copilot.coding-agent-settings %}
59+
60+
### Enabling or disabling the firewall
61+
62+
> [!WARNING]
63+
> Disabling the firewall will allow {% data variables.product.prodname_copilot_short %} to connect to any host, increasing risks of exfiltration of code or other sensitive information.
64+
65+
1. Under "Internet access", set the **Enable firewall** setting to **Enabled**, **Disabled**, or **Let repositories decide** (default).
66+
67+
### Enabling or disabling the recommended allowlist
68+
69+
1. Under "Internet access", set the **Recommended allowlist** setting to **Enabled**, **Disabled**, or **Let repositories decide** (default).
6370

64-
To use the recommended allowlist in addition to your own allowlist, keep the **Recommended allowlist** setting **on**, and add your additional addresses in the **Custom allowlist** page.
71+
### Controlling whether repositories can add custom allowlist rules
6572

66-
## Allowlisting additional hosts in the agent's firewall
73+
By default, repository administrators can add their own entries to the firewall allowlist. Organization owners can disable this to prevent repositories from adding custom rules.
6774

68-
You can allowlist additional addresses in the agent's firewall.
75+
1. Under "Internet access", set the **Allow repository custom rules** setting to **Enabled** (default) or **Disabled**.
76+
77+
### Managing the organization custom allowlist
78+
79+
Items added to the organization custom allowlist apply to all repositories in the organization. These items cannot be deleted at the repository level. Organization-level and repository-level rules are combined.
80+
81+
1. Under "Internet access", click **Organization custom allowlist**.
82+
{% data reusables.copilot.coding-agent.custom-allowlist-add-entries %}
83+
84+
## Configuring the firewall at the repository level
85+
86+
Repository administrators can configure firewall settings at the repository level, including enabling or disabling the firewall, enabling or disabling the recommended allowlist, and managing a custom allowlist. Depending on the organization-level configuration, some of these settings may be locked.
87+
88+
To access the firewall settings:
6989

7090
{% data reusables.repositories.navigate-to-repo %}
7191
{% data reusables.repositories.sidebar-settings %}
7292
1. In the "Code & automation" section of the sidebar, click **{% data variables.product.prodname_copilot_short %}** then **{% data variables.copilot.copilot_coding_agent_short %}**.
73-
1. Click **Custom allowlist**
74-
1. Add the addresses you want to include in the allowlist. You can include:
7593

76-
* **Domains** (for example, `packages.contoso.corp`). Traffic will be allowed to the specified domain and any subdomains.
94+
### Enabling or disabling the firewall
7795

78-
**Example**: `packages.contoso.corp` will allow traffic to `packages.contoso.corp` and `prod.packages.contoso.corp`, but not `artifacts.contoso.corp`.
96+
> [!NOTE]
97+
> You can only change this setting at the repository level if the organization-level **Enable firewall** setting is set to **Let repositories decide**. If the organization-level setting is **Enabled** or **Disabled**, you can't change this setting for individual repositories.
7998
80-
* **URLs** (for example, `https://packages.contoso.corp/project-1/`). Traffic will only be allowed on the specified scheme (`https`) and host (`packages.contoso.corp`), and limited to the specified path and descendant paths.
99+
1. Toggle the **Enable firewall** setting on or off.
81100

82-
**Example**: `https://packages.contoso.corp/project-1/` will allow traffic to `https://packages.contoso.corp/project-1/` and `https://packages.contoso.corp/project-1/tags/latest`, but not `https://packages.consoto.corp/project-2`, `ftp://packages.contoso.corp` or `https://artifacts.contoso.corp`.
101+
### Enabling or disabling the recommended allowlist
83102

84-
1. Click **Add Rule**.
85-
1. After validating your list, click **Save changes**.
103+
> [!NOTE]
104+
> You can only change this setting at the repository level if the organization-level **Recommended allowlist** setting is set to **Let repositories decide**. If the organization-level setting is **Enabled** or **Disabled**, you can't change this setting for individual repositories.
86105
87-
### Disabling the firewall
106+
1. Toggle the **Recommended allowlist** setting on or off.
88107

89-
> [!WARNING]
90-
> Disabling the firewall will allow {% data variables.product.prodname_copilot_short %} to connect to any host, increasing risks of exfiltration of code or other sensitive information.
108+
### Managing the custom allowlist
109+
110+
> [!NOTE]
111+
> You can only add custom allowlist rules at the repository level if the organization-level **Allow repository custom rules** setting is set to **Enabled**. For more information, see [Controlling whether repositories can add custom allowlist rules](#controlling-whether-repositories-can-add-custom-allowlist-rules).
91112
92-
The firewall is enabled by default. To disable the firewall, toggle the **Enable firewall** setting to **off**.
113+
1. Click **Custom allowlist**.
114+
{% data reusables.copilot.coding-agent.custom-allowlist-add-entries %}
93115

94116
## Further reading
95117

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1. In the sidebar, under "Code, planning, and automation", click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} {% data variables.product.prodname_copilot_short %}**, and then click **{% data variables.copilot.copilot_coding_agent_short %}**.
1+
1. In the sidebar, under "Code, planning, and automation", click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} {% data variables.product.prodname_copilot_short %}**, and then click **{% data variables.copilot.copilot_coding_agent_short_cap_c %}**.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
1. Add the addresses you want to include in the allowlist. You can include:
2+
3+
* **Domains** (for example, `packages.contoso.corp`). Traffic will be allowed to the specified domain and any subdomains.
4+
5+
**Example**: `packages.contoso.corp` will allow traffic to `packages.contoso.corp` and `prod.packages.contoso.corp`, but not `artifacts.contoso.corp`.
6+
7+
* **URLs** (for example, `https://packages.contoso.corp/project-1/`). Traffic will only be allowed on the specified scheme (`https`) and host (`packages.contoso.corp`), and limited to the specified path and descendant paths.
8+
9+
**Example**: `https://packages.contoso.corp/project-1/` will allow traffic to `https://packages.contoso.corp/project-1/` and `https://packages.contoso.corp/project-1/tags/latest`, but not `https://packages.contoso.corp/project-2`, `ftp://packages.contoso.corp` or `https://artifacts.contoso.corp`.
10+
11+
1. Click **Add rule**.
12+
1. After validating your list, click **Save changes**.

0 commit comments

Comments
 (0)