Skip to content

security: update roles and permissions #23071

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
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
98 changes: 56 additions & 42 deletions content/manuals/security/for-admins/roles-and-permissions.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
---
description: >
Use roles in your organization to control who has access to content,
registry, and organization management permissions.
description: Use roles in your organization to control who has access to content, registry, and organization management permissions.
keywords: members, teams, organization, company, roles, access, docker hub, admin console, security
title: Roles and permissions
aliases:
Expand All @@ -11,21 +9,26 @@ weight: 40

{{< summary-bar feature_name="General admin" >}}

Organization and company owners can assign roles to individuals giving them different permissions in the organization. This guide outlines Docker's organization roles and their permission scopes.
This guide outlines Docker's organization roles and their permission scopes.

## Roles

When you invite users to your organization, you assign them a role. A role is a collection of permissions. Roles define whether users can create repositories, pull images, create teams, and configure organization settings.
When you invite users to your organization, you assign them a role. A role is a
collection of permissions. Roles define whether users can create repositories,
pull images, create teams, and configure organization settings.

The following roles are available to assign:

- Member: Non-administrative role. Members can view other members that are in the same organization.
- Distributor Member: Restricted-access role. Distributor Members can only view and pull from repositories they’ve been explicitly granted access to. They cannot view other members or teams.
- Editor: Partial administrative access to the organization. Editors can create, edit, and delete repositories. They can also edit an existing team's access permissions.
- Organization owner: Full organization administrative access. Organization owners can manage organization repositories, teams, members, settings, and billing.
- Company owner: In addition to the permissions of an organization owner, company owners can configure settings for their associated organizations.
- Member: Non-administrative role. Members can view other members that are in
the same organization.
- Editor: Partial administrative access to the organization. Editors can
create, edit, and delete repositories. They can also edit an existing team's
access permissions.
- Owner: Full organization administrative access. Owners can manage organization
repositories, teams, members, settings, and billing.

Owners can manage roles for members of an organization using Docker Hub or the Admin Console:

- Update a member role in [Docker Hub](/manuals/admin/organization/members.md#update-a-member-role)
- Update an organization's members or company in the [Admin Console](/manuals/admin/company/users.md#update-a-member-role)
- Learn more about [organizations and companies](/manuals/admin/_index.md)
Expand All @@ -34,15 +37,18 @@ Owners can manage roles for members of an organization using Docker Hub or the A

> [!NOTE]
>
> Company owners have the same access as organization owners for all associated organizations. For more information, see [Company overview](/admin/company/).
> Company owners have the same access as owners for all associated organizations. For more information, see [Company overview](/admin/company/).

The following sections describe the permissions for each role.

### Content and registry permissions

The following table outlines content and registry permissions for member, editor, and organization owner roles. These permissions and roles apply to the entire organization, including all the repositories in the namespace for the organization.
The following table outlines content and registry permissions for member,
editor, and owner roles. These permissions and roles apply to the entire
organization, including all the repositories in the namespace for the
organization.

| Permission | Member | Editor | Organization owner |
| Permission | Member | Editor | Owner |
| :---------------------------------------------------- | :----- | :----- | :----------------- |
| Explore images and extensions | ✅ | ✅ | ✅ |
| Star, favorite, vote, and comment on content | ✅ | ✅ | ✅ |
Expand All @@ -59,45 +65,52 @@ The following table outlines content and registry permissions for member, editor
| View teams | ✅ | ✅ | ✅ |
| Assign team permissions to repositories | ❌ | ✅ | ✅ |

When you add members to a team, you can manage their repository permissions. For team repository permissions, see [Create and manage a team permissions reference](/manuals/admin/organization/manage-a-team.md#permissions-reference).
When you add members to a team, you can manage their repository permissions.
For team repository permissions, see [Create and manage a team permissions reference](/manuals/admin/organization/manage-a-team.md#permissions-reference).

The following diagram provides an example of how permissions may work for a user. In this example, the first permission check is for the role: member or editor. Editors have administrative permissions for repositories across the namespace of the organization. Members may have administrative permissions for a repository if they're a member of a team that grants those permissions.
The following diagram provides an example of how permissions may work for a
user. In this example, the first permission check is for the role: member or
editor. Editors have administrative permissions for repositories across the
namespace of the organization. Members may have administrative permissions for
a repository if they're a member of a team that grants those permissions.

![User repository permissions within an organization](../images/roles-and-permissions-member-editor-roles.png)

### Organization management permissions

The following table outlines organization management permissions for member, editor, organization owner, and company owner roles.

| Permission | Member | Editor | Organization owner | Company owner |
| :---------------------------------------------------------------- | :----- | :----- | :----------------- | :------------ |
| Create teams | ❌ | ❌ | ✅ | ✅ |
| Manage teams (including delete) | ❌ | ❌ | ✅ | ✅ |
| Configure the organization's settings (including linked services) | ❌ | ❌ | ✅ | ✅ |
| Add organizations to a company | ❌ | ❌ | ✅ | ✅ |
| Invite members | ❌ | ❌ | ✅ | ✅ |
| Manage members | ❌ | ❌ | ✅ | ✅ |
| Manage member roles and permissions | ❌ | ❌ | ✅ | ✅ |
| View member activity | ❌ | ❌ | ✅ | ✅ |
| Export and reporting | ❌ | ❌ | ✅ | ✅ |
| Image Access Management | ❌ | ❌ | ✅ | ✅ |
| Registry Access Management | ❌ | ❌ | ✅ | ✅ |
| Set up Single Sign-On (SSO) and SCIM | ❌ | ❌ | ✅ \* | ✅ |
| Require Docker Desktop sign-in | ❌ | ❌ | ✅ \* | ✅ |
| Manage billing information (for example, billing address) | ❌ | ❌ | ✅ | ✅ |
| Manage payment methods (for example, credit card or invoice) | ❌ | ❌ | ✅ | ✅ |
| View billing history | ❌ | ❌ | ✅ | ✅ |
| Manage subscriptions | ❌ | ❌ | ✅ | ✅ |
| Manage seats | ❌ | ❌ | ✅ | ✅ |
| Upgrade and downgrade plans | ❌ | ❌ | ✅ | ✅ |
The following table outlines organization management permissions for member,
editor, owner, and company owner roles.

| Permission | Member | Editor | Owner |
| :---------------------------------------------------------------- | :----- | :----- | :----------------- |
| Create teams | ❌ | ❌ | ✅ |
| Manage teams (including delete) | ❌ | ❌ | ✅ |
| Configure the organization's settings (including linked services) | ❌ | ❌ | ✅ |
| Add organizations to a company | ❌ | ❌ | ✅ |
| Invite members | ❌ | ❌ | ✅ |
| Manage members | ❌ | ❌ | ✅ |
| Manage member roles and permissions | ❌ | ❌ | ✅ |
| View member activity | ❌ | ❌ | ✅ |
| Export and reporting | ❌ | ❌ | ✅ |
| Image Access Management | ❌ | ❌ | ✅ |
| Registry Access Management | ❌ | ❌ | ✅ |
| Set up Single Sign-On (SSO) and SCIM | ❌ | ❌ | ✅ \* |
| Require Docker Desktop sign-in | ❌ | ❌ | ✅ \* |
| Manage billing information (for example, billing address) | ❌ | ❌ | ✅ |
| Manage payment methods (for example, credit card or invoice) | ❌ | ❌ | ✅ |
| View billing history | ❌ | ❌ | ✅ |
| Manage subscriptions | ❌ | ❌ | ✅ |
| Manage seats | ❌ | ❌ | ✅ |
| Upgrade and downgrade plans | ❌ | ❌ | ✅ |

_\* If not part of a company_

### Docker Scout permissions

The following table outlines Docker Scout management permissions for member, editor, and organization owner roles.
The following table outlines Docker Scout management permissions for member,
editor, and owner roles.

| Permission | Member | Editor | Organization owner |
| Permission | Member | Editor | Owner |
| :---------------------------------------------------- | :----- | :----- | :----------------- |
| View and compare analysis results | ✅ | ✅ | ✅ |
| Upload analysis records | ✅ | ✅ | ✅ |
Expand All @@ -107,9 +120,10 @@ The following table outlines Docker Scout management permissions for member, edi

### Docker Build Cloud permissions

The following table outlines Docker Build Cloud management permissions for member, editor, and organization owner roles.
The following table outlines Docker Build Cloud management permissions for
member, editor, and owner roles.

| Permission | Member | Editor | Organization owner |
| Permission | Member | Editor | Owner |
| ---------------------------- | :----- | :----- | :----------------- |
| Use a cloud builder | ✅ | ✅ | ✅ |
| Create and remove builders | ✅ | ✅ | ✅ |
Expand Down