personal_access_tokens.md 3,9 КБ
Newer Older
Russell Dickenson's avatar
Russell Dickenson включено в состав коммита
1
2
3
4
---
type: concepts, howto
---

Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
5
6
7
8
# Personal access tokens

> [Introduced][ce-3749] in GitLab 8.8.

Douwe Maan's avatar
Douwe Maan включено в состав коммита
9
10
Personal access tokens are the preferred way for third party applications and scripts to
authenticate with the [GitLab API][api], if using [OAuth2](../../api/oauth2.md) is not practical.
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
11

Tim Hobbs's avatar
Tim Hobbs включено в состав коммита
12
You can also use personal access tokens to authenticate against Git over HTTP or SSH. They must be used when you have [Two-Factor Authentication (2FA)][2fa] enabled. Authenticate with a token in place of your password.
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
13

Tim Hobbs's avatar
Tim Hobbs включено в состав коммита
14
To make [authenticated requests to the API][usage], use either the `private_token` parameter or the `Private-Token` header.
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
15

Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
16
17
18
The expiration of personal access tokens happens on the date you define,
at midnight UTC.

Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
19
20
21
22
23
## Creating a personal access token

You can create as many personal access tokens as you like from your GitLab
profile.

Evan Read's avatar
Evan Read включено в состав коммита
24
25
26
27
1. Log in to GitLab.
1. In the upper-right corner, click your avatar and select **Settings**.
1. On the  **User Settings** menu, select **Access Tokens**.
1. Choose a name and optional expiry date for the token.
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
28
1. Choose the [desired scopes](#limiting-scopes-of-a-personal-access-token).
Evan Read's avatar
Evan Read включено в состав коммита
29
1. Click the **Create personal access token** button.
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
30
31
32
1. Save the personal access token somewhere safe. Once you leave or refresh
   the page, you won't be able to access it again.

Evan Read's avatar
Evan Read включено в состав коммита
33
### Revoking a personal access token
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
34

Evan Read's avatar
Evan Read включено в состав коммита
35
36
At any time, you can revoke any personal access token by clicking the
respective **Revoke** button under the **Active Personal Access Token** area.
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
37
38
39
40
41
42
43

## Limiting scopes of a personal access token

Personal access tokens can be created with one or more scopes that allow various
actions that a given token can perform. The available scopes are depicted in
the following table.

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
44
45
46
47
48
49
50
51
| Scope              | Introduced in | Description |
| ------------------ | ------------- | ----------- |
| `read_user`        | [GitLab 8.15](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5951)   | Allows access to the read-only endpoints under `/users`. Essentially, any of the `GET` requests in the [Users API][users] are allowed. |
| `api`              | [GitLab 8.15](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5951)   | Grants complete access to the API and Container Registry (read/write). |
| `read_registry`    | [GitLab 9.3](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11845)   | Allows to read (pull) [container registry] images if a project is private and authorization is required. |
| `sudo`             | [GitLab 10.2](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/14838)  | Allows performing API actions as any user in the system (if the authenticated user is an admin). |
| `read_repository`  | [GitLab 10.7](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/17894)  | Allows read-only access (pull) to the repository through git clone. |
| `write_repository` | [GitLab 11.11](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/26021) | Allows read-write access (pull, push) to the repository through git clone. Required for accessing Git repositories over HTTP when 2FA is enabled. |
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
52
53
54
55
56
57

[2fa]: ../account/two_factor_authentication.md
[api]: ../../api/README.md
[ce-3749]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3749
[container registry]: ../project/container_registry.md
[users]: ../../api/users.md
Douwe Maan's avatar
Douwe Maan включено в состав коммита
58
[usage]: ../../api/README.md#personal-access-tokens
Russell Dickenson's avatar
Russell Dickenson включено в состав коммита
59
60
61
62
63
64
65
66
67
68
69
70

<!-- ## 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. -->