Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 0 additions & 67 deletions content/admin/concepts/best-practices-for-enterprises.md

This file was deleted.

65 changes: 65 additions & 0 deletions content/admin/concepts/best-practices.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
title: Best practices for organizing work in your enterprise
shortTitle: Best practices
intro: Promote collaboration and manage resources at scale by following {% data variables.product.company_short %}-recommended practices for managing organizations and teams.
versions:
ghec: '*'
ghes: '*'
contentType: concepts
topics:
- Accounts
- Enterprise
- Fundamentals
redirect_from:
- /admin/overview/best-practices-for-enterprises
- /admin/user-management/managing-organizations-in-your-enterprise/best-practices-for-structuring-organizations-in-your-enterprise
- /admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/best-practices-for-structuring-organizations-in-your-enterprise
- /admin/concepts/best-practices-for-enterprises
allowTitleToDifferFromFilename: true
---

## Use organizations for work or governance

There are two main models of using organizations:

* **Group related work projects**: Group repositories for a specific application and related services. Teams that work on that application will then be able to communicate effectively and contribute across the different repositories.
* **Group similar governance requirements**: Group repositories that require similar policies, security settings, or access restrictions. You will be able to apply the necessary settings to the organization at scale. For example, if you have highly confidential work projects or a specific data classification, group these in an organization where only a limited number of people have access.

## Create organizations intentionally

Creating organizations is a balance. While {% data variables.product.company_short %} continues to make organization management more scalable, you should be intentional about why you create an organization. It's always easier to add organizations than to remove them.

Don't try to fit unnatural pieces of your company together into a single large organization. The administrative features of an enterprise account allow you to automate processes, manage access, and apply policies across multiple organizations at once. However, there are tradeoffs of segregating work into many different organizations:

* It's easier for people to communicate within one organization, as @-mentions only work between members of the same organization.
* It's easier for people to find resources in one organization, as there's only one place to search.

You may want to start with a small number of organizations as you develop your strategy. After you build confidence in what works well for your business, you can create additional organizations as the need arises.

You should regularly evaluate your strategies for access, governance, and organization of work. Cleaning up legacy organizations is a part of that process.

{% ifversion enterprise-teams %}

## Use teams to organize people

>[!NOTE] Enterprise teams are in public preview and subject to change.

Enterprise teams are the best way to control access and permissions at scale. Create teams and manage their membership as your primary means of performing actions like adding users to organizations, granting licenses, and delegating access to enterprise settings.

When you use teams in this way, controlling membership of teams is a sensitive action. Limit the permission to control teams and their membership to a small number of people. If you use an external identity provider (IdP), sync teams to IdP groups so that team membership can be controlled by a central administrator.

Use roles to delegate administrative duties to teams. This allows you to limit the number of enterprise owners in your company and give people just the permissions they need to do their jobs effectively. For example, a team of auditors can receive access to the enterprise audit log without being able to access any other settings.

{% endif %}

## Collaborate in organization-owned repositories

We recommend collaborating in organization-owned repositories whenever possible and minimizing collaboration in user-owned repositories. Organization-owned repositories have more sophisticated security and administrative features, and they remain accessible even as enterprise membership changes.

{% ifversion ghec %}

## Next steps

Learn how to set up your enterprise according to best practices in our [AUTOTITLE](/enterprise-cloud@latest/enterprise-onboarding) journey for {% data variables.product.prodname_ghe_cloud %}.

{% endif %}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Enterprise accounts
intro: 'Learn how enterprise accounts enable scalability by simplifying administration and billing across multiple organizations.'
intro: 'Get started with top-down administration by understanding the key components of an enterprise account.'
redirect_from:
- /articles/about-github-business-accounts
- /articles/about-enterprise-accounts
Expand All @@ -11,6 +11,7 @@ redirect_from:
- /github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/about-enterprise-accounts
- /admin/overview/about-enterprise-accounts
- /admin/managing-your-enterprise-account/about-enterprise-accounts
- /admin/overview/feature-overview-for-github-enterprise-cloud
versions:
ghec: '*'
ghes: '*'
Expand All @@ -21,51 +22,83 @@ topics:
- Fundamentals
---

## What are enterprise accounts?
An enterprise account is the central point of administration for your business on {% data variables.product.github %}. It brings together administrative tools for access management, policies, billing, and more. Enterprise administrators can set up features and policies efficiently at scale before deploying them across the business.

<!-- expires 2026-01-30 -->
This guide provides an overview of the major administrative features included in an enterprise account. By understanding the tools at your disposal, you will be able to adapt {% data variables.product.github %} to your unique needs, set your business up for future scaling, and enable teams to focus on strategic work.

<!-- When this expires, check with the stakeholder for release #4079 on whether or not the content is still needed -->
## Users

{% ifversion ghec %}
> [!NOTE] {% data variables.product.prodname_ghe_cloud %} customers who use a single organization are being automatically upgraded to an enterprise account at no additional cost. For details, see [AUTOTITLE](/admin/managing-your-enterprise-account/creating-an-enterprise-account#what-will-happen-after-i-upgrade-my-organization).
Your enterprise contains all the users who need to access any part of your company's resources on {% data variables.product.github %}. Users can be grouped into teams and given access to organizations.

{% ifversion ghes %}
On {% data variables.product.prodname_ghe_server %}, you have a range of options for creating and authenticating user accounts, including built-in accounts or provisioning accounts from an identity provider.
{% else %}
Depending on your enterprise type, you will invite users into your enterprise with their existing {% data variables.product.github %} account, or provision dedicated accounts from a central identity provider.
{% endif %}

<!-- end expires 2026-01-30 -->
By default, most users have a non-administrative role in your enterprise, which means they have little reason to interact with the enterprise account itself. However, you can change this by granting enterprise roles that provide access to specific settings.

## Organizations

An enterprise account may contain one or more organizations. Like an enterprise account, an organization account contains its own administrative features such as audit logs, policies, and teams.

An organization also contains the places where non-admins typically do their work, such as repositories, discussions, and projects. The users in an organization are the people who need to access these places to do their jobs.

Generally, you can govern organizations consistently from your enterprise account. To allow for more tailored and granular administration, you can also delegate some decisions, such as policy settings, to organization administrators.

{% ifversion enterprise-teams %}

## Teams

Teams are groups of users that you can use to manage people's access to organizations, roles, and licenses at scale. You can use teams to add people to shared projects or delegate duties to specialized teams.

You can define teams at the enterprise level, then grant them administrative roles or add them to organizations, where they can receive organization-level roles and repository access.

Teams can be synced with IdP groups, allowing you to manage any privileges that come with team membership directly from your company's centralized identity management system.

An enterprise account enables centralized management for **multiple organizations**.
{% endif %}

## Repositories

Administrators for the enterprise account can:
Repositories host files such as your company's source code or internal documentation. They are where developers typically do their work, and they contain their own features and administration options that need to live closer to the code, such as {% data variables.product.prodname_actions %} workflows.

* View and manage enterprise membership
* Manage billing and usage
* Configure security, such as single sign-on, IP allow lists, SSH certificate authorities, and two-factor authentication
* Stream audit and Git events data
* Use internal repositories
* Access features like {% data variables.copilot.copilot_enterprise %} and {% data variables.product.prodname_AS %}{% ifversion ghas-products %} products{% endif %}
* Enforce policies. See [AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/about-enterprise-policies).
Repositories are owned by organizations and are not directly accessible under the enterprise account.{% ifversion custom-properties-enterprise %} However, your enterprise can define custom properties to apply the same governance model to all repositories with shared characteristics. For example, if you do not want anyone to delete repositories that contain production code, this is something you can govern from the enterprise level.{% endif %}

{% ifversion ghec %}

{% data reusables.enterprise.create-an-enterprise-account %} See [AUTOTITLE](/admin/managing-your-enterprise-account/creating-an-enterprise-account).
## Cost centers

Cost centers allow you to allocate spending on {% data variables.product.github %} features to specific business units. They let you define your billing structure independently from other parts of the enterprise, so you can focus on using organization accounts to group related work or governance requirements.

If your account is billed through Azure, cost centers also allow you to bill usage to multiple different Azure subscriptions.

## Policies

Enterprise administrators can set policies to govern how people work across your enterprise, such as:

* IP allow lists to enforce restrictions on where people can access your enterprise
* {% data variables.product.prodname_copilot_short %} policies to govern which features and models people can use
* Repository policies to control who can do things like delete, rename, or transfer repositories
* Rulesets to define how people can interact with important branches, such as requiring pull requests with reviews

{% endif %}

## What if I use multiple deployment options?
{% ifversion enterprise-apps-public-beta %}

If you use both {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %}, you'll have **an enterprise account for each.**
## Apps

For the most part, you will manage each enterprise account separately. For example, you will configure the policies and settings for your {% data variables.product.prodname_ghe_server %} instance using the enterprise account on {% data variables.product.prodname_ghe_server %}.
{% data variables.product.prodname_github_apps %} are a secure way to manage automations across your enterprise. A {% data variables.product.prodname_github_app %} is a dedicated identity that provides scoped tokens to your external scripts and workflows, allowing you to automate processes and integrate with other platforms.

However, you can also use the enterprise account on {% data variables.product.prodname_ghe_cloud %} to view all license usage across all deployments. This allows you to ensure people with accounts in both environments only consume one user license. See [AUTOTITLE](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud).
In your enterprise account, you can define app registrations to automate a process consistently across organizations.{% ifversion enterprise-installed-apps %} You can also install apps for automations that take actions on the enterprise account itself, such as creating organizations.{% endif %}

## What if I only use {% data variables.product.prodname_ghe_server %}?
Users can also authorize {% data variables.product.prodname_github_apps %} to use their {% data variables.product.github %} account and data in other applications—for example, to use their {% data variables.product.github %} account to sign in to an IDE or connect a CI provider to your repositories.

Even if you **only** use {% data variables.product.prodname_ghe_server %}, we recommend creating an enterprise account on {% data variables.product.prodname_ghe_cloud %}. This will make it easier to contact {% data variables.contact.enterprise_support %} and share support bundles with them.
{% endif %}

To create an additional enterprise account on {% data variables.product.prodname_ghe_cloud %}, contact [{% data variables.product.prodname_dotcom %}'s Sales team](https://enterprise.github.com/contact).
{% ifversion ghec %}

## Further reading
## Next steps

* [AUTOTITLE](/graphql/guides/managing-enterprise-accounts) in the GraphQL API documentation {% ifversion ghec %}
* [AUTOTITLE](/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise){% endif %}
Learn how to set up these features with our [AUTOTITLE](/enterprise-cloud@latest/enterprise-onboarding) journey for {% data variables.product.prodname_ghe_cloud %}.

{% endif %}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Teams in an enterprise
intro: 'Learn how teams simplify administration of user access, licensing, and communication.'
intro: 'Simplify administration of user access, licensing, and communication with teams.'
versions:
feature: enterprise-teams
shortTitle: Teams
Expand Down
5 changes: 3 additions & 2 deletions content/admin/concepts/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Concepts for enterprises
shortTitle: Concepts
intro: 'Learn the core concepts that you''ll need to understand {% data variables.location.product_location %}.'
intro: Learn the core concepts that you'll need to understand {% data variables.location.product_location %}.
versions:
ghes: '*'
ghec: '*'
Expand All @@ -11,6 +11,7 @@ children:
- /enterprise-fundamentals
- /identity-and-access-management
- /security-and-compliance
- /best-practices-for-enterprises
- /best-practices
contentType: concepts
---

Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ redirect_from:

## Available features

{% data variables.product.prodname_ghe_cloud %} is a developer platform that supports the entire software development lifecycle, including planning work, automating tests and deployments, and keeping code secure. To learn about available features, see [AUTOTITLE](/enterprise-cloud@latest/admin/overview/feature-overview-for-github-enterprise-cloud).
{% data variables.product.prodname_ghe_cloud %} is a developer platform that supports the entire software development lifecycle, including planning work, automating tests and deployments, and keeping code secure. To learn about available features, see [{% data variables.product.company_short %}'s plans page](https://github.com/pricing).

## Currently unavailable features

Expand Down
1 change: 0 additions & 1 deletion content/admin/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,6 @@ featuredLinks:
- '/admin/concepts/identity-and-access-management\identity-and-access-management-fundamentals'
- '{% ifversion ghec %}/admin/concepts/identity-and-access-management/enterprise-types-for-github-enterprise-cloud{% endif %}'
- '{% ifversion ghec %}/admin/managing-accounts-and-repositories/managing-roles-in-your-enterprise/abilities-of-roles{% endif %}'
- /admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/best-practices-for-structuring-organizations-in-your-enterprise
- '{% ifversion ghes %}/admin/getting-started-with-enterprise/about-upgrades-to-new-releases{% endif %}'
- '{% ifversion ghes %}/billing/how-tos/set-up-payment/manage-enterprise-invoice{% endif %}'
guideCards:
Expand Down
Loading
Loading