diff --git a/content/manuals/ai/sandboxes/governance/access-controls/organization.md b/content/manuals/ai/sandboxes/governance/access-controls/organization.md index eb1c9402d3d1..18d8eeb14cef 100644 --- a/content/manuals/ai/sandboxes/governance/access-controls/organization.md +++ b/content/manuals/ai/sandboxes/governance/access-controls/organization.md @@ -26,7 +26,7 @@ By default, only organization [owners](/manuals/enterprise/security/roles-and-permissions/core-roles.md) can view and manage AI Governance policies. To let someone other than an owner manage policies, create a -[custom role](/manuals/enterprise/security/roles-and-permissions/custom-roles.md) +[custom role](/manuals/enterprise/security/roles-and-permissions/custom-roles/_index.md) with the **Governance** permissions and assign it to a user or team. > [!NOTE] diff --git a/content/manuals/ai/sandboxes/governance/audit/_index.md b/content/manuals/ai/sandboxes/governance/audit/_index.md index 29fa19d15d2c..220cabdbda4c 100644 --- a/content/manuals/ai/sandboxes/governance/audit/_index.md +++ b/content/manuals/ai/sandboxes/governance/audit/_index.md @@ -32,7 +32,7 @@ To use AI Governance Audit Logs, your organization needs: - A Docker [AI Governance plan](/manuals/subscription/plans/ai-governance.md) - An enforced organization governance policy - A Docker organization account -- An organization owner, or a user with a [custom role](/manuals/enterprise/security/roles-and-permissions/custom-roles.md) that includes AI Governance audit permissions, to configure delivery and view hosted events +- An organization owner, or a user with a [custom role](/manuals/enterprise/security/roles-and-permissions/custom-roles/_index.md) that includes AI Governance audit permissions, to configure delivery and view hosted events > [!NOTE] > Other Docker subscriptions are not sufficient on their own to use AI Governance @@ -58,7 +58,7 @@ Docker supports two delivery modes for audit records: app.docker.com. Cloud delivery is on by default when AI Governance is enabled. Organization owners can disable it in [audit delivery settings](configure.md). -Organization owners and users with a [custom role](/manuals/enterprise/security/roles-and-permissions/custom-roles.md) that includes AI Governance audit permissions can configure local disk, Docker Cloud, or both. +Organization owners and users with a [custom role](/manuals/enterprise/security/roles-and-permissions/custom-roles/_index.md) that includes AI Governance audit permissions can configure local disk, Docker Cloud, or both. The hosted audit log view, CSV export, and SIEM forwarding all require Docker Cloud delivery to be enabled. Local delivery alone does not power these features. diff --git a/content/manuals/ai/sandboxes/governance/audit/configure.md b/content/manuals/ai/sandboxes/governance/audit/configure.md index d773b6db8ad3..38342b898f44 100644 --- a/content/manuals/ai/sandboxes/governance/audit/configure.md +++ b/content/manuals/ai/sandboxes/governance/audit/configure.md @@ -6,7 +6,7 @@ description: Configure local and cloud delivery, retention, and history for Dock keywords: docker sandboxes, audit delivery, AI Governance, audit logs, retention, cloud delivery, AI Platform --- -Organization owners and users with a [custom role](/manuals/enterprise/security/roles-and-permissions/custom-roles.md) that includes AI Governance audit permissions can configure where Docker writes audit events. +Organization owners and users with a [custom role](/manuals/enterprise/security/roles-and-permissions/custom-roles/_index.md) that includes AI Governance audit permissions can configure where Docker writes audit events. Two delivery destinations are available and can be used independently or together: @@ -21,7 +21,7 @@ Your organization needs: - A Docker [AI Governance plan](/manuals/subscription/plans/ai-governance.md) - An enforced organization governance policy -- Organization owner access, or a [custom role](/manuals/enterprise/security/roles-and-permissions/custom-roles.md) with AI Governance audit permissions +- Organization owner access, or a [custom role](/manuals/enterprise/security/roles-and-permissions/custom-roles/_index.md) with AI Governance audit permissions Only users who have an AI Governance license and are governed by the enforced organization policy send Docker Sandboxes audit data. diff --git a/content/manuals/build-cloud/_index.md b/content/manuals/build-cloud/_index.md index 85a2308b52b7..80458665e99d 100644 --- a/content/manuals/build-cloud/_index.md +++ b/content/manuals/build-cloud/_index.md @@ -56,12 +56,12 @@ To get started with Docker Build Cloud, to get access to Docker Build Cloud: - Users with a free Personal account can opt-in to a 7-day free trial, with the option -to subscribe for access. To start your free trial, sign in to [Docker Build Cloud Dashboard](https://app.docker.com/build/) and follow the on-screen instructions. + to subscribe for access. To start your free trial, sign in to [Docker Build Cloud Dashboard](https://app.docker.com/build/) and follow the on-screen instructions. - All users with a paid Docker subscription have access to Docker Build Cloud included -with their Docker suite of products. See [Docker subscriptions and features](https://www.docker.com/pricing?ref=Docs&refAction=DocsBuildCloud) for more information. + with their Docker suite of products. See [Docker subscriptions and features](https://www.docker.com/pricing?ref=Docs&refAction=DocsBuildCloud) for more information. Once you've signed up and created a builder, continue by [setting up the builder in your local environment](./setup.md). For information about roles and permissions related to Docker Build Cloud, see -[Roles and Permissions](/manuals/enterprise/security/roles-and-permissions.md#docker-build-cloud-permissions). +[Roles and Permissions](/manuals/enterprise/security/roles-and-permissions/core-roles.md#docker-build-cloud). diff --git a/content/manuals/dhi/how-to/mirror.md b/content/manuals/dhi/how-to/mirror.md index e5e4823ab9b8..b942a01862a5 100644 --- a/content/manuals/dhi/how-to/mirror.md +++ b/content/manuals/dhi/how-to/mirror.md @@ -34,7 +34,7 @@ repositories: ## Mirror a DHI repository to your organization -Organization owners, editors, and members with a [custom role](../../enterprise/security/roles-and-permissions/custom-roles.md) +Organization owners, editors, and members with a [custom role](../../enterprise/security/roles-and-permissions/custom-roles/_index.md) that includes the DHI mirroring permission can create, view, and manage mirrors. When using the CLI or Terraform, you can also mirror using an [organization access token (OAT)](../../enterprise/security/access-tokens.md) with the diff --git a/content/manuals/enterprise/security/roles-and-permissions/_index.md b/content/manuals/enterprise/security/roles-and-permissions/_index.md index 93e8e8472d4f..54d7e0239879 100644 --- a/content/manuals/enterprise/security/roles-and-permissions/_index.md +++ b/content/manuals/enterprise/security/roles-and-permissions/_index.md @@ -1,75 +1,68 @@ --- -title: Roles and permissions +title: Docker organization roles and permissions linkTitle: Roles and permissions -description: Control access to content, registry, and organization management with Docker's role system -keywords: roles, permissions, custom roles, core roles, access control, organization management, docker hub, docker home , security +description: >- + Choose core or custom roles to control access to repositories, teams, and + organization settings +keywords: >- + Docker organization roles, permissions, core roles, custom roles, Member, + Editor, Owner, access control, least privilege, Docker Business, security tags: [admin] aliases: - /admin/organization/roles/ - /security/for-admins/roles-and-permissions/ - /docker-hub/roles-and-permissions/ grid: - - title: "Core roles" - description: Learn about Docker's built-in Member, Editor, and Owner roles with predefined permissions. + - title: Core roles + description: >- + Compare permissions for the built-in Member, Editor, and Owner roles. icon: shield-check link: /enterprise/security/roles-and-permissions/core-roles/ - - title: "Custom roles" - description: Create tailored permission sets that match your organization's specific needs. + - title: Custom roles + description: >- + Build permission sets that match your organization's access control needs. icon: adjustments-horizontal link: /enterprise/security/roles-and-permissions/custom-roles/ + - title: Custom roles permissions + description: >- + Review every permission you can assign to a custom role. + icon: list-bullet + link: /enterprise/security/roles-and-permissions/custom-roles/permissions-reference/ weight: 40 --- {{< summary-bar feature_name="General admin" >}} -Roles control what users can do in your Docker organization. When you invite users or create teams, you assign them roles that determine their permissions for repositories, teams, and organization settings. +Roles determine what members can do in your Docker organization. When you +invite a user or create a team, you assign a role that grants permissions +for repositories, teams, and organization settings. -Docker provides two types of roles to meet different organizational needs: +Docker provides two role types. Users and teams get either a core role or a +custom role, but not both. -- [Core roles](/manuals/enterprise/security/roles-and-permissions/core-roles.md) with predefined permissions -- [Custom roles](/manuals/enterprise/security/roles-and-permissions/custom-roles.md) that you can tailor to your specific requirements +## Core roles -## Docker roles +Core roles are Docker's built-in Member, Editor, and Owner roles. Their +permissions are predefined. Use core roles when Docker's permission sets match +your organization's needs. -### Core roles +## Custom roles -Core roles are Docker's built-in roles with predefined permission sets: +Custom roles are permission sets you build by selecting individual +permissions, such as billing or team management. Use custom roles when you +need a combination that core roles don't offer. For example, you may create a custom role for a billing +administrator or a security auditor, or when you want to grant +least-privilege access. -- **Member**: Non-administrative role with basic access. Members can view other organization members and pull images from repositories they have access to. -- **Editor**: Partial administrative access. Editors can create, edit, and delete repositories, and manage team permissions for repositories. -- **Owner**: Full administrative access. Owners can manage all organization settings, including repositories, teams, members, billing, and security features. +Custom roles require a Docker Business subscription. -### Custom roles +## Roles and team permissions -Custom roles allow you to create tailored permission sets by selecting specific permissions from categories like user management, team management, billing, and Hub permissions. Use custom roles when Docker's core roles don't fit your needs. - -## When to use each role - -Use core roles when: - -- Docker's predefined permission sets match your organizational structure -- You want simple, straightforward role assignments -- You're getting started with Docker organization management -- Your access control needs are standard and don't require fine-grained permissions - -Use custom roles when: - -- You need specific permission combinations not available in core roles -- You want to create specialized roles like billing administrators, security auditors, or repository managers -- You need department-specific access control -- You want to implement the principle of least privilege with precise permission grants - -## How roles work together - -You can assign users and teams either a core role or a custom role, but not both. However, roles work in combination with team permissions: - -1. **Role permissions**: Applied organization-wide (core or custom role). Custom roles can grant permissions to both organization-wide settings and repository access. -2. **Team permissions**: Additional repository-specific permissions when users are added to teams. This is a separate permission system from role-based permissions. - -This layered approach gives you flexibility to provide broad organizational access through roles and specific repository access through team memberships. +Roles apply organization-wide. Team permissions apply to specific +repositories. The two systems work together: a user's role sets their +organization-wide access and team membership can extend their access to +individual repositories. ## Next steps -Choose the role type that best fits your organization's needs: - {{< grid >}} diff --git a/content/manuals/enterprise/security/roles-and-permissions/core-roles.md b/content/manuals/enterprise/security/roles-and-permissions/core-roles.md index d4ff86b699c8..fe2036836c77 100644 --- a/content/manuals/enterprise/security/roles-and-permissions/core-roles.md +++ b/content/manuals/enterprise/security/roles-and-permissions/core-roles.md @@ -1,38 +1,45 @@ --- -title: Core roles and permissions +title: Docker core roles and permissions linkTitle: Core roles -description: Compare Member, Editor, and Owner permissions for content, registry, and organization management. -keywords: core roles, member, editor, owner, permissions, organization, company, docker hub, docker home, security, oidc connections, teams -aliases: - - /enterprise/security/roles-and-permissions/ +description: >- + Compare Member, Editor, and Owner permissions across Docker products +keywords: >- + Docker roles, core roles, Member role, Editor role, Owner role, organization + permissions, company owner, Docker Hub, Docker Scout, Docker Build Cloud, + OIDC, teams, access control, Docker Business, custom roles +weight: 10 --- {{< summary-bar feature_name="General admin" >}} -Core roles are Docker's built-in roles with predefined permission sets. -This page summarizes permissions for each core role. +Docker organizations use built-in Member, Editor, and Owner roles with +predefined permissions. This reference compares their permissions across +Docker products. To assign a different combination of permissions, use +[custom roles](/manuals/enterprise/security/roles-and-permissions/custom-roles/_index.md) +instead. -## What are core roles? +## Core roles Docker organizations have three core roles: -- **Member**: Non-administrative role with basic access. Members can - view other organization members and pull images from repositories - they have access to. -- **Editor**: Partial administrative access. Editors can create, edit, - and delete repositories. They can also manage team permissions for +- Owner provides full administrative access. Owners can manage all + organization settings, including repositories, teams, members, billing, + and security features. +- Editor has partial administrative access. Editors can create, edit, and + delete repositories. They can also manage team permissions for repositories. -- **Owner**: Full administrative access. Owners can manage all - organization settings, including repositories, teams, members, - billing, and security features. - -A company owner has the same organization management permissions as an -organization owner, but there are some content and registry permissions -that company owners don't have (for example, repository pull/push). For -more information, see +- Member has basic, non-administrative access. Members can view + other organization members and pull images from repositories they have + access to. + +A company owner has the same organization-management permissions as an +organization owner. Content and registry permissions, such as repository +pull and push, don't apply to company owners. For more information, see [Company overview](/manuals/admin/company/_index.md). -### Content and registry permissions +## Permissions reference + +### Content and registry These permissions apply organization-wide. @@ -57,18 +64,17 @@ These permissions apply organization-wide. | Assign team permissions to repositories | ❌ | ✅ | ✅ | | Manage OIDC connections | ❌ | ✅ | ✅ | -You can grant repository permissions to members beyond their -organization role: +You can grant repository permissions beyond a member's organization role: - Role permissions: Applied organization-wide (member or editor) - Team permissions: Additional permissions for specific repositories To extend access to private repositories, configure team permissions. -Custom roles can grant organization-wide permissions to manage -repositories (create, edit, delete) but do not grant pull access to -private repositories — use team permissions for that. +Custom roles can grant organization-wide permissions to manage repositories +(create, edit, delete) but don't grant pull access to private repositories. +Use team permissions for that. -### Organization management permissions +### Organization management | Permission | Member | Editor | Owner | | :---------------------------------------------------------------- | :----- | :----- | :---- | @@ -95,13 +101,13 @@ private repositories — use team permissions for that. > [!TIP] > -> If you want more granular access control, you can +> For more granular access control, > [upgrade to a Docker Business plan](https://www.docker.com/pricing?ref=Docs&refAction=DocsEnterpriseCoreRoles) -> for custom roles and advanced permissions. +> to use [custom roles](/manuals/enterprise/security/roles-and-permissions/custom-roles/_index.md). _\* If not part of a company_ -### Docker Scout permissions +### Docker Scout | Permission | Member | Editor | Owner | | :---------------------------------------------------- | :----- | :----- | :---- | @@ -111,7 +117,7 @@ _\* If not part of a company_ | Create environments | ❌ | ❌ | ✅ | | Manage registry integrations | ❌ | ❌ | ✅ | -### Docker Build Cloud permissions +### Docker Build Cloud | Permission | Member | Editor | Owner | | -------------------------- | :----- | :----- | :---- | @@ -120,3 +126,12 @@ _\* If not part of a company_ | Configure builder settings | ✅ | ✅ | ✅ | | Buy minutes | ❌ | ❌ | ✅ | | Manage subscription | ❌ | ❌ | ✅ | + +## Next steps + +- [Custom roles](/manuals/enterprise/security/roles-and-permissions/custom-roles/_index.md): + Create tailored permission sets on a Docker Business plan +- [Manage organization members](/manuals/admin/organization/manage/members.md): + Invite users and assign roles +- [Company overview](/manuals/admin/company/_index.md): Understand company + owner permissions versus organization owner permissions diff --git a/content/manuals/enterprise/security/roles-and-permissions/custom-roles.md b/content/manuals/enterprise/security/roles-and-permissions/custom-roles.md deleted file mode 100644 index fb94ec2e18cd..000000000000 --- a/content/manuals/enterprise/security/roles-and-permissions/custom-roles.md +++ /dev/null @@ -1,200 +0,0 @@ ---- -title: Custom roles -description: Create tailored permission sets for your organization with custom roles -keywords: custom roles, permissions, access control, organization management, docker hub, docker home, security ---- - -{{< summary-bar feature_name="General admin" >}} - -Custom roles allow you to create tailored permission sets that match your -organization's specific needs. This page covers custom roles and steps -to create and manage them. - -## What are custom roles? - -Custom roles let you create tailored permission sets for your organization. You -can assign custom roles to individual users or teams. -Users and teams get either a core role or custom role, but not both. - -Use custom roles when Docker's core roles don't fit your needs. - -## Prerequisites - -To configure custom roles, you need owner permissions in your Docker -organization. - -## Create a custom role - -Before you can assign a custom role to users, you must create one: - -1. Sign in to [Docker Home](https://app.docker.com). -2. Select **Roles**, then **Create role**. -3. Create a name and describe what the role is for: - - Provide a **Label** - - Enter a unique **Name** identifier (can't be changed later) - - Add an optional **Description** -4. Set permissions for the role by expanding permission categories and selecting - the checkboxes for permissions. For a full list of available permissions, see - the [custom roles permissions reference](#custom-roles-permissions-reference). -5. Select **Review** to review your custom roles configuration and see a summary - of selected permissions. -6. Select **Create**. - -With a custom role created, you can now [assign custom roles to users](#assign-custom-roles). - -## Edit a custom role - -1. Sign in to [Docker Home](https://app.docker.com). -2. Select **Roles**. -3. Find your custom role from the list, and select the **Actions menu**. -4. Select **Edit**. -5. You can edit the following custom role settings: - - Label - - Description - - Permissions -6. After you have finished editing, select **Save**. - -## Assign custom roles - -{{< tabs >}} -{{< tab name="Individual users" >}} - -1. Sign in to [Docker Home](https://app.docker.com). -2. Select **Members**. -3. Locate the member you want to assign a custom role to, then select the - **Actions menu**. -4. In the drop-down, select **Change role**. -5. In the **Select a role** drop-down, select your custom role. -6. Select **Save**. - -{{< /tab >}} -{{< tab name="Bulk users" >}} - -1. Sign in to [Docker Home](https://app.docker.com). -2. Select **Members**. -3. Use the checkboxes in the username column to select all users you want - to assign a custom role to. -4. Select **Change role**. -5. In the **Select a role** drop-down, select your custom role or a core role. -6. Select **Save**. - -{{< /tab >}} -{{< tab name="Teams" >}} - -1. Sign in to [Docker Home](https://app.docker.com). -2. Select **Teams**. -3. Locate the team you want to assign a custom role to, then select - the **Actions menu**. -4. Select **Assign role**. -5. Select your custom role, then select **Assign**. - -The role column will update to the newly assigned role. - -{{< /tab >}} -{{< /tabs >}} - -## View role assignments - -To see which users and teams are assigned to roles: - -1. Sign in to [Docker Home](https://app.docker.com). -2. Select **Roles** -3. In the roles list, view the **Users** and **Teams** columns to see - assignment counts. -4. Select a specific role to view its permissions and assignments in detail. - -## Reassign custom roles - -{{< tabs >}} -{{< tab name="Individual users" >}} - -1. Sign in to [Docker Home](https://app.docker.com). -2. Select **Members**. -3. Locate the member you want to reassign, then select the **Actions menu**. -4. Select **Change role**. -5. In the **Select a role** drop-down, select the new role. -6. Select **Save**. - -{{< /tab >}} -{{< tab name="Bulk users" >}} - -1. Sign in to [Docker Home](https://app.docker.com). -2. Select **Members**. -3. Use the checkboxes in the username column to select all users you want - to reassign. -4. Select **Change role**. -5. In the **Select a role** drop-down, select the new role. -6. Select **Save**. - -{{< /tab >}} -{{< tab name="Teams" >}} - -1. Sign in to [Docker Home](https://app.docker.com). -2. Select **Teams**. -3. Locate the team, then select the **Actions menu**. -4. Select **Change role**. -5. In the pop-up window, select a role from the drop-down menu, then - select **Save**. - -{{< /tab >}} -{{< /tabs >}} - -## Delete a custom role - -Before deleting a custom role, you must reassign all users and teams to different roles. - -1. Sign in to [Docker Home](https://app.docker.com). -2. Select **Roles**. -3. Find your custom role from the list, and select the **Actions menu**. -4. If the role has assigned users or teams: - - Navigate to the **Members** page and change the role for all users assigned to this custom role - - Navigate to the **Teams** page and reassign all teams that have this custom role -5. Once no users or teams are assigned, return to **Roles**. -6. Find your custom role and select the **Actions menu**. -7. Select **Delete**. -8. In the confirmation window, select **Delete** to confirm. - -## Custom roles permissions reference - -Custom roles are built by selecting specific permissions across different categories. The following tables list all available permissions you can assign to a custom role. - -### Organization management - -| Permission | Description | -| :-------------------------------- | :---------------------------------------------------------------------------------------------- | -| View teams | View teams and team members | -| Manage teams | Create, update, and delete teams and team members | -| Manage registry access | Control which registries members can access | -| Manage image access | Set policies for which images members can pull and use | -| Update organization information | Update organization information such as name and location | -| Member management | Manage organization members, invites, and roles | -| View custom roles | View existing custom roles and their permissions | -| Manage custom roles | Full access to custom role management and assignment | -| Manage organization access tokens | Create, update, and delete repositories in this org. Push/pull or registry actions not included | -| View activity logs | Access organization audit logs and activity history | -| View domains | View domains and domain audit settings | -| Manage domains | Manage verified domains and domain audit settings | -| View SSO and SCIM | View single sign-on and user provisioning configurations | -| Manage SSO and SCIM | Full access to SSO and SCIM management | -| Manage Desktop settings | Configure Docker Desktop settings policies and view usage reports | - -### Docker Hub - -| Permission | Description | -| :------------------ | :--------------------------------------------------------- | -| View repositories | View repository details and contents | -| Manage repositories | Create, update, and delete repositories and their contents | - -### Billing - -| Permission | Description | -| :------------- | :----------------------------------------------- | -| View billing | View organization billing information | -| Manage billing | Complete access to managing organization billing | - -### Governance - -| Permission | Description | -| :-------------- | :--------------------------------------------------- | -| View policies | View existing AI Governance policies and their rules | -| Manage policies | Full access to AI Governance policy management | diff --git a/content/manuals/enterprise/security/roles-and-permissions/custom-roles/_index.md b/content/manuals/enterprise/security/roles-and-permissions/custom-roles/_index.md new file mode 100644 index 000000000000..5df1b9ac6ef5 --- /dev/null +++ b/content/manuals/enterprise/security/roles-and-permissions/custom-roles/_index.md @@ -0,0 +1,53 @@ +--- +title: Custom roles and permissions overview +linkTitle: Custom roles +description: >- + Use custom roles to assign tailored permissions to users and teams in + your Docker organization +keywords: >- + custom roles, custom permissions, permission sets, access control, + least privilege, Docker Business, Docker Home, organization + management, role assignment, teams, AI Governance, Docker Offload, + security +weight: 20 +grid: + - title: Manage custom roles + description: Create, edit, assign, and delete custom roles for users and teams. + icon: adjustments-horizontal + link: /enterprise/security/roles-and-permissions/custom-roles/manage/ + - title: Permissions reference + description: Review every permission you can assign when building a custom role. + icon: list-bullet + link: /enterprise/security/roles-and-permissions/custom-roles/permissions-reference/ +--- + +{{< summary-bar feature_name="Custom roles" >}} + +Custom roles are permission sets that you choose to grant access to users or teams based on specific use cases. Use custom roles when you need: + +- Specialized roles such as billing administrators, security auditors, or + repository managers +- Department-specific access control +- Least-privilege access with precise permission grants + +If Docker's predefined +permission sets meet your needs, use +[core roles](/manuals/enterprise/security/roles-and-permissions/core-roles.md) +instead. + +## Prerequisites + +- A Docker Business subscription +- Owner permissions in your Docker organization + +## Creating custom roles + +To create a custom role, you select permissions from organization management, +Docker Hub, billing, AI Governance, Docker Hardened Images, and Docker +Offload. You then assign custom roles you created to individual users or to teams. + +Users and teams get either a core role or a custom role, but not both. + +## Next steps + +{{< grid >}} diff --git a/content/manuals/enterprise/security/roles-and-permissions/custom-roles/manage.md b/content/manuals/enterprise/security/roles-and-permissions/custom-roles/manage.md new file mode 100644 index 000000000000..3dbf85e77731 --- /dev/null +++ b/content/manuals/enterprise/security/roles-and-permissions/custom-roles/manage.md @@ -0,0 +1,164 @@ +--- +title: Manage custom roles in Docker Home +linkTitle: Manage +description: >- + Create, edit, assign, reassign, and delete custom roles in Docker Home + for organization users and teams +keywords: >- + custom roles, manage custom roles, role assignments, access control, + Docker Home, Docker Business, organization roles, permissions, teams +weight: 10 +--- + +{{< summary-bar feature_name="Custom roles" >}} + +Create custom roles, manage their permissions, and assign them to users +and teams. Use a custom role to grant only the permissions a user or +team needs. For a full list of permissions, see the +[custom roles permissions reference](permissions-reference.md). + +## Create a custom role + +Before you can assign a custom role, create one: + +1. Sign in to [Docker Home](https://app.docker.com). +1. Select **Roles**, then **Create role**. +1. Define the role: + - Provide a **Label** + - Enter a unique **Name** identifier. The identifier is permanent. + - Add an optional **Description** +1. Set permissions for the role by expanding permission categories and + selecting the checkboxes for permissions. For a full list of available + permissions, see the + [custom roles permissions reference](permissions-reference.md). +1. Select **Review** to review the configuration and selected permissions. +1. Select **Create**. + +After you create a custom role, you can +[assign it to users or teams](#assign-custom-roles). + +## Edit a custom role + +1. Sign in to [Docker Home](https://app.docker.com). +1. Select **Roles**. +1. Find your custom role in the list, then select the **Actions** menu. +1. Select **Edit**. +1. Edit any of the following settings: + - **Label** + - **Description** + - **Permissions** +1. Select **Save**. + +## Assign custom roles + +{{< tabs >}} +{{< tab name="Individual users" >}} + +1. Sign in to [Docker Home](https://app.docker.com). +1. Select **Members**. +1. Locate the member you want to assign a custom role to, then select the + **Actions** menu. +1. Select **Change role**. +1. From the **Select a role** drop-down list, select your custom role. +1. Select **Save**. + +{{< /tab >}} +{{< tab name="Bulk users" >}} + +1. Sign in to [Docker Home](https://app.docker.com). +1. Select **Members**. +1. Use the checkboxes in the username column to select the users you want + to assign a custom role to. +1. Select **Change role**. +1. From the **Select a role** drop-down list, select your custom role or + a core role. +1. Select **Save**. + +{{< /tab >}} +{{< tab name="Teams" >}} + +1. Sign in to [Docker Home](https://app.docker.com). +1. Select **Teams**. +1. Locate the team you want to assign a custom role to, then select the + **Actions** menu. +1. Select **Assign role**. +1. Select your custom role, then select **Assign**. + +The role column updates to the newly assigned role. + +{{< /tab >}} +{{< /tabs >}} + +## View role assignments + +To see which users and teams are assigned to roles: + +1. Sign in to [Docker Home](https://app.docker.com). +1. Select **Roles**. +1. In the roles list, view the **Users** and **Teams** columns for + assignment counts. +1. Select a role to view its permissions and assignments in detail. + +## Reassign custom roles + +{{< tabs >}} +{{< tab name="Individual users" >}} + +1. Sign in to [Docker Home](https://app.docker.com). +1. Select **Members**. +1. Locate the member you want to reassign, then select the **Actions** + menu. +1. Select **Change role**. +1. From the **Select a role** drop-down list, select the new role. +1. Select **Save**. + +{{< /tab >}} +{{< tab name="Bulk users" >}} + +1. Sign in to [Docker Home](https://app.docker.com). +1. Select **Members**. +1. Use the checkboxes in the username column to select the users you want + to reassign. +1. Select **Change role**. +1. From the **Select a role** drop-down list, select the new role. +1. Select **Save**. + +{{< /tab >}} +{{< tab name="Teams" >}} + +1. Sign in to [Docker Home](https://app.docker.com). +1. Select **Teams**. +1. Locate the team, then select the **Actions** menu. +1. Select **Change role**. +1. From the drop-down list, select a role, then select **Save**. + +{{< /tab >}} +{{< /tabs >}} + +## Delete a custom role + +> [!IMPORTANT] +> +> Before you delete a custom role, reassign every user and team that uses +> it to a different role. + +1. Sign in to [Docker Home](https://app.docker.com). +1. Select **Roles**. +1. Find your custom role in the list, then select the **Actions** menu. +1. If the role has assigned users or teams: + - On the **Members** page, change the role for every user assigned to + this custom role + - On the **Teams** page, reassign every team that has this custom role +1. When no users or teams are assigned, return to **Roles**. +1. Find your custom role and select the **Actions** menu. +1. Select **Delete**. +1. In the confirmation window, select **Delete** to confirm. + +## Next steps + +- [Custom roles permissions reference](permissions-reference.md): Review + permissions you can grant to a custom role +- [Core roles and permissions](/manuals/enterprise/security/roles-and-permissions/core-roles.md): + Compare built-in Member, Editor, and Owner permissions +- [Manage organization members](/manuals/admin/organization/manage/members.md): + Invite and manage users in your organization diff --git a/content/manuals/enterprise/security/roles-and-permissions/custom-roles/permissions-reference.md b/content/manuals/enterprise/security/roles-and-permissions/custom-roles/permissions-reference.md new file mode 100644 index 000000000000..fe210416c740 --- /dev/null +++ b/content/manuals/enterprise/security/roles-and-permissions/custom-roles/permissions-reference.md @@ -0,0 +1,85 @@ +--- +title: Custom role permissions reference +linkTitle: Permissions reference +description: >- + Permissions available for Docker custom roles across organization management, + Docker Hub, billing, AI Governance, Docker Hardened Images, and Docker + Offload. +keywords: >- + custom roles, custom role permissions, Docker, Docker Hub, organization + management, billing, AI Governance, access tokens, SSO, SCIM, OIDC, DHI, + Docker Offload, security +weight: 20 +--- + +{{< summary-bar feature_name="Custom roles" >}} + +Custom roles use permissions from organization management, Docker Hub, +billing, AI Governance, Docker Hardened Images, and Docker Offload. Use +the following tables to [create or edit a custom role](manage.md). + +## Organization management + +| Permission | Description | +| :-------------------------------- | :---------------------------------------------------------------------------------------------- | +| View teams | View teams and team members | +| Manage teams | Create, update, and delete teams and team members | +| Manage registry access | Control which registries members can access | +| Manage image access | Set policies for which images members can pull and use | +| Update organization information | Update organization information such as name and location | +| Member management | Manage organization members, invites, and roles | +| View custom roles | View existing custom roles and their permissions | +| Manage custom roles | Full access to custom role management and assignment | +| Manage organization access tokens | Create, update, and delete repositories in this org. Push/pull or registry actions not included | +| View activity logs | Access organization audit logs and activity history | +| View usage reports | Download organization usage reports (pulls, storage) | +| View domains | View domains and domain audit settings | +| Manage domains | Manage verified domains and domain audit settings | +| View SSO and SCIM | View single sign-on and user provisioning configurations | +| Manage SSO and SCIM | Full access to SSO and SCIM management | +| Manage Desktop settings | Configure Docker Desktop settings policies and view usage reports | +| View OIDC connections | View OIDC connections and their configuration | +| Manage OIDC connections | View, create, edit, and delete OIDC connections | + +## Docker Hub + +| Permission | Description | +| :--------------------------------- | :------------------------------------------------------------------------------------------- | +| View repositories | View repository details and contents | +| Manage repositories | Full repository management including settings, webhooks, privacy, Dockerfile, immutable tags | +| Manage repository team permissions | Add and remove teams from a repository, and manage team access level | + +## Billing + +| Permission | Description | +| :------------- | :----------------------------------------------- | +| View billing | View organization billing information | +| Manage billing | Complete access to managing organization billing | + +## AI Governance + +| Permission | Description | +| :-------------------- | :--------------------------------------------------- | +| View policies | View existing AI Governance policies and their rules | +| Manage policies | Full access to AI Governance policy management | +| View audit logs | View audit events for the organization | +| Manage audit settings | Update audit configuration for the organization | + +## DHI (Docker Hardened Images) + +| Permission | Description | +| :----------------- | :----------------------------------------------- | +| Create DHI mirrors | Create Docker Hardened Image mirror repositories | + +## Docker Offload + +| Permission | Description | +| :---------------- | :--------------------------------------------- | +| Offload Read-Only | View Offload account status, leases, and zones | + +## Next steps + +- [Manage custom roles](manage.md): Create, assign, and delete custom + roles +- [Core roles and permissions](/manuals/enterprise/security/roles-and-permissions/core-roles.md): + Compare built-in Member, Editor, and Owner permissions diff --git a/data/summary.yaml b/data/summary.yaml index df8994bf7246..3aa4b6c78eeb 100644 --- a/data/summary.yaml +++ b/data/summary.yaml @@ -150,6 +150,9 @@ Compose sbom: requires: Docker Compose [2.39.0](https://github.com/docker/compose/releases/tag/v2.39.0) and later Compose SDK: requires: Docker Compose [5.0.0](https://github.com/docker/compose/releases/tag/v5.0.0) and later +Custom roles: + subscription: [Business] + for: Administrators Dev Environments: availability: Beta Docker Build Cloud: