Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-03-14 15:08:06 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-03-14 15:08:06 +0300
commit363a1ea13879c755f9cd8018763d3a7bdf4bf1c7 (patch)
tree9e96d749ebb984b6650e28e79bb4a87ccf77d998 /doc/user/permissions.md
parent6f9218ac84f0de0ebfddf2d4fbd79db881b2d46a (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc/user/permissions.md')
-rw-r--r--doc/user/permissions.md21
1 files changed, 14 insertions, 7 deletions
diff --git a/doc/user/permissions.md b/doc/user/permissions.md
index 549cd63ef1f..462dcb5e3d8 100644
--- a/doc/user/permissions.md
+++ b/doc/user/permissions.md
@@ -220,7 +220,7 @@ The following table lists project permissions available for each role:
<!-- markdownlint-disable MD029 -->
-1. On self-managed GitLab instances, users with the Guest role are able to perform this action only on public and internal projects (not on private projects). [External users](admin_area/external_users.md) must be given explicit access even if the project is internal. Users with the Guest role on GitLab.com are only able to perform this action on public projects because internal visibility is not available. In GitLab 15.9 and later, this restriction only applies to users with the non-custom Guest role on self-managed GitLab instances and GitLab.com.
+1. On self-managed GitLab instances, users with the Guest role are able to perform this action only on public and internal projects (not on private projects). [External users](admin_area/external_users.md) must be given explicit access even if the project is internal. Users with the Guest role on GitLab.com are only able to perform this action on public projects because internal visibility is not available.
2. Guest users can only view the [confidential issues](project/issues/confidential_issues.md) they created themselves or are assigned to.
3. Not allowed for Guest, Reporter, Developer, Maintainer, or Owner. See [protected branches](project/protected_branches.md).
4. If the [branch is protected](project/protected_branches.md), this depends on the access given to Developers and Maintainers.
@@ -480,29 +480,36 @@ To enable custom roles for your group, a group member with the Owner role:
1. Makes sure that there is at least one private project in this group or one of
its subgroups, so that you can see the effect of giving a Guest a custom role.
1. Creates a personal access token with the API scope.
-1. Uses [the API](../api/member_roles.md#add-a-member-role-to-a-group) to create the Guest+1 role for the group.
+1. Uses [the API](../api/member_roles.md#add-a-member-role-to-a-group) to create the Guest+1 role for the root group.
### Associate a custom role with an existing group member
To associate a custom role with an existing group member, a group member with
the Owner role:
-1. Invites a test user account to the root group as a Guest.
- At this point, this Guest user cannot see any code on the projects in the group.
+1. Invites a user to the root group or any subgroup or project in the root
+ group's hierarchy as a Guest. At this point, this Guest user cannot see any
+ code on the projects in the group or subgroup.
1. Optional. If the Owner does not know the `ID` of the Guest user receiving a custom
role, finds that `ID` by making an [API request](../api/member_roles.md#list-all-member-roles-of-a-group).
-1. Associates the group member with the Guest+1 role using the [Group and Project Members API endpoint](../api/members.md#edit-a-member-of-a-group-or-project)
+1. Associates the member with the Guest+1 role using the [Group and Project Members API endpoint](../api/members.md#edit-a-member-of-a-group-or-project)
```shell
- curl --request PUT --header "Content-Type: application/json" --header "Authorization: Bearer $YOUR_ACCESS_TOKEN" --data '{"member_role_id": '$MEMBER_ROLE_ID', "access_level": 10}' "https://example.gitlab.com/api/v4/groups/$GROUP_PATH/members/$GUEST_USER_ID"
+ # to update a project membership
+ curl --request PUT --header "Content-Type: application/json" --header "Authorization: Bearer $YOUR_ACCESS_TOKEN" --data '{"member_role_id": '$MEMBER_ROLE_ID', "access_level": 10}' "https://example.gitlab.com/api/v4/projects/$ID/members/$GUEST_USER_ID"
+
+ # to update a group membership
+ curl --request PUT --header "Content-Type: application/json" --header "Authorization: Bearer $YOUR_ACCESS_TOKEN" --data '{"member_role_id": '$MEMBER_ROLE_ID', "access_level": 10}' "https://example.gitlab.com/api/v4/groups/$ID/members/$GUEST_USER_ID"
```
Where:
+
+ - `$ID`: The `ID` or [URL-encoded path of the project or group](../api/rest/index.md#namespaced-path-encoding) associated with the membership receiving the custom role.
- `$MEMBER_ROLE_ID`: The `ID` of the member role created in the previous section.
- `$GUEST_USER_ID`: The `ID` of the Guest user receiving a custom role.
- Now the Guest+1 user can view code on all projects in the root group.
+ Now the Guest+1 user can view code on all projects associated with this membership.
### Remove a custom role from a group member