Skip to content

Commit 60fac2a

Browse files
authored
Merge pull request github#7192 from github/repo-sync
repo sync
2 parents 510321f + 093e6f6 commit 60fac2a

File tree

16 files changed

+119
-24
lines changed

16 files changed

+119
-24
lines changed
Loading
Loading

content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md

+6-1
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,12 @@ redirect_from:
1515
- /admin/configuration/restricting-network-traffic-to-your-enterprise
1616
---
1717
### About IP allow lists
18+
1819
By default, authorized users can access your enterprise from any IP address. Enterprise owners can restrict access to assets owned by organizations in an enterprise account by configuring an allow list for specific IP addresses. {% data reusables.identity-and-permissions.ip-allow-lists-example-and-restrictions %}
1920

2021
{% data reusables.identity-and-permissions.ip-allow-lists-cidr-notation %}
2122

22-
{% data reusables.identity-and-permissions.ip-allow-lists-enable %}
23+
{% data reusables.identity-and-permissions.ip-allow-lists-enable %} {% data reusables.identity-and-permissions.ip-allow-lists-enterprise %}
2324

2425
You can also configure allowed IP addresses for an individual organization. For more information, see "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization)."
2526

@@ -36,6 +37,10 @@ For instance-level restrictions using Azure NSGs, contact {% data variables.cont
3637
{% data reusables.identity-and-permissions.ip-allow-lists-add-description %}
3738
{% data reusables.identity-and-permissions.ip-allow-lists-add-entry %}
3839

40+
### Allowing access by {% data variables.product.prodname_github_apps %}
41+
42+
{% data reusables.identity-and-permissions.ip-allow-lists-githubapps-enterprise %}
43+
3944
### Enabling allowed IP addresses
4045

4146
{% data reusables.enterprise-accounts.access-enterprise %}

content/developers/apps/building-github-apps/creating-a-github-app.md

+16-16
Original file line numberDiff line numberDiff line change
@@ -23,38 +23,38 @@ topics:
2323
{% endnote %}
2424
{% endif %}
2525

26-
{% data reusables.user-settings.access_settings %}
26+
{% data reusables.apps.settings-step %}
2727
{% data reusables.user-settings.developer_settings %}
2828
{% data reusables.user-settings.github_apps %}
29-
4. Click **New GitHub App**.
29+
1. Click **New GitHub App**.
3030
![Button to create a new GitHub App](/assets/images/github-apps/github_apps_new.png)
31-
5. In "GitHub App name", type the name of your app.
31+
1. In "GitHub App name", type the name of your app.
3232
![Field for the name of your GitHub App](/assets/images/github-apps/github_apps_app_name.png)
3333

3434
Give your app a clear and succinct name. Your app cannot have the same name as an existing GitHub account, unless it is your own user or organization name. A slugged version of your app's name will be shown in the user interface when your integration takes an action.
3535

36-
6. Optionally, in "Description", type a description of your app that users will see.
36+
1. Optionally, in "Description", type a description of your app that users will see.
3737
![Field for a description of your GitHub App](/assets/images/github-apps/github_apps_description.png)
38-
7. In "Homepage URL", type the full URL to your app's website.
38+
1. In "Homepage URL", type the full URL to your app's website.
3939
![Field for the homepage URL of your GitHub App](/assets/images/github-apps/github_apps_homepage_url.png)
4040
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "[email protected]" %}
41-
8. In "Callback URL", type the full URL to redirect to after a user authorizes the installation. This URL is used if your app needs to identify and authorize user-to-server requests.
41+
1. In "Callback URL", type the full URL to redirect to after a user authorizes the installation. This URL is used if your app needs to identify and authorize user-to-server requests.
4242

4343
You can use **Add callback URL** to provide additional callback URLs, up to a maximum of 10.
4444

4545
![Button for 'Add callback URL' and field for callback URL](/assets/images/github-apps/github_apps_callback_url_multiple.png)
4646
{% else %}
47-
8. In "User authorization callback URL", type the full URL to redirect to after a user authorizes an installation. This URL is used if your app needs to identify and authorize user-to-server requests.
47+
1. In "User authorization callback URL", type the full URL to redirect to after a user authorizes an installation. This URL is used if your app needs to identify and authorize user-to-server requests.
4848
![Field for the user authorization callback URL of your GitHub App](/assets/images/github-apps/github_apps_user_authorization.png)
4949

5050
{% endif %}
5151
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "[email protected]" or currentVersion == "github-ae@latest" %}
52-
9. By default, to improve your app's security, your app will use expiring user authorization tokens. To opt-out of using expiring user tokens, you must deselect "Expire user authorization tokens". To learn more about setting up a refresh token flow and the benefits of expiring user tokens, see "[Refreshing user-to-server access tokens](/apps/building-github-apps/refreshing-user-to-server-access-tokens/)."
52+
1. By default, to improve your app's security, your app will use expiring user authorization tokens. To opt-out of using expiring user tokens, you must deselect "Expire user authorization tokens". To learn more about setting up a refresh token flow and the benefits of expiring user tokens, see "[Refreshing user-to-server access tokens](/apps/building-github-apps/refreshing-user-to-server-access-tokens/)."
5353
![Option to opt-in to expiring user tokens during GitHub Apps setup](/assets/images/github-apps/expire-user-tokens-selection.png)
5454
{% endif %}
55-
9. If your app authorizes users using the OAuth flow, you can select **Request user authorization (OAuth) during installation** to allow people to authorize the app when they install it, saving a step. If you select this option, the "Setup URL" becomes unavailable and users will be redirected to your "User authorization callback URL" after installing the app. See "[Authorizing users during installation](/apps/installing-github-apps/#authorizing-users-during-installation)" for more information.
55+
1. If your app authorizes users using the OAuth flow, you can select **Request user authorization (OAuth) during installation** to allow people to authorize the app when they install it, saving a step. If you select this option, the "Setup URL" becomes unavailable and users will be redirected to your "User authorization callback URL" after installing the app. See "[Authorizing users during installation](/apps/installing-github-apps/#authorizing-users-during-installation)" for more information.
5656
![Request user authorization during installation](/assets/images/github-apps/github_apps_request_auth_upon_install.png)
57-
10. If additional setup is required after installation, add a "Setup URL" to redirect users to after they install your app.
57+
1. If additional setup is required after installation, add a "Setup URL" to redirect users to after they install your app.
5858
![Field for the setup URL of your GitHub App ](/assets/images/github-apps/github_apps_setup_url.png)
5959

6060
{% note %}
@@ -63,10 +63,10 @@ topics:
6363

6464
{% endnote %}
6565

66-
11. In "Webhook URL", type the URL that events will POST to. Each app receives its own webhook which will notify you every time the app is installed or modified, as well as any other events the app subscribes to.
66+
1. In "Webhook URL", type the URL that events will POST to. Each app receives its own webhook which will notify you every time the app is installed or modified, as well as any other events the app subscribes to.
6767
![Field for the webhook URL of your GitHub App](/assets/images/github-apps/github_apps_webhook_url.png)
6868

69-
12. Optionally, in "Webhook Secret", type an optional secret token used to secure your webhooks.
69+
1. Optionally, in "Webhook Secret", type an optional secret token used to secure your webhooks.
7070
![Field to add a secret token for your webhook](/assets/images/github-apps/github_apps_webhook_secret.png)
7171

7272
{% note %}
@@ -75,10 +75,10 @@ topics:
7575

7676
{% endnote %}
7777

78-
13. In "Permissions", choose the permissions your app will request. For each type of permission, use the drop-down menu and click **Read-only**, **Read & write**, or **No access**.
78+
1. In "Permissions", choose the permissions your app will request. For each type of permission, use the drop-down menu and click **Read-only**, **Read & write**, or **No access**.
7979
![Various permissions for your GitHub App](/assets/images/github-apps/github_apps_new_permissions_post2dot13.png)
80-
14. In "Subscribe to events", choose the events you want your app to receive.
81-
15. To choose where the app can be installed, select either **Only on this account** or **Any account**. For more information on installation options, see "[Making a GitHub App public or private](/apps/managing-github-apps/making-a-github-app-public-or-private/)."
80+
1. In "Subscribe to events", choose the events you want your app to receive.
81+
1. To choose where the app can be installed, select either **Only on this account** or **Any account**. For more information on installation options, see "[Making a GitHub App public or private](/apps/managing-github-apps/making-a-github-app-public-or-private/)."
8282
![Installation options for your GitHub App](/assets/images/github-apps/github_apps_installation_options.png)
83-
16. Click **Create GitHub App**.
83+
1. Click **Create GitHub App**.
8484
![Button to create your GitHub App](/assets/images/github-apps/github_apps_create_github_app.png)

content/developers/apps/building-github-apps/index.md

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ topics:
1313
children:
1414
- /creating-a-github-app
1515
- /setting-permissions-for-github-apps
16+
- /managing-allowed-ip-addresses-for-a-github-app
1617
- /authenticating-with-github-apps
1718
- /identifying-and-authorizing-users-for-github-apps
1819
- /rate-limits-for-github-apps
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
title: Managing allowed IP addresses for a GitHub App
3+
intro: You can add an IP allow list to your {% data variables.product.prodname_github_app %} to prevent your app from being blocked by an organization's own allow list.
4+
versions:
5+
free-pro-team: '*'
6+
github-ae: '*'
7+
topics:
8+
- GitHub Apps
9+
---
10+
11+
### About IP address allow lists for {% data variables.product.prodname_github_apps %}
12+
13+
Enterprise and organization owners can restrict access to assets by configuring an IP address allow list. This list specifies the IP addresses that are allowed to connect. For more information, see "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#enabling-allowed-ip-addresses)" and {% if currentVersion == "github-ae@latest" %}"[Restricting network traffic to your enterprise](/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise)." {% else %}"[Enforcing security settings in your enterprise account](/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-security-settings-in-your-enterprise-account#managing-allowed-ip-addresses-for-organizations-in-your-enterprise-account)." {% endif %}
14+
15+
When an organization has an allow list, third-party applications that connect via a {% data variables.product.prodname_github_app %} will be denied access unless both of the following are true:
16+
17+
* The creator of the {% data variables.product.prodname_github_app %} has configured an allow list for the application that specifies the IP addresses at which their application runs. See below for details of how to do this.
18+
* The organization owner has chosen to permit the addresses in the {% data variables.product.prodname_github_app %}'s allow list to be added to their own allow list. For more information, see "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps)."
19+
20+
{% data reusables.apps.ip-allow-list-only-apps %}
21+
22+
### Adding an IP address allow list to a {% data variables.product.prodname_github_app %}
23+
24+
{% data reusables.apps.settings-step %}
25+
{% data reusables.user-settings.developer_settings %}
26+
{% data reusables.user-settings.github_apps %}
27+
{% data reusables.user-settings.modify_github_app %}
28+
1. Scroll down to the "IP allow list" section.
29+
![Basic information section for your GitHub App](/assets/images/github-apps/github-apps-allow-list-empty.png)
30+
{% data reusables.identity-and-permissions.ip-allow-lists-add-ip %}
31+
{% data reusables.identity-and-permissions.ip-allow-lists-add-description %}
32+
The description is for your reference and is not used in the allow list of organizations where the {% data variables.product.prodname_github_app %} is installed. Instead, organization allow lists will include "Managed by the NAME GitHub App" as the description.
33+
{% data reusables.identity-and-permissions.ip-allow-lists-add-entry %}

content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-security-settings-in-your-enterprise-account.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ Enterprise owners can restrict access to assets owned by organizations in an ent
4949

5050
{% data reusables.identity-and-permissions.ip-allow-lists-cidr-notation %}
5151

52-
{% data reusables.identity-and-permissions.ip-allow-lists-enable %}
52+
{% data reusables.identity-and-permissions.ip-allow-lists-enable %} {% data reusables.identity-and-permissions.ip-allow-lists-enterprise %}
5353

5454
You can also configure allowed IP addresses for an individual organization. For more information, see "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization)."
5555

@@ -62,6 +62,10 @@ You can also configure allowed IP addresses for an individual organization. For
6262
{% data reusables.identity-and-permissions.ip-allow-lists-add-description %}
6363
{% data reusables.identity-and-permissions.ip-allow-lists-add-entry %}
6464

65+
#### Allowing access by {% data variables.product.prodname_github_apps %}
66+
67+
{% data reusables.identity-and-permissions.ip-allow-lists-githubapps-enterprise %}
68+
6569
#### Enabling allowed IP addresses
6670

6771
{% data reusables.enterprise-accounts.access-enterprise %}

content/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization.md

+22-3
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ You can restrict access to organization assets by configuring an allow list for
2222

2323
{% data reusables.identity-and-permissions.ip-allow-lists-enable %}
2424

25+
If you set up an allow list you can also choose to automatically add to your allow list any IP addresses configured for {% data variables.product.prodname_github_apps %} that you install in your organization. The creator of a {% data variables.product.prodname_github_app %} can configure an allow list for their application, specifying the IP addresses at which the application runs. By inheriting their allow list into yours, you avoid connection requests from the application being refused. For more information, see "[Allowing access by {% data variables.product.prodname_github_apps %}](#allowing-access-by-github-apps)."
26+
2527
You can also configure allowed IP addresses for the organizations in an enterprise account. For more information, see {% if currentVersion == "github-ae@latest" %}"[Restricting network traffic to your enterprise](/admin/configuration/restricting-network-traffic-to-your-enterprise)." {% else %}"[Enforcing security settings in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-security-settings-in-your-enterprise-account#managing-allowed-ip-addresses-for-organizations-in-your-enterprise-account)."{% endif %}
2628

2729
### Adding an allowed IP address
@@ -38,9 +40,26 @@ You can also configure allowed IP addresses for the organizations in an enterpri
3840
{% data reusables.profile.access_org %}
3941
{% data reusables.profile.org_settings %}
4042
{% data reusables.organizations.security %}
41-
3. Under "IP allow list", select **Enable IP allow list**.
43+
1. Under "IP allow list", select **Enable IP allow list**.
4244
![Checkbox to allow IP addresses](/assets/images/help/security/enable-ip-allowlist-organization-checkbox.png)
43-
4. Click **Save**.
45+
1. Click **Save**.
46+
47+
### Allowing access by {% data variables.product.prodname_github_apps %}
48+
49+
If you're using an allow list, you can also choose to automatically add to your allow list any IP addresses configured for {% data variables.product.prodname_github_apps %} that you install in your organization.
50+
51+
{% data reusables.identity-and-permissions.ip-allow-lists-address-inheritance %}
52+
53+
{% data reusables.apps.ip-allow-list-only-apps %}
54+
55+
For more information about how to create an allow list for a {% data variables.product.prodname_github_app %} you have created, see "[Managing allowed IP addresses for a GitHub App](/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app)."
56+
57+
{% data reusables.profile.access_org %}
58+
{% data reusables.profile.org_settings %}
59+
{% data reusables.organizations.security %}
60+
1. Under "IP allow list", select **Enable IP allow list configuration for installed GitHub Apps**.
61+
![Checkbox to allow GitHub App IP addresses](/assets/images/help/security/enable-ip-allowlist-githubapps-checkbox.png)
62+
1. Click **Save**.
4463

4564
### Editing an allowed IP address
4665

@@ -50,7 +69,7 @@ You can also configure allowed IP addresses for the organizations in an enterpri
5069
{% data reusables.identity-and-permissions.ip-allow-lists-edit-entry %}
5170
{% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %}
5271
{% data reusables.identity-and-permissions.ip-allow-lists-edit-description %}
53-
8. Click **Update**.
72+
1. Click **Update**.
5473

5574
### Deleting an allowed IP address
5675

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{% note %}
2+
3+
**Note:** The addresses in the IP allow list of a {% data variables.product.prodname_github_app %} only affect requests made by installations of the {% data variables.product.prodname_github_app %}. The automatic addition of a {% data variables.product.prodname_github_app %}'s IP address to an organization's allow list does not allow access to a {% data variables.product.product_name %} user who connects from that IP address.
4+
5+
{% endnote %}

data/reusables/apps/settings-step.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
1. Navigate to your account settings.
2+
- For a {% data variables.product.prodname_github_app %} owned by a user account, in the upper-right corner of any page, click your profile photo, then click **Settings**.
3+
![Settings icon in the user bar](/assets/images/settings/userbar-account-settings_post2dot12.png)
4+
- For a {% data variables.product.prodname_github_app %} owned by an organization, in the upper-right corner of any page, click your profile photo, then click **Your organizations**. Then, to the right of the organization, click **Settings**.
5+
![Your organizations in the profile menu](/assets/images/help/profile/your-organizations.png)
6+
![The settings button](/assets/images/help/organizations/settings-button.png)
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
1. Under "Description", type a description of the allowed IP address or range.
1+
1. Optionally, enter a description of the allowed IP address or range.
22
![Key field to add name for IP address](/assets/images/help/security/ip-address-name-field.png)
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
1. Under "IP Address", type an IP address, or range of addresses, in CIDR notation.
1+
1. At the bottom of the "IP allow list" section, enter an IP address, or a range of addresses in CIDR notation.
22
![Key field to add IP address](/assets/images/help/security/ip-address-field.png)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
If you select **Enable IP allow list configuration for installed GitHub Apps** in your allow list settings, then IP addresses from installed {% data variables.product.prodname_github_apps %} are added to your allow list. This happens irrespective of whether your allow list is currently enabled. If you install a {% data variables.product.prodname_github_app %} and then the creator of that application changes the addresses in its allow list, your allow list is automatically updated with those changes.
2+
3+
You can identify the IP addresses that have been automatically added from {% data variables.product.prodname_github_apps %} by reviewing the description field. The description for these IP addresses is: "Managed by the NAME GitHub App." Unlike addresses you add manually, you cannot edit, delete, or disable IP addresses that are automatically added from {% data variables.product.prodname_github_apps %}.

0 commit comments

Comments
 (0)