diff --git a/assets/images/help/copilot/copilot-business-manage-seats.png b/assets/images/help/copilot/copilot-business-manage-seats.png new file mode 100644 index 0000000000..7ef4379962 Binary files /dev/null and b/assets/images/help/copilot/copilot-business-manage-seats.png differ diff --git a/content/admin/copilot-business-only/about-enterprise-accounts-for-copilot-business.md b/content/admin/copilot-business-only/about-enterprise-accounts-for-copilot-business.md new file mode 100644 index 0000000000..4779a8ea9d --- /dev/null +++ b/content/admin/copilot-business-only/about-enterprise-accounts-for-copilot-business.md @@ -0,0 +1,68 @@ +--- +title: About enterprise accounts for Copilot Business +intro: 'Learn about the options for creating an enterprise account to manage {% data variables.product.prodname_copilot_business_short %} licenses, without adopting {% data variables.product.prodname_enterprise %}.' +versions: + ghec: '*' +topics: + - Accounts + - Enterprise + - Fundamentals +shortTitle: About the account +redirect_from: + - /early-access/copilot/managing-copilot-business-licenses-with-an-enterprise-account +--- + +You can use an enterprise account to manage licenses for {% data variables.product.prodname_copilot_for_business %}, without adopting {% data variables.product.prodname_enterprise %}. + +>[!NOTE] Access to this feature is currently managed by {% data variables.contact.contact_enterprise_sales %}. + +## What is an enterprise account for {% data variables.product.prodname_copilot_business_short %}? + +To use {% data variables.product.prodname_copilot %}, a user must authenticate to an account on {% data variables.product.prodname_dotcom %} that has a license for {% data variables.product.prodname_copilot_short %}. Organizations and enterprises on {% data variables.product.prodname_dotcom %} can manage members' access to {% data variables.product.prodname_copilot_short %} through a {% data variables.product.prodname_copilot_business_short %} subscription. + +If you don't already manage users through an organization or enterprise, you can create an enterprise account specifically for allocating {% data variables.product.prodname_copilot_business_short %} licenses. + +* You'll only pay for the {% data variables.product.prodname_copilot_short %} licenses you assign. For pricing, see "[AUTOTITLE](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-business)." +* You won't pay for {% data variables.product.prodname_enterprise %} seats. +* You won't be able to create organizations or repositories in the enterprise, or use features that require repositories or organizations, such as {% data variables.product.prodname_actions %}. + +When you create the account, you can choose whether your enterprise members will authenticate using their personal {% data variables.product.company_short %} accounts, or using new accounts that you will create and manage from an external identity management system. For a comparison, see "[AUTOTITLE](/admin/identity-and-access-management/understanding-iam-for-enterprises/choosing-an-enterprise-type-for-github-enterprise-cloud)." + +## How will I manage access for users? + +How you will add users to your enterprise and manage license assignment depends on whether you choose an enterprise with personal accounts or with {% data variables.product.prodname_emus %}. + +### Personal accounts + +If you request an enterprise with personal accounts: + +* You'll **add users** to the enterprise by sending an invitation to their personal {% data variables.product.prodname_dotcom %} account. +* You'll **create teams** in the enterprise to manage which users receive {% data variables.product.prodname_copilot_business_short %} licenses. You can manage membership of the teams on {% data variables.product.prodname_dotcom_the_website %} or with the REST API. +* When users receive a license, they can authenticate to {% data variables.product.prodname_dotcom %} from their development environment and **gain access** to {% data variables.product.prodname_copilot_short %}. +* Optionally, you can configure **SAML single sign-on** (SSO), so that users must authenticate to an external identity system in addition to their personal account. + +### {% data variables.product.prodname_emus %} + +If you request an {% data variables.enterprise.prodname_emu_enterprise %}: + +* You'll **add users** to the enterprise by provisioning {% data variables.enterprise.prodname_managed_users %} from an identity provider (IdP), using SCIM. +* You'll **create teams** in the enterprise to manage which users receive {% data variables.product.prodname_copilot_business_short %} licenses. You can manage membership of the teams from your IdP, on {% data variables.product.prodname_dotcom_the_website %}, or with the REST API. +* When users receive a license, they can use single sign-on to authenticate to their {% data variables.product.prodname_dotcom %} account from their development environment and **gain access** to {% data variables.product.prodname_copilot_short %}. + +## Limitations + +* You will not be able to use REST API endpoints that require an organization. In particular, these include: + * "[List enterprise consumed licenses](/rest/enterprise-admin/license#list-enterprise-consumed-licenses)" + * "[AUTOTITLE](/rest/orgs/members)" + * "[AUTOTITLE](/rest/copilot/copilot-user-management)" +* Documentation on {% data variables.product.prodname_docs %} may not apply to your enterprise. +* With an enterprise for personal accounts, you cannot use team synchronization to manage membership of enterprise teams. + +## Getting started + +To get started, you will work with {% data variables.contact.contact_enterprise_sales %} to create an enterprise account, then add users to your enterprise and assign {% data variables.product.prodname_copilot_business_short %} licenses. + +See the setup guide for your chosen type of enterprise. + +* "[AUTOTITLE](/admin/copilot-business-only/setting-up-a-dedicated-enterprise-for-copilot-business-personal-accounts) +* "[AUTOTITLE](/admin/copilot-business-only/setting-up-a-dedicated-enterprise-for-copilot-business-managed-users) diff --git a/content/admin/copilot-business-only/index.md b/content/admin/copilot-business-only/index.md new file mode 100644 index 0000000000..477a6cdfff --- /dev/null +++ b/content/admin/copilot-business-only/index.md @@ -0,0 +1,11 @@ +--- +title: Using a dedicated enterprise account for Copilot Business +intro: Get started with an enterprise account for managing {% data variables.product.prodname_copilot_business_short %} licenses. +versions: + ghec: '*' +children: + - /about-enterprise-accounts-for-copilot-business + - /setting-up-a-dedicated-enterprise-for-copilot-business-personal-accounts + - /setting-up-a-dedicated-enterprise-for-copilot-business-managed-users +shortTitle: Copilot Business only +--- diff --git a/content/admin/copilot-business-only/setting-up-a-dedicated-enterprise-for-copilot-business-managed-users.md b/content/admin/copilot-business-only/setting-up-a-dedicated-enterprise-for-copilot-business-managed-users.md new file mode 100644 index 0000000000..d13268e373 --- /dev/null +++ b/content/admin/copilot-business-only/setting-up-a-dedicated-enterprise-for-copilot-business-managed-users.md @@ -0,0 +1,93 @@ +--- +title: Setting up a dedicated enterprise for Copilot Business ({% data variables.product.prodname_emus %}) +intro: 'Set up your account, provision users, and assign licenses.' +versions: + ghec: '*' +topics: + - Accounts + - Enterprise + - Fundamentals +shortTitle: Set up with managed users +allowTitleToDifferFromFilename: true +redirect_from: + - /early-access/copilot/using-copilot-business-without-github-enterprise-managed-users + +--- + +You can use an enterprise account to manage licenses for {% data variables.product.prodname_copilot_for_business %}, without adopting {% data variables.product.prodname_enterprise %}. + +This article describes the setup for an **enterprise with managed users**. If you haven't chosen an enterprise type, see "[AUTOTITLE](/admin/copilot-business-only/about-enterprise-accounts-for-copilot-business)." + +## Prerequisites + +* To provision users, you must connect the enterprise account to an identity management system. {% data variables.product.company_short %} partners with some developers of identity management systems to provide a "paved-path" integration with {% data variables.product.prodname_emus %}. See "[AUTOTITLE](/admin/identity-and-access-management/understanding-iam-for-enterprises/about-enterprise-managed-users#identity-management-systems)." +{% data reusables.copilot-business-for-non-ghe.prerequisites %} + +## Requesting an enterprise account + +{% data reusables.copilot-business-for-non-ghe.request-access %} + +## Adding users to the enterprise + +To provision user accounts through your IdP, you'll need to **configure your IdP** by completing the following steps. + +### Step 1: Configure authentication + +To manage single sign-on (SSO) for users, you must connect your IdP to your enterprise account. You can use: +* **SAML** with Entra ID, Okta, or PingFederate. For instructions, see "[AUTOTITLE](/admin/identity-and-access-management/configuring-authentication-for-enterprise-managed-users/configuring-saml-single-sign-on-for-enterprise-managed-users)." +* **OIDC** with Entra ID. For instructions, see "[AUTOTITLE](/admin/identity-and-access-management/configuring-authentication-for-enterprise-managed-users/configuring-oidc-for-enterprise-managed-users)." + +### Step 2: Configure SCIM provisioning + +To provision accounts from your IdP, you must configure SCIM provisioning. For instructions, see "[AUTOTITLE](/admin/identity-and-access-management/provisioning-user-accounts-for-enterprise-managed-users/configuring-scim-provisioning-for-enterprise-managed-users)." + +If you want to manage membership of teams from your IdP, you must assign the relevant identity groups to the {% data variables.product.prodname_emu_idp_application %} application on your IdP. + +### Step 3: Assign an enterprise owner + +After you configure authentication and provisioning with your IdP, grant one or more users the enterprise owner role. Enterprise owners can enable {% data variables.product.prodname_copilot_short %} for the enterprise and manage which users receive licenses. For instructions, see "[AUTOTITLE](/admin/identity-and-access-management/provisioning-user-accounts-for-enterprise-managed-users/configuring-scim-provisioning-for-enterprise-managed-users#assigning-users-and-groups)." + +You can also grant the billing manager role. A billing manager can view the assigned licenses for an enterprise, but cannot assign licenses or manage enterprise teams. + +## Linking an Azure subscription + +{% data reusables.copilot-business-for-non-ghe.link-azure-subscription %} + +## Enabling {% data variables.product.prodname_copilot_short %} for the enterprise + +{% data reusables.copilot-business-for-non-ghe.enable-copilot %} + +## Assigning licenses to users + +When {% data variables.product.prodname_copilot_short %} has been enabled for the enterprise, an **enterprise owner** can create teams in the enterprise and assign licenses to a team. + +* You will grant or remove licenses for users by managing membership of the teams, either from your IdP, directly in {% data variables.product.prodname_dotcom %}, or with the REST API. +* You cannot assign licenses to individual users or to an entire enterprise. +* To manage membership from your IdP, ensure the relevant identity groups have been assigned to the {% data variables.product.prodname_emu_idp_application %} application in your IdP and pushed to {% data variables.product.prodname_dotcom %} via SCIM. + +The same user can be a member of multiple teams. You will only be charged once per user. + +### Creating a team + +> [!NOTE] You can create teams and manage membership using the REST API. For endpoint documentation, please contact your account manager. + +{% data reusables.enterprise-accounts.people-tab %} +1. Under "People", click **Enterprise teams**. +1. Click **New enterprise team**. +1. Enter a name for the team. +1. Optionally, to sync the team with an identity group and manage membership from your IdP, under "Identity Provider Group", select a group from the dropdown menu. If you leave this dropdown menu empty, you will manage membership of the team directly. +1. Click **Create team**. +1. Add users to the team: + + * If you linked the team to an IdP group, add users to the related group in your IdP. + * If you are managing team membership directly, on the team page, click **Add a member**, then search for and select the user. For information about how {% data variables.product.company_short %} generates usernames for users provisioned from an IdP, see "[AUTOTITLE](/admin/identity-and-access-management/iam-configuration-reference/username-considerations-for-external-authentication#about-usernames-for-managed-user-accounts)." + +### Assigning licenses to a team + +{% data reusables.copilot-business-for-non-ghe.assign-licenses %} + +> [!NOTE] If you manage team membership from Entra ID, addition or removal of a user from a team on {% data variables.product.prodname_dotcom %} may take up to 40 minutes. After Entra ID communicates with {% data variables.product.prodname_dotcom %}, the change will take effect after {% data variables.product.prodname_dotcom %} prompts the user to authenticate. + +## Managing your enterprise + +{% data reusables.copilot-business-for-non-ghe.manage-your-enterprise %} diff --git a/content/admin/copilot-business-only/setting-up-a-dedicated-enterprise-for-copilot-business-personal-accounts.md b/content/admin/copilot-business-only/setting-up-a-dedicated-enterprise-for-copilot-business-personal-accounts.md new file mode 100644 index 0000000000..4c93271456 --- /dev/null +++ b/content/admin/copilot-business-only/setting-up-a-dedicated-enterprise-for-copilot-business-personal-accounts.md @@ -0,0 +1,81 @@ +--- +title: Setting up a dedicated enterprise for Copilot Business (personal accounts) +intro: 'Set up your account, provision users, and assign licenses.' +versions: + ghec: '*' +topics: + - Accounts + - Enterprise + - Fundamentals +shortTitle: Set up with personal accounts +redirect_from: + - /early-access/copilot/using-copilot-business-without-github-enterprise-personal-accounts +--- + +You can use an enterprise account to manage licenses for {% data variables.product.prodname_copilot_for_business %}, without adopting {% data variables.product.prodname_enterprise %}. + +This article describes the setup for an **enterprise with personal accounts**. If you haven't chosen an enterprise type, see "[AUTOTITLE](/admin/copilot-business-only/about-enterprise-accounts-for-copilot-business)." + +## Prerequisites + +{% data reusables.copilot-business-for-non-ghe.prerequisites %} + +## Requesting an enterprise account + +{% data reusables.copilot-business-for-non-ghe.request-access %} + +## Adding users to the enterprise + +After you invite someone to join the enterprise account, they must accept the emailed invitation before they can access the enterprise account. Pending invitations will expire after 7 days. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.people-tab %} +1. Under "People", click **Members**. +1. Click **Invite member**. +1. Search for the user you want to invite, then click **Invite**. + +### Inviting an enterprise owner + +You can also invite a user as an enterprise owner. Enterprise owners can grant access to {% data variables.product.prodname_copilot %} and set policies for the enterprise. See "[AUTOTITLE](/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise#inviting-an-enterprise-administrator-to-your-enterprise-account)." + +You can also invite a user as a billing manager. A billing manager can view the assigned licenses for an enterprise, but cannot assign licenses or manage enterprise teams. + +### Configuring SAML authentication + +You can configure SAML single sign-on to require users to authenticate to an external identity management system in addition to their personal account. See "[AUTOTITLE](/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise)." + +## Linking an Azure subscription + +{% data reusables.copilot-business-for-non-ghe.link-azure-subscription %} + +## Enabling {% data variables.product.prodname_copilot_short %} for the enterprise + +{% data reusables.copilot-business-for-non-ghe.enable-copilot %} + +## Assigning licenses to users + +When {% data variables.product.prodname_copilot_short %} has been enabled for the enterprise, an **enterprise owner** can create teams in the enterprise and assign licenses to a team. + +* You will grant or remove licenses for users by managing membership of the teams, either in {% data variables.product.prodname_dotcom %} or with the REST API. +* You cannot assign licenses to individual users or to an entire enterprise. + +The same user can be a member of multiple teams. You will only be charged once per user. + +### Creating a team + +> [!NOTE] You can create teams and manage membership using the REST API. For endpoint documentation, please contact your account manager. + +{% data reusables.enterprise-accounts.people-tab %} +1. Under "People", click **Enterprise teams**. +1. Click **New enterprise team**. +1. Enter a name for the team. +1. Click **Create team**. +1. To add users, click **Add a member**, then search for and select the user. + +### Assigning licenses to a team + +{% data reusables.copilot-business-for-non-ghe.assign-licenses %} + +## Managing your enterprise + +{% data reusables.copilot-business-for-non-ghe.manage-your-enterprise %} diff --git a/content/admin/index.md b/content/admin/index.md index 7b28d6e1b6..6e8ecb0765 100644 --- a/content/admin/index.md +++ b/content/admin/index.md @@ -113,6 +113,7 @@ children: - /managing-github-actions-for-your-enterprise - /configuring-packages - /managing-code-security + - /copilot-business-only - /guides - /release-notes - /all-releases diff --git a/content/admin/managing-your-enterprise-account/creating-an-enterprise-account.md b/content/admin/managing-your-enterprise-account/creating-an-enterprise-account.md index 1a50cc5e16..6691f41f8c 100644 --- a/content/admin/managing-your-enterprise-account/creating-an-enterprise-account.md +++ b/content/admin/managing-your-enterprise-account/creating-an-enterprise-account.md @@ -32,6 +32,7 @@ You'll **need help** creating an enterprise account for: * {% data variables.product.prodname_ghe_server %} * Invoicing +* Managing {% data variables.product.prodname_copilot_for_business %} licenses without adopting {% data variables.product.prodname_enterprise %} In these cases, contact {% data variables.contact.contact_enterprise_sales %}. diff --git a/content/copilot/about-github-copilot/what-is-github-copilot.md b/content/copilot/about-github-copilot/what-is-github-copilot.md index 7ef7717555..f0a5560476 100644 --- a/content/copilot/about-github-copilot/what-is-github-copilot.md +++ b/content/copilot/about-github-copilot/what-is-github-copilot.md @@ -60,6 +60,8 @@ For more information, see "[AUTOTITLE](/copilot/about-github-copilot/github-copi **As an enterprise owner**, you can purchase a subscription to {% data variables.product.prodname_copilot_for_business %} or {% data variables.product.prodname_copilot_enterprise %} for your enterprise, and allow organizations to grant access to members. See "[AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/subscribing-to-copilot-for-your-enterprise)." +If you **don't need other features**, you can request an enterprise account specifically for managing {% data variables.product.prodname_copilot_for_business %} licenses. You won't pay for {% data variables.product.prodname_enterprise %} seats, and you won't be able to create organizations or repositories. See "[AUTOTITLE](/enterprise-cloud@latest/admin/copilot-business-only/about-enterprise-accounts-for-copilot-business)." + ## Next steps * To learn more about the Copilot features, see "[AUTOTITLE](/copilot/about-github-copilot/github-copilot-features)." diff --git a/data/reusables/copilot-business-for-non-ghe/assign-licenses.md b/data/reusables/copilot-business-for-non-ghe/assign-licenses.md new file mode 100644 index 0000000000..7515c6d411 --- /dev/null +++ b/data/reusables/copilot-business-for-non-ghe/assign-licenses.md @@ -0,0 +1,12 @@ +When you have created a team in the enterprise, you can assign licenses to all members of the team. + +{% data reusables.enterprise-accounts.settings-tab %} +1. Under {% octicon "gear" aria-hidden="true" %} **Settings**, click **Enterprise licensing**. +1. In the "{% data variables.product.prodname_copilot_business_short %}" section, click **Manage seats**. + + ![Screenshot of the "{% data variables.product.prodname_copilot_business_short %}" section. A button, labeled "Manage seats", is highlighted with an orange outline.](/assets/images/help/copilot/copilot-business-manage-seats.png) + +1. Click **Add teams**. +1. In the dialog, select the teams you want to add, review how your bill will be affected, then click **Add teams**. + +You can add or remove users from a team at any time. After you remove a user from a team, the user's license and access to {% data variables.product.prodname_copilot_short %} will be removed the next time the user attempts to authenticate. This can take **up to 30 minutes**. diff --git a/data/reusables/copilot-business-for-non-ghe/enable-copilot.md b/data/reusables/copilot-business-for-non-ghe/enable-copilot.md new file mode 100644 index 0000000000..af28fff45a --- /dev/null +++ b/data/reusables/copilot-business-for-non-ghe/enable-copilot.md @@ -0,0 +1,7 @@ +Before you can assign licenses, an **enterprise owner** must enable {% data variables.product.prodname_copilot_short %} for the enterprise and select policies for certain features. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.copilot-tab %} +1. Under "{% data variables.product.prodname_copilot %} policies", click **Allowed**, then click **Save**. +1. Review the policies for suggestions matching public code and {% data variables.product.prodname_copilot_chat_short %}, and update the dropdown menus to enable or disable the features as required. diff --git a/data/reusables/copilot-business-for-non-ghe/link-azure-subscription.md b/data/reusables/copilot-business-for-non-ghe/link-azure-subscription.md new file mode 100644 index 0000000000..cbae92091e --- /dev/null +++ b/data/reusables/copilot-business-for-non-ghe/link-azure-subscription.md @@ -0,0 +1,8 @@ +To pay for licenses, you must connect your enterprise to an Azure subscription. + +For an overview of the process, watch [Billing {% data variables.product.company_short %} consumption through an Azure subscription](https://www.youtube.com/watch?v=DAiIhJKCt8s&ab_channel=GitHub) on our YouTube channel. + +For written instructions, read the following sections in the "Connecting an Azure subscription" article: + +* "[Prerequisites](/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription#prerequisites)" +* "[Connecting your Azure subscription to an enterprise account](/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription#connecting-your-azure-subscription-to-your-enterprise-account)" diff --git a/data/reusables/copilot-business-for-non-ghe/manage-your-enterprise.md b/data/reusables/copilot-business-for-non-ghe/manage-your-enterprise.md new file mode 100644 index 0000000000..f57328a1a1 --- /dev/null +++ b/data/reusables/copilot-business-for-non-ghe/manage-your-enterprise.md @@ -0,0 +1,23 @@ +For next steps that apply to any enterprise using {% data variables.product.prodname_copilot_business_short %}, see "[AUTOTITLE](/copilot/setting-up-github-copilot/setting-up-github-copilot-for-your-enterprise)." The step for granting access to organizations does not apply. + +The following sections contain specific information for your enterprise. + +### Automate license management + +You can use the REST API to automate license management. For example, you can list assigned licenses and latest activity, then remove access for users who haven't been using their license. + +To do this in your enterprise, you can use the "[List all {% data variables.product.prodname_copilot_short %} seat assignments for an enterprise](/rest/copilot/copilot-user-management#list-all-copilot-seat-assignments-for-an-enterprise)" endpoint, then use the API to manage access to enterprise teams. To request documentation for the API endpoints for enterprise teams, please contact your account manager. + +### Manage billing + +Your enterprise has access to the enhanced billing platform, which allows you to estimate upcoming spending, control overspending with budgets, and track spending changes over time. + +See "[AUTOTITLE](/billing/using-the-enhanced-billing-platform-for-enterprises)." + +### Configure content exclusions + +You can prevent specified files or repositories from being used to inform code completion suggestions made by {% data variables.product.prodname_copilot %}. {% data variables.product.prodname_copilot %} will not be available in excluded files. + +{% data reusables.enterprise-accounts.policies-tab %} +1. Click the **Content exclusion** tab. +1. Use paths to specify which content to exclude. See "[AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/configuring-content-exclusions-for-github-copilot)." diff --git a/data/reusables/copilot-business-for-non-ghe/prerequisites.md b/data/reusables/copilot-business-for-non-ghe/prerequisites.md new file mode 100644 index 0000000000..f02e3f704e --- /dev/null +++ b/data/reusables/copilot-business-for-non-ghe/prerequisites.md @@ -0,0 +1,2 @@ +* To pay for licenses, you will need a **Microsoft Azure subscription**, which you will connect to your enterprise account. +* Before you enable {% data variables.product.prodname_copilot_short %}, ensure you have reviewed the [{% data variables.product.prodname_copilot %} Product Specific Terms](https://github.com/customer-terms/github-copilot-product-specific-terms). diff --git a/data/reusables/copilot-business-for-non-ghe/request-access.md b/data/reusables/copilot-business-for-non-ghe/request-access.md new file mode 100644 index 0000000000..9e64467b09 --- /dev/null +++ b/data/reusables/copilot-business-for-non-ghe/request-access.md @@ -0,0 +1 @@ +To create an enterprise account, request access from your account team by contacting {% data variables.contact.contact_enterprise_sales %}.