diff options
Diffstat (limited to 'doc/user/profile')
-rw-r--r-- | doc/user/profile/account/delete_account.md | 2 | ||||
-rw-r--r-- | doc/user/profile/account/two_factor_authentication.md | 31 | ||||
-rw-r--r-- | doc/user/profile/achievements.md | 6 | ||||
-rw-r--r-- | doc/user/profile/active_sessions.md | 2 | ||||
-rw-r--r-- | doc/user/profile/comment_templates.md | 3 | ||||
-rw-r--r-- | doc/user/profile/contributions_calendar.md | 2 | ||||
-rw-r--r-- | doc/user/profile/index.md | 35 | ||||
-rw-r--r-- | doc/user/profile/notifications.md | 21 | ||||
-rw-r--r-- | doc/user/profile/personal_access_tokens.md | 3 | ||||
-rw-r--r-- | doc/user/profile/preferences.md | 105 | ||||
-rw-r--r-- | doc/user/profile/service_accounts.md | 157 | ||||
-rw-r--r-- | doc/user/profile/user_passwords.md | 2 |
12 files changed, 268 insertions, 101 deletions
diff --git a/doc/user/profile/account/delete_account.md b/doc/user/profile/account/delete_account.md index b27658e5e41..2694ed5f213 100644 --- a/doc/user/profile/account/delete_account.md +++ b/doc/user/profile/account/delete_account.md @@ -5,7 +5,7 @@ group: Authentication and Authorization info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments --- -# Deleting a user account **(FREE)** +# Deleting a user account **(FREE ALL)** Users can be deleted from a GitLab instance, either by: diff --git a/doc/user/profile/account/two_factor_authentication.md b/doc/user/profile/account/two_factor_authentication.md index 33888e4f06e..83bdf883510 100644 --- a/doc/user/profile/account/two_factor_authentication.md +++ b/doc/user/profile/account/two_factor_authentication.md @@ -4,7 +4,7 @@ group: Authentication and Authorization info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments --- -# Two-factor authentication **(FREE)** +# Two-factor authentication **(FREE ALL)** Two-factor authentication (2FA) provides an additional level of security to your GitLab account. For others to access your account, they would need your username and password _and_ access to your second factor of authentication. @@ -71,9 +71,12 @@ To enable 2FA with a one-time password: - Cloud-based (recommended because you can restore access if you lose the hardware device): - [Authy](https://authy.com/). - [Duo](https://duo.com/). - - Other: + - Other (proprietary): - [Google Authenticator](https://support.google.com/accounts/answer/1066447?hl=en). - [Microsoft Authenticator](https://www.microsoft.com/en-us/security/mobile-authenticator-app). + - Other (Free Software) + - [Aegis Authenticator](https://getaegis.app/). + - [FreeOTP](https://freeotp.github.io/). 1. In the application, add a new entry in one of two ways: - Scan the code displayed by GitLab with your device's camera to add the entry automatically. - Enter the details provided to add the entry manually. @@ -114,14 +117,14 @@ Configure FortiAuthenticator in GitLab. On your GitLab server: sudo editor /etc/gitlab/gitlab.rb ``` - For installations from source: + For self-compiled installations: ```shell cd /home/git/gitlab sudo -u git -H editor config/gitlab.yml ``` -1. Add the provider configuration: +1. Add the provider configuration. For Linux package installations: @@ -133,7 +136,7 @@ Configure FortiAuthenticator in GitLab. On your GitLab server: gitlab_rails['forti_authenticator_access_token'] = 's3cr3t' ``` - For installations from source: + For self-compiled installations: ```yaml forti_authenticator: @@ -146,7 +149,7 @@ Configure FortiAuthenticator in GitLab. On your GitLab server: 1. Save the configuration file. 1. [Reconfigure](../../../administration/restart_gitlab.md#reconfigure-a-linux-package-installation) - (Linux package installations) or [restart](../../../administration/restart_gitlab.md#installations-from-source) + (Linux package installations) or [restart](../../../administration/restart_gitlab.md#self-compiled-installations) (self-compiled installations). ### Enable one-time password using Duo @@ -181,14 +184,14 @@ On your GitLab server: sudo editor /etc/gitlab/gitlab.rb ``` - For installations from source: + For self-compiled installations: ```shell cd /home/git/gitlab sudo -u git -H editor config/gitlab.yml ``` -1. Add the provider configuration: +1. Add the provider configuration. For Linux package installations: @@ -199,7 +202,7 @@ On your GitLab server: gitlab_rails['duo_auth_hostname'] = '<duo_api_hostname>' ``` - For installations from source: + For self-compiled installations: ```yaml duo_auth: @@ -211,7 +214,7 @@ On your GitLab server: 1. Save the configuration file. 1. For Linux package installations, [reconfigure GitLab](../../../administration/restart_gitlab.md#reconfigure-a-linux-package-installation). - For installations from source, [restart GitLab](../../../administration/restart_gitlab.md#installations-from-source). + For self-compiled installations, [restart GitLab](../../../administration/restart_gitlab.md#self-compiled-installations). ### Enable one-time password using FortiToken Cloud @@ -240,14 +243,14 @@ Configure FortiToken Cloud in GitLab. On your GitLab server: sudo editor /etc/gitlab/gitlab.rb ``` - For installations from source: + For self-compiled installations: ```shell cd /home/git/gitlab sudo -u git -H editor config/gitlab.yml ``` -1. Add the provider configuration: +1. Add the provider configuration. For Linux package installations: @@ -257,7 +260,7 @@ Configure FortiToken Cloud in GitLab. On your GitLab server: gitlab_rails['forti_token_cloud_client_secret'] = '<your_fortinet_cloud_client_secret>' ``` - For installations from source: + For self-compiled installations: ```yaml forti_token_cloud: @@ -268,7 +271,7 @@ Configure FortiToken Cloud in GitLab. On your GitLab server: 1. Save the configuration file. 1. [Reconfigure](../../../administration/restart_gitlab.md#reconfigure-a-linux-package-installation) (Linux package installations) or - [restart](../../../administration/restart_gitlab.md#installations-from-source) (self-compiled installations). + [restart](../../../administration/restart_gitlab.md#self-compiled-installations) (self-compiled installations). ### Set up a WebAuthn device diff --git a/doc/user/profile/achievements.md b/doc/user/profile/achievements.md index a90144beb1b..080ab41083b 100644 --- a/doc/user/profile/achievements.md +++ b/doc/user/profile/achievements.md @@ -4,7 +4,7 @@ group: Tenant Scale info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments --- -# Achievements (Experiment) **(FREE)** +# Achievements (Experiment) **(FREE ALL)** > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/113156) in GitLab 15.10 [with a flag](../../administration/feature_flags.md) named `achievements`. Disabled by default. @@ -115,7 +115,7 @@ To supply the avatar file, call the mutation using `curl`: curl "https://gitlab.com/api/graphql" \ -H "Authorization: Bearer <your-pat-token>" \ -H "Content-Type: multipart/form-data" \ - -F operations='{ "query": "mutation ($file: Upload!) { achievementsCreate(input: { namespaceId: \"gid://gitlab/Namespace/<namespace-id>\", name: \"<name>\", description: \"<description>\", avatar: $file }) { achievement { id name description avatarUrl } } }", "variables": { "file": null } }' \ + -F operations='{ "query": "mutation ($file: Upload!) { achievementsCreate(input: { namespaceId: \"gid://gitlab/Namespace/<namespace-id>\", name: \"<name>\", description: \"<description>\", avatar: $file }) { achievement { id name description avatarUrl } } }", "variables": { "file": null } }' \ -F map='{ "0": ["variables.file"] }' \ -F 0='@/path/to/your/file.jpg' ``` @@ -252,7 +252,7 @@ mutation { ## Delete an achievement If you consider you no longer need an achievement, you can delete it. -This will delete all related awarded and revoked instances of the achievement. +This deletes all related awarded and revoked instances of the achievement. Prerequisites: diff --git a/doc/user/profile/active_sessions.md b/doc/user/profile/active_sessions.md index cb56aa8a07a..5e8eb80a1aa 100644 --- a/doc/user/profile/active_sessions.md +++ b/doc/user/profile/active_sessions.md @@ -5,7 +5,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w type: howto --- -# Active sessions **(FREE)** +# Active sessions **(FREE ALL)** > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17867) in GitLab 10.8. diff --git a/doc/user/profile/comment_templates.md b/doc/user/profile/comment_templates.md index a9db2d268fe..50df5f8fdb4 100644 --- a/doc/user/profile/comment_templates.md +++ b/doc/user/profile/comment_templates.md @@ -5,7 +5,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w type: howto --- -# Comment templates **(FREE)** +# Comment templates **(FREE ALL)** > - GraphQL support [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/352956) in GitLab 14.9 [with a flag](../../administration/feature_flags.md) named `saved_replies`. Disabled by default. > - User interface [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/113232) in GitLab 15.10 [with a flag](../../administration/feature_flags.md) named `saved_replies`. Disabled by default. Enabled for GitLab team members only. @@ -41,6 +41,7 @@ To create a comment template for future use: 1. On the left sidebar, select your avatar. 1. From the dropdown list, select **Preferences**. 1. On the left sidebar, select **Comment templates** (**{comment-lines}**). +1. Select **Add new**. 1. Provide a **Name** for your comment template. 1. Enter the **Content** of your reply. You can use any formatting you use in other GitLab text areas. diff --git a/doc/user/profile/contributions_calendar.md b/doc/user/profile/contributions_calendar.md index e7f7211aeae..37b2c1a26e6 100644 --- a/doc/user/profile/contributions_calendar.md +++ b/doc/user/profile/contributions_calendar.md @@ -5,7 +5,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w type: concepts, howto --- -# Contributions calendar **(FREE)** +# Contributions calendar **(FREE ALL)** The contributions calendar displays a [user's events](#user-contribution-events) from the past 12 months. This includes contributions made in forked and [private](#show-private-contributions-on-your-user-profile-page) repositories. diff --git a/doc/user/profile/index.md b/doc/user/profile/index.md index 32ea9dd2c23..a25260c3db9 100644 --- a/doc/user/profile/index.md +++ b/doc/user/profile/index.md @@ -5,7 +5,7 @@ group: Authentication and Authorization info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments --- -# User account **(FREE)** +# User account **(FREE ALL)** Each GitLab account has a user profile, which contains information about you and your GitLab activity. @@ -57,6 +57,7 @@ To add new email to your account: 1. On the left sidebar, select your avatar. 1. Select **Edit profile**. 1. On the left sidebar, select **Emails**. +1. Select **Add new email**. 1. In the **Email** text box, enter the new email. 1. Select **Add email address**. 1. Verify your email address with the verification email received. @@ -310,7 +311,8 @@ the maximum number of users you can follow is 300. ### Disable following and being followed by other users -> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/325558) in GitLab 16.0 [with a flag](../feature_flags.md) named `disable_follow_users`. Disabled by default. +> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/325558) in GitLab 16.0 [with a flag](../feature_flags.md) named `disable_follow_users`. +> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/420620) in GitLab 16.3. You can disable following and being followed by other users. @@ -337,14 +339,33 @@ You can disable searching with Zoekt and use Elasticsearch instead. 1. Clear the **Enable advanced code search** checkbox. 1. Select **Save changes**. -## View your activity +## View a user's activity GitLab tracks [user contribution activity](contributions_calendar.md). -To view a summary of your activity, or the activity of other users: +To view a user's activity: -1. From a user's profile, select **Follow**. +1. Go to the user's profile. 1. In the GitLab menu, select **Activity**. -1. Select the **Followed users** tab. + +A list of **Most Recent Activity** contributions is displayed. + +## View your activity + +To view your activity: + +1. On the left sidebar, expand the top-most chevron (**{chevron-down}**). +1. Select **Your work**. +1. Select **Activity**. +1. Optional. To filter your activity by contribution type, in the **Your Activity** tab, select a tab: + + - **All**: All contributions you made in your groups and projects. + - **Push events**: Push events you made in your projects. + - **Merge events**: Merge requests you accepted in your projects. + - **Issue events**: Issues you opened and closed in your projects. + - **Comments**: Comments you posted in your projects. + - **Wiki**: Wiki pages you created and updated in your projects. + - **Designs**: Designs you added, updated, and removed in your projects. + - **Team**: Projects you joined and left. ## Session duration @@ -405,5 +426,5 @@ a session if the browser is closed or the existing session expires. - Manage applications that can [use GitLab as an OAuth provider](../../integration/oauth_provider.md) - Manage [personal access tokens](personal_access_tokens.md) to access your account via API and authorized applications - Manage [SSH keys](../ssh.md) to access your account via SSH -- Change your [syntax highlighting theme](preferences.md#syntax-highlighting-theme) +- [Change the syntax highlighting theme](preferences.md#change-the-syntax-highlighting-theme) - [View your active sessions](active_sessions.md) and revoke any of them if necessary diff --git a/doc/user/profile/notifications.md b/doc/user/profile/notifications.md index f378b0ae301..f1310bbb323 100644 --- a/doc/user/profile/notifications.md +++ b/doc/user/profile/notifications.md @@ -4,7 +4,7 @@ group: Project Management info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments --- -# Notification emails **(FREE)** +# Notification emails **(FREE ALL)** > - Enhanced email styling [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/78604) in GitLab 14.9 [with a feature flag](../../administration/feature_flags.md) named `enhanced_notify_css`. Disabled by default. > - Enhanced email styling [enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/355907) in GitLab 14.9. @@ -199,6 +199,8 @@ Users are notified of the following events: | Two-factor authentication disabled | User | Security email, always sent. | | User added to group | User | Sent when user is added to group. | | User added to project | User | Sent when user is added to project. | +| Group access expired | Group members | Sent when user's access to a group expires in seven days. _[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/12704) in GitLab 16.3._ | +| Project access expired | Project members | Sent when user's access to a project expires in seven days. _[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/12704) in GitLab 16.3._ | ## Notifications on issues, merge requests, and epics @@ -331,6 +333,13 @@ The participants are: - Authors of comments on the design. - Anyone that is [mentioned](../discussions/index.md#mentions) in a comment on the design. +## Notifications on group or project access expiration + +> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/12704) in GitLab 16.3. + +GitLab sends an email notification if a user's access to a group or project expires in seven days. +This reminds group or project members to extend their access duration if they want to. + ## Opt out of all GitLab emails If you no longer wish to receive any email notifications: @@ -389,7 +398,7 @@ For example, an email with the reason `assigned` has this sentence in the footer > You are receiving this email because you have been assigned an item on \<configured GitLab hostname>. -#### On-call alerts notifications **(PREMIUM)** +#### On-call alerts notifications **(PREMIUM ALL)** An [on-call alert](../../operations/incident_management/oncall_schedules.md) notification email can have one of [the alert's](../../operations/incident_management/alerts.md) statuses: @@ -399,7 +408,7 @@ notification email can have one of [the alert's](../../operations/incident_manag - `alert_resolved` - `alert_ignored` -#### Incident escalation notifications **(PREMIUM)** +#### Incident escalation notifications **(PREMIUM ALL)** An [incident escalation](../../operations/incident_management/escalation_policies.md) notification email can have one of [the incident's](../../operations/incident_management/incidents.md) status: @@ -427,3 +436,9 @@ current_user = User.first recipients = NotificationRecipients::BuildService.build_recipients(merge_request, current_user, action: "push_to"); recipients.count recipients.each { |notify| puts notify.user.username } ``` + +### Notifications about failed pipeline that doesn't exist + +If you receive notifications (through email or Slack) regarding a failed pipeline that no longer +exists, double-check to see if you have any duplicate GitLab instances that could have triggered the +message. diff --git a/doc/user/profile/personal_access_tokens.md b/doc/user/profile/personal_access_tokens.md index a8231460045..9161f5d4cf6 100644 --- a/doc/user/profile/personal_access_tokens.md +++ b/doc/user/profile/personal_access_tokens.md @@ -5,7 +5,7 @@ group: Authentication and Authorization info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments --- -# Personal access tokens **(FREE)** +# Personal access tokens **(FREE ALL)** > - Notifications for expiring tokens [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/3649) in GitLab 12.6. > - Token lifetime limits [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/3649) in GitLab 12.6. @@ -51,6 +51,7 @@ You can create as many personal access tokens as you like. 1. On the left sidebar, select your avatar. 1. Select **Edit profile**. 1. On the left sidebar, select **Access Tokens**. +1. Select **Add new token**. 1. Enter a name and expiry date for the token. - The token expires on that date at midnight UTC. - If you do not enter an expiry date, the expiry date is automatically set to 365 days later than the current date. diff --git a/doc/user/profile/preferences.md b/doc/user/profile/preferences.md index 17dea99e5ef..2df2674d539 100644 --- a/doc/user/profile/preferences.md +++ b/doc/user/profile/preferences.md @@ -5,96 +5,64 @@ info: To determine the technical writer assigned to the Stage/Group associated w type: concepts, howto --- -# Profile preferences **(FREE)** +# Profile preferences **(FREE ALL)** -A user's profile preferences page allows the user to customize various aspects -of GitLab to their liking. +You can update your preferences to change the look and feel of GitLab. -To navigate to your profile's preferences: +## Change the color theme -1. On the left sidebar, select your avatar. -1. Select **Preferences**. - -## Navigation theme - -The GitLab navigation theme setting allows you to personalize your GitLab experience. -You can choose from several color themes that add unique colors to the left sidebar. +You can change the color theme of the GitLab UI. These colors are displayed on the left sidebar. Using individual color themes might help you differentiate between your different -GitLab instances. +GitLab instances. -The default theme is Indigo. You can choose between 10 themes: +To change the color theme: -- Indigo -- Light Indigo -- Blue -- Light Blue -- Green -- Light Green -- Red -- Light Red -- Dark -- Light -- [Dark Mode](#dark-mode) - -## Dark mode - -> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28252) in GitLab 13.1 as an [Experiment](../../policy/experiment-beta-support.md#experiment) release. +1. On the left sidebar, select your avatar. +1. Select **Preferences**. +1. In the **Color theme** section, select a theme. -GitLab has started work on dark mode! The dark mode Experiment release is available in the -spirit of iteration and the lower expectations of -[Experiment features](../../policy/experiment-beta-support.md#experiment). +### Dark mode -Progress on dark mode is tracked in the [Dark theme epic](https://gitlab.com/groups/gitlab-org/-/epics/2902). -See the epic for: +> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28252) in GitLab 13.1 as an [Experiment](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28252). -- A list of known issues. -- Our planned direction and next steps. +Dark mode makes elements on the GitLab UI stand out on a dark background. -If you find an issue that isn't listed, leave a comment on the epic or create a -new issue. +- To turn on Dark mode, Select **Preferences > Color theme > Dark Mode**. -Dark mode is available as a navigation theme, for MVC and compatibility reasons. -[An issue exists](https://gitlab.com/gitlab-org/gitlab/-/issues/219512) -to make it configurable in its own section along with support for -different navigation themes. +Dark mode works only with the **Dark** Syntax highlighting theme. You can report and view issues, send feedback, and track progress in [epic 2092](https://gitlab.com/groups/gitlab-org/-/epics/2902). -Dark theme only works with the **Dark** syntax highlighting theme. +## Change the syntax highlighting theme -## Syntax highlighting theme +> Changing the default syntax highlighting theme for authenticated and unauthenticated users [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/25129) in GitLab 15.1. -> Changing the default syntax highlighting theme for new users and users who are not signed in [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/25129) in GitLab 15.10. +Syntax highlighting is a feature in code editors and IDEs. The highlighter assigns a color to each type of code, such as strings and comments. -GitLab uses the [Rouge Ruby library](https://github.com/rouge-ruby/rouge) -for syntax highlighting outside of any Editor context. The WebIDE (like Snippets) -uses [Monaco Editor](https://microsoft.github.io/monaco-editor/) and it's provided -[Monarch](https://microsoft.github.io/monaco-editor/monarch.html) library for -syntax highlighting. For a list of supported languages, see the documentation of -the respective libraries. +To change the syntax highlighting theme: -Changing this setting allows you to customize the color theme when viewing any -syntax highlighted code on GitLab. +1. On the left sidebar, select your avatar. +1. Select **Preferences**. +1. In the **Syntax highlighting theme** section, select a theme. +1. Select **Save changes**. -![Profile preferences syntax highlighting themes](img/profile-preferences-syntax-themes_v15_11.png) +To view the updated syntax highlighting theme, refresh your project's page. -Introduced in GitLab 13.6, the themes [Solarized](https://gitlab.com/gitlab-org/gitlab/-/issues/221034) and [Monokai](https://gitlab.com/gitlab-org/gitlab/-/issues/221034) also apply to the [Web IDE](../project/web_ide/index.md) and [Snippets](../snippets.md). +To customize the syntax highlighting theme, you can also [use the Application settings API](../../api/settings.md#list-of-settings-that-can-be-accessed-via-api-calls). Use `default_syntax_highlighting_theme` to change the syntax highlighting colors on a more granular level. -You can use an API call to change the default syntax highlighting theme for new users and users -who are not signed in. For more information, see the `default_syntax_highlighting_theme` -in the [list of settings that can be accessed through API calls](../../api/settings.md#list-of-settings-that-can-be-accessed-via-api-calls). +If these steps do not work, your programming language might not be supported by the syntax highlighters. +For more information, view [Rouge Ruby Library](https://github.com/rouge-ruby/rouge) for guidance on code files and Snippets. View [Moncaco Editor](https://microsoft.github.io/monaco-editor/) and [Monarch](https://microsoft.github.io/monaco-editor/monarch.html) for guidance on the Web IDE. -## Diff colors +## Change the diff colors -A diff compares the old/removed content with the new/added content (for example, when -[reviewing a merge request](../project/merge_requests/reviews/index.md#review-a-merge-request) or in a -[Markdown inline diff](../markdown.md#inline-diff)). -Typically, the colors red and green are used for removed and added lines in diffs. -The exact colors depend on the selected [syntax highlighting theme](#syntax-highlighting-theme). -The colors may lead to difficulties in case of red-green color blindness. +Diffs use two different background colors to show changes between versions of code. By default, the original file in red and the changes made in green. -For this reason, you can customize the following colors: +To change the diff colors: -- Color for removed lines -- Color for added lines +1. On the left sidebar, select your avatar. +1. Select **Preferences**. +1. Go to the **Diff colors** section. +1. Complete the fields. +1. Select **Save changes**. +1. Optional. Type a color code in the fields. ## Behavior @@ -157,7 +125,8 @@ You can choose one of the following options as the first day of the week: - Sunday - Monday -If you select **System Default**, the [instance default](../../administration/settings/index.md#default-first-day-of-the-week) setting is used. +If you select **System Default**, the first day of the week is set to the +[instance default](../../administration/settings/index.md#change-the-default-first-day-of-the-week). ## Time preferences diff --git a/doc/user/profile/service_accounts.md b/doc/user/profile/service_accounts.md new file mode 100644 index 00000000000..e593378ce4a --- /dev/null +++ b/doc/user/profile/service_accounts.md @@ -0,0 +1,157 @@ +--- +type: index, howto +stage: Manage +group: Authentication and Authorization +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments +--- + +# Service accounts **(PREMIUM ALL)** + +A service account is a type of machine user that is not tied to an individual human +user. + +A service account: + +- Does not use a licensed seat. +- Is not a: + - Billable user. + - Bot user. +- Is listed in group membership as a service account. +- Cannot sign into GitLab through the UI. + +You should use service accounts in pipelines or integrations where credentials must be +set up and maintained without being impacted by changes in human user membership. + +## Create a service account + +The number of service accounts you can create is restricted by the number of service +accounts allowed under your license: + +- On GitLab Free, service accounts are not available. +- On GitLab Premium, you can create one service account for every paid seat you have. +- On GitLab Ultimate, you can create an unlimited number of service accounts. + +How you create an account differs depending on whether you are on GitLab.com or self-managed. + +### GitLab.com + +Prerequisite: + +- You must have the Owner role in a top-level group. + +1. [Create a service account](../../api/groups.md#create-service-account-user). + + This service account is associated only with your top-level group. + +1. [Create a personal access token](../../api/groups.md#create-personal-access-token-for-service-account-user) + for the service account user. + + You define the scopes for the service account by [setting the scopes for the personal access token](personal_access_tokens.md#personal-access-token-scopes). + + The response includes the personal access token value. + +1. Use the returned personal access token value to authenticate with the GitLab API as the service account user. + +### Self-managed GitLab + +Prerequisite: + +- You must be an administrator for your self-managed instance. + +1. [Create a service account](../../api/users.md#create-service-account-user). + + This service account is associated with the entire instance, not a specific group + or project in the instance. + +1. [Create a personal access token](../../api/users.md#create-service-account-user) + for the service account user. + + You define the scopes for the service account by [setting the scopes for the personal access token](personal_access_tokens.md#personal-access-token-scopes). + + The response includes the personal access token value. + +1. Use the returned personal access token value to authenticate with the GitLab API as the service account user. + +## Add a service account to subgroup or project + +In terms of functionality, a service account is the same as an [external user](../../administration/external_users.md) +and has minimal access when you first create it. + +You must manually add the service account to each +[project](../project/members/index.md#add-users-to-a-project) or +[group](../group/index.md#add-users-to-a-group) you want the account to have access to. + +There is no limit to the number of service accounts you can add to a project or group. + +A service account: + +- Can have different roles across multiple subgroups and projects of the same top level group. +- On GitLab.com, only belongs to one top-level group. + +### Add to a subgroup + +You can add the service account to a subgroup [through the UI](../group/index.md#add-users-to-a-group) +or API. + +To add the service account through the API, call the following endpoint: + +```shell +curl --request POST --header "PRIVATE-TOKEN: <ACCESS TOKEN>" --data "user_id=<service_account_user_id>&access_level=30" "https://gitlab.example.com/api/v4/groups/<subgroup_id>/members" +``` + +### Add to a project + +You can add the service account to a project [through the UI](../project/members/index.md#add-users-to-a-project) +or API. + +To add the service account through the API, call the following endpoint: + +```shell +curl --request POST --header "PRIVATE-TOKEN: <PRIVATE-TOKEN>" --data "user_id=<service_account_user_id>&access_level=30" "https://gitlab.example.com/api/v4/projects/<project_id>/members" +``` + +### Change a service account role in a subgroup or project + +You can change a service account role in a subgroup or project through the UI or the API. + +To use the UI, go to the subgroup's or project's membership list and change the service +account's role. + +To use the API, call the following endpoint: + +```shell +curl --request POST --header "PRIVATE-TOKEN: <PRIVATE-TOKEN>" \ --data "user_id=<service_account_user_id>&access_level=30" "https://gitlab.example.com/api/v4/projects/<project_id>/members" +``` + +For more information on the attributes, see the [API documentation on editing a member of a group or project](../../api/members.md#edit-a-member-of-a-group-or-project). + +### Rotate the personal access token + +Prerequisites: + +- For GitLab.com, you must have the Owner role in a top-level group. +- For self-managed GitLab, you must be an administrator for your self-managed instance. + +Use the groups API to [rotate the personal access token](../../api/groups.md#rotate-a-personal-access-token-for-service-account-user) for a service account user. + +### Disable a service account + +You cannot directly disable or delete a service account. Instead, you must: + +1. Remove the service account as a member of all subgroups and projects: + + ```shell + curl --request DELETE --header "PRIVATE-TOKEN: <access_token_id>" "https://gitlab.example.com/api/v4/groups/<group_id>/members/<service_account_id>" + ``` + + For more information, see the [API documentation on removing a member from a group or project](../../api/members.md#remove-a-member-from-a-group-or-project). + +1. Revoke the personal access token using the [UI](personal_access_tokens.md#revoke-a-personal-access-token) or the [API](../../api/personal_access_tokens.md#revoke-a-personal-access-token). + +## Related topics + +- [Billable users](../../subscriptions/self_managed/index.md#billable-users) +- [Associated records](account/delete_account.md#associated-records) +- [Project access tokens - bot users](../project/settings/project_access_tokens.md#bot-users-for-projects) +- [Group access tokens - bot users](../group/settings/group_access_tokens.md#bot-users-for-groups) +- [Internal users](../../development/internal_users.md#internal-users) diff --git a/doc/user/profile/user_passwords.md b/doc/user/profile/user_passwords.md index c57a81c00bf..d8604bc712e 100644 --- a/doc/user/profile/user_passwords.md +++ b/doc/user/profile/user_passwords.md @@ -4,7 +4,7 @@ group: Authentication and Authorization info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments --- -# User passwords **(FREE)** +# User passwords **(FREE ALL)** If you use a password to sign in to GitLab, a strong password is very important. A weak or guessable password makes it easier for unauthorized people to log into your account. |