2019-09-04 21:01:54 +05:30
|
|
|
---
|
|
|
|
type: reference
|
|
|
|
---
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2019-09-04 21:01:54 +05:30
|
|
|
# Public access
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2019-12-21 20:55:43 +05:30
|
|
|
GitLab allows [Owners](../user/permissions.md) to set a project's visibility as **public**, **internal**,
|
2019-09-04 21:01:54 +05:30
|
|
|
or **private**. These visibility levels affect who can see the project in the
|
2019-12-04 20:38:33 +05:30
|
|
|
public access directory (`/public` under your GitLab instance), like at <https://gitlab.com/public>
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2015-12-23 02:04:40 +05:30
|
|
|
## Visibility of projects
|
|
|
|
|
|
|
|
### Public projects
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2019-12-21 20:55:43 +05:30
|
|
|
Public projects can be cloned **without any** authentication over HTTPS.
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2019-09-04 21:01:54 +05:30
|
|
|
They will be listed in the public access directory (`/public`) for all users.
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2019-09-04 21:01:54 +05:30
|
|
|
**Any logged in user** will have [Guest permissions](../user/permissions.md)
|
|
|
|
on the repository.
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2015-12-23 02:04:40 +05:30
|
|
|
### Internal projects
|
2014-09-02 18:07:02 +05:30
|
|
|
|
|
|
|
Internal projects can be cloned by any logged in user.
|
|
|
|
|
2019-09-04 21:01:54 +05:30
|
|
|
They will also be listed in the public access directory (`/public`), but only for logged
|
2015-12-23 02:04:40 +05:30
|
|
|
in users.
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2019-09-04 21:01:54 +05:30
|
|
|
Any logged in user will have [Guest permissions](../user/permissions.md)
|
2016-08-24 12:49:21 +05:30
|
|
|
on the repository.
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2019-09-30 21:07:59 +05:30
|
|
|
NOTE: **Note:**
|
|
|
|
From July 2019, the `Internal` visibility setting is disabled for new projects, groups,
|
|
|
|
and snippets on GitLab.com. Existing projects, groups, and snippets using the `Internal`
|
|
|
|
visibility setting keep this setting. You can read more about the change in the
|
2019-12-04 20:38:33 +05:30
|
|
|
[relevant issue](https://gitlab.com/gitlab-org/gitlab/issues/12388).
|
2019-09-30 21:07:59 +05:30
|
|
|
|
2018-11-18 11:00:15 +05:30
|
|
|
### Private projects
|
|
|
|
|
2019-10-12 21:52:04 +05:30
|
|
|
Private projects can only be cloned and viewed by project members (except for guests).
|
2019-09-04 21:01:54 +05:30
|
|
|
|
|
|
|
They will appear in the public access directory (`/public`) for project members only.
|
2018-11-18 11:00:15 +05:30
|
|
|
|
2015-12-23 02:04:40 +05:30
|
|
|
### How to change project visibility
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2019-12-21 20:55:43 +05:30
|
|
|
1. Go to your project's **Settings**.
|
|
|
|
1. Change **Visibility Level** to either Public, Internal, or Private.
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2016-06-02 11:05:42 +05:30
|
|
|
## Visibility of groups
|
|
|
|
|
2019-09-04 21:01:54 +05:30
|
|
|
NOTE: **Note:**
|
2020-03-13 15:44:24 +05:30
|
|
|
[Starting with](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3323) GitLab 8.6,
|
2019-09-04 21:01:54 +05:30
|
|
|
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.
|
2016-06-02 11:05:42 +05:30
|
|
|
|
|
|
|
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 will be empty
|
|
|
|
for anonymous users. The group page now has a visibility level icon.
|
|
|
|
|
2014-09-02 18:07:02 +05:30
|
|
|
## Visibility of users
|
|
|
|
|
2017-08-17 22:00:37 +05:30
|
|
|
The public page of a user, located at `/username`, is always visible whether
|
2015-12-23 02:04:40 +05:30
|
|
|
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.
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2016-06-02 11:05:42 +05:30
|
|
|
If the public level is restricted, user profiles are only visible to logged in users.
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2020-04-22 19:07:51 +05:30
|
|
|
## 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.
|
|
|
|
|
2014-09-02 18:07:02 +05:30
|
|
|
## Restricting the use of public or internal projects
|
|
|
|
|
2019-12-21 20:55:43 +05:30
|
|
|
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
|
2015-12-23 02:04:40 +05:30
|
|
|
by accident. The restricted visibility settings do not apply to admin users.
|
2019-09-04 21:01:54 +05:30
|
|
|
|
2019-12-21 20:55:43 +05:30
|
|
|
For details, see [Restricted visibility levels](../user/admin_area/settings/visibility_and_access_controls.md#restricted-visibility-levels).
|
|
|
|
|
2020-01-01 13:55:28 +05:30
|
|
|
## Reducing visibility
|
|
|
|
|
|
|
|
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/33358) in GitLab 12.6.
|
|
|
|
|
|
|
|
Reducing a project's visibility level will remove the fork relationship between the project and
|
|
|
|
any forked project. This is a potentially destructive action which requires confirmation before
|
|
|
|
this can be saved.
|
|
|
|
|
|
|
|
![Project visibility change confirmation](img/project_visibility_confirmation_v12_6.png)
|
|
|
|
|
2019-09-04 21:01:54 +05:30
|
|
|
<!-- ## Troubleshooting
|
|
|
|
|
|
|
|
Include any troubleshooting steps that you can foresee. If you know beforehand what issues
|
|
|
|
one might have when setting this up, or when something is changed, or on upgrading, it's
|
|
|
|
important to describe those, too. Think of things that may go wrong and include them here.
|
|
|
|
This is important to minimize requests for support, and to avoid doc comments with
|
|
|
|
questions that you know someone might ask.
|
|
|
|
|
|
|
|
Each scenario can be a third-level heading, e.g. `### Getting error message X`.
|
|
|
|
If you have none to add when creating a doc, leave this section in place
|
|
|
|
but commented out to help encourage others to add to it in the future. -->
|