diff options
Diffstat (limited to 'doc/public_access/public_access.md')
-rw-r--r-- | doc/public_access/public_access.md | 82 |
1 files changed, 27 insertions, 55 deletions
diff --git a/doc/public_access/public_access.md b/doc/public_access/public_access.md index 5d07095ac3e..4a7e178072b 100644 --- a/doc/public_access/public_access.md +++ b/doc/public_access/public_access.md @@ -5,32 +5,39 @@ info: To determine the technical writer assigned to the Stage/Group associated w type: reference --- -# Public access +# Project visibility -GitLab allows [Owners](../user/permissions.md) to set a project's visibility as **public**, **internal**, -or **private**. These visibility levels affect who can see the project in the -public access directory (`/public` under your GitLab instance), like at <https://gitlab.com/public> +GitLab allows [Owners](../user/permissions.md) to set a project's visibility as: -## Visibility of projects +- **Public** +- **Internal** +- **Private** -### Public projects +These visibility levels affect who can see the project in the public access directory (`/public` +for your GitLab instance). For example, <https://gitlab.com/public>. + +## Public projects Public projects can be cloned **without any** authentication over HTTPS. They are listed in the public access directory (`/public`) for all users. -**Any logged in user** has [Guest permissions](../user/permissions.md) -on the repository. +**Any signed-in user** has the [Guest role](../user/permissions.md) on the repository. + +NOTE: +By default, `/public` is visible to unauthenticated users. However, if the +[**Public** visibility level](../user/admin_area/settings/visibility_and_access_controls.md#restricted-visibility-levels) +is restricted, `/public` is visible only to signed-in users. -### Internal projects +## Internal projects -Internal projects can be cloned by any logged in user except [external users](../user/permissions.md#external-users). +Internal projects can be cloned by any signed-in user except +[external users](../user/permissions.md#external-users). -They are also listed in the public access directory (`/public`), but only for logged -in users. +They are also listed in the public access directory (`/public`), but only for signed-in users. -Any logged in users except [external users](../user/permissions.md#external-users) have [Guest permissions](../user/permissions.md) -on the repository. +Any signed-in users except [external users](../user/permissions.md#external-users) have the +[Guest role](../user/permissions.md) on the repository. NOTE: From July 2019, the `Internal` visibility setting is disabled for new projects, groups, @@ -38,57 +45,22 @@ and snippets on GitLab.com. Existing projects, groups, and snippets using the `I visibility setting keep this setting. You can read more about the change in the [relevant issue](https://gitlab.com/gitlab-org/gitlab/-/issues/12388). -### Private projects +## Private projects Private projects can only be cloned and viewed by project members (except for guests). They appear in the public access directory (`/public`) for project members only. -### How to change project visibility +## Change project visibility 1. Go to your project's **Settings**. 1. Change **Visibility Level** to either Public, Internal, or Private. -## Visibility of groups - -NOTE: -[Starting with](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3323) GitLab 8.6, -the group visibility has changed and can be configured the same way as projects. -In previous versions, a group's page was always visible to all users. - -Like with projects, the visibility of a group can be set to dictate whether -anonymous users, all signed in users, or only explicit group members can view -it. The restriction for visibility levels on the application setting level also -applies to groups, so if that's set to internal, the explore page is empty -for anonymous users. The group page now has a visibility level icon. - -Admin users cannot create subgroups or projects with higher visibility level than that of the immediate parent group. - -## Visibility of users - -The public page of a user, located at `/username`, is always visible whether -you are logged in or not. - -When visiting the public page of a user, you can only see the projects which -you are privileged to. - -If the public level is restricted, user profiles are only visible to logged in users. - -## Visibility of pages - -By default, the following directories are visible to unauthenticated users: - -- Public access (`/public`). -- Explore (`/explore`). -- Help (`/help`). - -However, if the access level of the `/public` directory is restricted, these directories are visible only to logged in users. - -## Restricting the use of public or internal projects +## Restrict use of public or internal projects -You can restrict the use of visibility levels for users when they create a project or a -snippet. This is useful to prevent users from publicly exposing their repositories -by accident. The restricted visibility settings do not apply to admin users. +You can restrict the use of visibility levels for users when they create a project or a snippet. +This is useful to prevent users from publicly exposing their repositories by accident. The +restricted visibility settings do not apply to admin users. For details, see [Restricted visibility levels](../user/admin_area/settings/visibility_and_access_controls.md#restricted-visibility-levels). |