diff --git a/website/docs/how-to/how-to-add-sso-azure-saml.mdx b/website/docs/how-to/how-to-add-sso-azure-saml.mdx index 140aed3e6d..ae4fb303c1 100644 --- a/website/docs/how-to/how-to-add-sso-azure-saml.mdx +++ b/website/docs/how-to/how-to-add-sso-azure-saml.mdx @@ -1,5 +1,5 @@ --- -title: SAML 2.0 with Microsoft Entra ID +title: Set up SSO with SAML 2.0 and Microsoft Entra ID description: 'Configure Microsoft Entra ID SSO with SAML 2.0 for your Unleash instance.' --- diff --git a/website/docs/how-to/how-to-add-sso-open-id-connect.md b/website/docs/how-to/how-to-add-sso-open-id-connect.md index 65a3ad0e57..aa33c02c43 100644 --- a/website/docs/how-to/how-to-add-sso-open-id-connect.md +++ b/website/docs/how-to/how-to-add-sso-open-id-connect.md @@ -1,5 +1,5 @@ --- -title: OpenID Connect +title: Set up SSO with OpenID Connect description: Set up SSO for Unleash with OpenID Connect. --- diff --git a/website/docs/how-to/how-to-add-sso-saml-keycloak.md b/website/docs/how-to/how-to-add-sso-saml-keycloak.md index fd1d983bc9..9abc52e04f 100644 --- a/website/docs/how-to/how-to-add-sso-saml-keycloak.md +++ b/website/docs/how-to/how-to-add-sso-saml-keycloak.md @@ -1,5 +1,5 @@ --- -title: SAML 2.0 with Keycloak +title: Set up SSO with SAML 2.0 and Keycloak description: Set up SSO for Unleash with SAML 2.0 and Keycloak. --- diff --git a/website/docs/how-to/how-to-add-sso-saml.md b/website/docs/how-to/how-to-add-sso-saml.md index 6d5ff4300a..5e148e316d 100644 --- a/website/docs/how-to/how-to-add-sso-saml.md +++ b/website/docs/how-to/how-to-add-sso-saml.md @@ -1,5 +1,5 @@ --- -title: SAML 2.0 with Okta +title: Set up SSO with SAML 2.0 and Okta description: Set up SSO for Unleash with SAML 2.0 and Okta. --- diff --git a/website/docs/how-to/how-to-create-and-manage-user-groups.md b/website/docs/how-to/how-to-create-and-manage-user-groups.md deleted file mode 100644 index 1a1f22c195..0000000000 --- a/website/docs/how-to/how-to-create-and-manage-user-groups.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: How to create and manage user groups ---- - -:::note Availability - -**Plan**: [Enterprise](https://www.getunleash.io/pricing) | **Version**: `4.14+` - -::: - -This guide takes you through how to use user groups to manage permissions on your projects. User groups allow you to manage large groups of users more easily than assigning roles directly to those users. Refer to the section on [user groups](../reference/rbac.md#user-groups) in the RBAC documentation for more information. - -## Creating user groups - -1. Navigate to groups by using the admin menu (the gear icon) and selecting the groups option. - -![The Unleash Admin UI with the steps highlighted to navigate to groups.](/img/create-ug-step-1.png) - -2. Navigate to new group. - -![The groups screen with the new group button highlighted.](/img/create-ug-step-2.png) - -3. Give the group a name, an optional description, an optional root role, and select the users you'd like to be in the group. - -![The new group screen with the users drop down open and highlighted.](/img/create-ug-step-3.png) - -4. Review the details of the group and save them if you're happy. - -![The new group screen with the users selected and the save button highlighted.](/img/create-ug-step-4.png) - -## Managing users within a group - -1. Navigate to groups by using the admin menu (the gear icon) and selecting the groups option. - -![The Unleash Admin UI with the steps highlighted to navigate to groups.](/img/create-ug-step-1.png) - -2. Select the card of the group you want to edit. - -![The manage groups with a pointer to a group card.](/img/edit-ug-step-2.png) - -3. Remove users by using the remove user button (displayed as a bin). - -![The manage group page with the remove user button highlighted.](/img/remove-user-from-group-step-1.png) - -4. Confirm the remove. - -![The manage group page with the confirm user removal dialog shown.](/img/remove-user-from-group-step-2.png) - -5. Add users by selecting the add button. - -![The groups page shown with the add user button highlighted.](/img/add-user-to-group-step-1.png) - -6. Find the user you'd like to add to the group and select them. - -![The groups page shown with a user selected.](/img/add-user-to-group-step-2.png) - -7. Review the group users and save when you're happy. - -![The edit groups page shown with the save button highlighted.](/img/add-user-to-group-step-3.png) - -## Assigning groups to projects - -1. Navigate to projects - -![The landing page with the projects navigation link highlighted.](/img/add-group-to-project-step-1.png) - -2. Select the project you want to manage. - -![The projects page with a project highlighted.](/img/add-group-to-project-step-2.png) - -3. Navigate to the access tab and then use the assign user/group button. - -![The project page with the access tab and assign button highlighted.](/img/add-group-to-project-step-3.png) - -4. Find your group in the drop down. - -![The access sidepane for a project with a group selected.](/img/add-group-to-project-step-4.png) - -5. Select the role that the group should have in this project. You can review the list of permissions that the group users will gain by having this role before confirming. - -![The access sidepane for a project with a role selected.](/img/add-group-to-project-step-5.png) diff --git a/website/docs/how-to/how-to-environment-import-export.mdx b/website/docs/how-to/how-to-environment-import-export.mdx index fa27850774..e5bbfa189a 100644 --- a/website/docs/how-to/how-to-environment-import-export.mdx +++ b/website/docs/how-to/how-to-environment-import-export.mdx @@ -136,7 +136,7 @@ If change requests are enabled, any permissions for **Create activation strategi ## Environment import/export vs the instance import/export API -Environment import/export has some similarities to the [instance import/export API](./how-to-import-export), but they serve different purposes. +Environment import/export has some similarities to the [instance import/export API](/reference/environment-import-export), but they serve different purposes. The instance import/export API was designed to export all feature flags (optionally with strategies and projects) from one Unleash instance to another. When it was developed, Unleash had much fewer features than it does now. As such, the API lacks support for some of the more recent features in Unleash. diff --git a/website/docs/how-to/how-to-set-up-group-sso-sync.md b/website/docs/how-to/how-to-set-up-group-sso-sync.md index 499889c6fa..b05b30860c 100644 --- a/website/docs/how-to/how-to-set-up-group-sso-sync.md +++ b/website/docs/how-to/how-to-set-up-group-sso-sync.md @@ -1,5 +1,5 @@ --- -title: How to Set Up User Group SSO Syncing +title: Set up user group SSO syncing --- :::note Availability diff --git a/website/docs/how-to/how-to-setup-provisioning-with-entra.md b/website/docs/how-to/how-to-setup-provisioning-with-entra.md index a2a8cdab33..cd9768c5b2 100644 --- a/website/docs/how-to/how-to-setup-provisioning-with-entra.md +++ b/website/docs/how-to/how-to-setup-provisioning-with-entra.md @@ -1,5 +1,5 @@ --- -title: How to Setup Entra Provisioning +title: Set up Entra provisioning --- :::note Availability diff --git a/website/docs/how-to/how-to-setup-provisioning-with-okta.md b/website/docs/how-to/how-to-setup-provisioning-with-okta.md index fabac15412..10a4dfbd6f 100644 --- a/website/docs/how-to/how-to-setup-provisioning-with-okta.md +++ b/website/docs/how-to/how-to-setup-provisioning-with-okta.md @@ -1,5 +1,5 @@ --- -title: How to Setup Okta Provisioning +title: Set up Okta provisioning --- :::note Availability diff --git a/website/docs/how-to/how-to-setup-sso-keycloak-group-sync.md b/website/docs/how-to/how-to-setup-sso-keycloak-group-sync.md index 0687278ad4..abd4440157 100644 --- a/website/docs/how-to/how-to-setup-sso-keycloak-group-sync.md +++ b/website/docs/how-to/how-to-setup-sso-keycloak-group-sync.md @@ -1,5 +1,5 @@ --- -title: 'How to set up Keycloak and Unleash to sync user groups' +title: 'Set up user group syncing with Keycloack' --- :::note Availability diff --git a/website/docs/how-to/how-to-import-export.mdx b/website/docs/reference/environment-import-export.mdx similarity index 99% rename from website/docs/how-to/how-to-import-export.mdx rename to website/docs/reference/environment-import-export.mdx index 24c7e90e7f..f7437b1e1e 100644 --- a/website/docs/how-to/how-to-import-export.mdx +++ b/website/docs/reference/environment-import-export.mdx @@ -1,5 +1,5 @@ --- -title: 'Import & Export' +title: 'Import and Export' --- import ApiRequest from '@site/src/components/ApiRequest' diff --git a/website/docs/reference/rbac.md b/website/docs/reference/rbac.md index 1a7e849919..13370183d8 100644 --- a/website/docs/reference/rbac.md +++ b/website/docs/reference/rbac.md @@ -304,29 +304,24 @@ To view a user’s permissions, go to **Admin > Users**. Select a user and click ::: -User groups allow you to assign roles to a group of users within a project, rather than to a user directly. This allows -you to manage your user permissions more easily when there's lots of users in the system. For a guide on how to create -and manage user groups see [_how to create and manage user groups_](../how-to/how-to-create-and-manage-user-groups.md). +User groups allow you to manage user permissions efficiently by assigning roles to a collection of users instead of individually. This is particularly useful for projects with many users. -A user group consists of the following: +You can create and manage user groups in the Admin UI at **Admin settings > User config > Groups**. -- a **name** (required) -- a **description** (optional) -- a **list of users** (required) -- a list of SSO groups to sync from (optional) -- a root role associated with the group (optional; available in v5.1+) +When creating a user group, you can define the following: -Groups do nothing on their own. They must either be given a root role directly or a role on a project to assign -permissions. +- **Name**: A unique identifier for the group. +- **Description**: A brief explanation of the group's purpose. +- **Users**: A list of users who are members of this group. +- **SSO groups** to sync from: A list of single sign-on (SSO) groups to synchronize members from. +- **Root role**: A role assigned to the group at the root level. (Available in v5.1+) -Groups that do not have a root role need to be assigned a role on a project to be useful. You can assign both predefined -roles and custom project roles to groups. +Groups themselves do not grant permissions. To be functional, a group must either: +- Be assigned a root role. Members of this group will inherit the root role's permissions globally. +- Be assigned a role on a specific project. This grants the group's members the specified permissions within that project. You can assign both predefined and custom project roles to groups. -Any user that is a member of a group with a root role will inherit that root role's permissions on the root level. - -While a user can only have one role in a given project, a user may belong to multiple groups, and each of those groups -may be given a role on a project. In the case where a given user is given permissions through more than one group, the -user will inherit the most permissive permissions of all their groups in that project. +A user can belong to multiple groups, and each group a user belongs to can have a different role assigned to it on a specific project. +If a user gains permissions for a project through multiple groups, they will inherit the most permissive set of permissions from all their assigned group roles for that project. ## User group SSO integration diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts index e4ef7fb6d5..536777e7cd 100644 --- a/website/docusaurus.config.ts +++ b/website/docusaurus.config.ts @@ -821,13 +821,6 @@ class="header-github-link" from: '/how-to/how-to-troubleshoot-https', to: '/using-unleash/troubleshooting/https', }, - { - from: [ - '/reference/deploy/import-export', - '/deploy/import_export', - ], - to: '/how-to/how-to-import-export', - }, { from: [ '/reference/deploy/environment-import-export', diff --git a/website/sidebars.ts b/website/sidebars.ts index 5bfca8c618..2d4e95d14e 100644 --- a/website/sidebars.ts +++ b/website/sidebars.ts @@ -354,6 +354,7 @@ const sidebars: SidebarsConfig = { 'reference/projects', 'reference/project-collaboration-mode', 'reference/environments', + 'reference/environment-import-export', ], }, { @@ -584,6 +585,7 @@ const sidebars: SidebarsConfig = { 'how-to/how-to-add-sso-saml-keycloak', 'how-to/how-to-add-sso-azure-saml', 'how-to/how-to-setup-sso-keycloak-group-sync', + 'how-to/how-to-set-up-group-sso-sync', ], type: 'category', link: { @@ -686,32 +688,6 @@ const sidebars: SidebarsConfig = { 'how-to/how-to-synchronize-unleash-instances', ], }, - { - label: 'Environments', - type: 'category', - link: { - type: 'generated-index', - title: 'How-to: environments', - description: 'Environments how-to guides.', - slug: '/how-to/env', - }, - items: ['how-to/how-to-environment-import-export'], - }, - { - label: 'Users and permissions', - items: [ - 'how-to/how-to-create-and-manage-user-groups', - 'how-to/how-to-set-up-group-sso-sync', - ], - type: 'category', - link: { - type: 'generated-index', - title: 'How-to: users and permissions', - description: - 'Users and permission how-to guides.', - slug: '/how-to/users-and-permissions', - }, - }, ], }, ], diff --git a/website/static/img/add-group-to-project-step-1.png b/website/static/img/add-group-to-project-step-1.png deleted file mode 100644 index 0a77f0114a..0000000000 Binary files a/website/static/img/add-group-to-project-step-1.png and /dev/null differ diff --git a/website/static/img/add-group-to-project-step-2.png b/website/static/img/add-group-to-project-step-2.png deleted file mode 100644 index ef682dd0d8..0000000000 Binary files a/website/static/img/add-group-to-project-step-2.png and /dev/null differ diff --git a/website/static/img/add-group-to-project-step-3.png b/website/static/img/add-group-to-project-step-3.png deleted file mode 100644 index cac53b1b3a..0000000000 Binary files a/website/static/img/add-group-to-project-step-3.png and /dev/null differ diff --git a/website/static/img/add-group-to-project-step-4.png b/website/static/img/add-group-to-project-step-4.png deleted file mode 100644 index 972ee84257..0000000000 Binary files a/website/static/img/add-group-to-project-step-4.png and /dev/null differ diff --git a/website/static/img/add-group-to-project-step-5.png b/website/static/img/add-group-to-project-step-5.png deleted file mode 100644 index 795aec4541..0000000000 Binary files a/website/static/img/add-group-to-project-step-5.png and /dev/null differ diff --git a/website/static/img/add-user-to-group-step-1.png b/website/static/img/add-user-to-group-step-1.png deleted file mode 100644 index b2e301c8a7..0000000000 Binary files a/website/static/img/add-user-to-group-step-1.png and /dev/null differ diff --git a/website/static/img/add-user-to-group-step-2.png b/website/static/img/add-user-to-group-step-2.png deleted file mode 100644 index 306d567974..0000000000 Binary files a/website/static/img/add-user-to-group-step-2.png and /dev/null differ diff --git a/website/static/img/add-user-to-group-step-3.png b/website/static/img/add-user-to-group-step-3.png deleted file mode 100644 index 2fc70fde3a..0000000000 Binary files a/website/static/img/add-user-to-group-step-3.png and /dev/null differ diff --git a/website/static/img/create-ug-step-1.png b/website/static/img/create-ug-step-1.png deleted file mode 100644 index 1375f0241d..0000000000 Binary files a/website/static/img/create-ug-step-1.png and /dev/null differ diff --git a/website/static/img/create-ug-step-2.png b/website/static/img/create-ug-step-2.png deleted file mode 100644 index 642c4c9f2e..0000000000 Binary files a/website/static/img/create-ug-step-2.png and /dev/null differ diff --git a/website/static/img/create-ug-step-3.png b/website/static/img/create-ug-step-3.png deleted file mode 100644 index 256bc6b9fa..0000000000 Binary files a/website/static/img/create-ug-step-3.png and /dev/null differ diff --git a/website/static/img/create-ug-step-4.png b/website/static/img/create-ug-step-4.png deleted file mode 100644 index e7e64cf285..0000000000 Binary files a/website/static/img/create-ug-step-4.png and /dev/null differ diff --git a/website/static/img/remove-user-from-group-step-1.png b/website/static/img/remove-user-from-group-step-1.png deleted file mode 100644 index afb40186a2..0000000000 Binary files a/website/static/img/remove-user-from-group-step-1.png and /dev/null differ diff --git a/website/static/img/remove-user-from-group-step-2.png b/website/static/img/remove-user-from-group-step-2.png deleted file mode 100644 index 14b1682cd6..0000000000 Binary files a/website/static/img/remove-user-from-group-step-2.png and /dev/null differ diff --git a/website/vercel.json b/website/vercel.json index 3a40f46d1e..faa05a707e 100644 --- a/website/vercel.json +++ b/website/vercel.json @@ -136,6 +136,26 @@ "destination": "/reference/rbac", "permanent": true }, + { + "source": "/how-to/how-to-import-export", + "destination": "/reference/environment-import-export", + "permanent": true + }, + { + "source": "/how-to/users-and-permissions", + "destination": "/reference/rbac", + "permanent": true + }, + { + "source": "/how-to/env", + "destination": "/reference/environments", + "permanent": true + }, + { + "source": "/how-to/how-to-create-and-manage-user-groups", + "destination": "/reference/rbac#user-groups", + "permanent": true + }, { "source": "/how-to/how-to-clone-environments", "destination": "/reference/environments#clone-an-environment", @@ -1018,12 +1038,12 @@ }, { "source": "/reference/deploy/import-export", - "destination": "/how-to/how-to-import-export", + "destination": "/reference/environment-import-export", "permanent": true }, { "source": "/deploy/import_export", - "destination": "/how-to/how-to-import-export", + "destination": "/reference/environment-import-export", "permanent": true }, {