# Project access tokens (Alpha)

> 原文：[https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html)

*   [Creating a project access token](#creating-a-project-access-token)
*   [Project bot users](#project-bot-users)
*   [Revoking a project access token](#revoking-a-project-access-token)
*   [Limiting scopes of a project access token](#limiting-scopes-of-a-project-access-token)
    *   [Enable or disable project access tokens](#enable-or-disable-project-access-tokens)

# Project access tokens (Alpha)[](#project-access-tokens-alpha-core-only "Permalink")

**警告：**这是[Alpha](https://about.gitlab.com/handbook/product/#alpha)功能，随时可能更改，恕不另行通知.版本历史

*   在 GitLab 13.0 中[引入](https://gitlab.com/groups/gitlab-org/-/epics/2587) .
*   它部署在功能标记后面，默认情况下处于禁用状态.
*   在 GitLab.com 上已禁用.
*   要在 GitLab 自管实例中使用它，请让 GitLab 管理员[启用它](#enable-or-disable-project-access-tokens) .

项目访问令牌的范围仅限于项目，可用于通过[GitLab API](../../../api/README.html#personalproject-access-tokens)进行身份验证.

您还可以将项目访问令牌与 Git 一起使用，以通过 HTTP 或 SSH 进行身份验证.

项目访问令牌在您定义的日期 UTC 午夜到期.

有关如何使用项目访问令牌对 API 进行身份验证的示例，请参见[API 文档中](../../../api/README.html#personalproject-access-tokens)的以下部分.

## Creating a project access token[](#creating-a-project-access-token "Permalink")

1.  登录到 GitLab.
2.  导航至您要为其创建访问令牌的项目.
3.  在里面 **在设置**菜单中，选择**访问令牌** .
4.  选择令牌的名称和可选的到期日期.
5.  选择[所需的范围](#limiting-scopes-of-a-project-access-token) .
6.  单击**创建项目访问令牌**按钮.
7.  将项目访问令牌保存在安全的地方. 离开或刷新页面后，将无法再次访问它.

## Project bot users[](#project-bot-users "Permalink")

对于创建的每个项目访问令牌，还将创建一个机器人用户，并将其添加到具有["维护者"级别权限](../../permissions.html#project-members-permissions)的项目中. 使用项目访问令牌进行的 API 调用将与相应的 bot 用户相关联.

这些用户将出现在" **成员"中，**但不能被修改. 此外，该漫游器用户无法添加到任何其他项目.

[吊销](#revoking-a-project-access-token)项目访问令牌后，该漫游器用户将被删除，所有记录都将被移动到用户名" Ghost User"的系统范围内的用户. 有关更多信息，请参见[关联记录](../../profile/account/delete_account.html#associated-records) .

## Revoking a project access token[](#revoking-a-project-access-token "Permalink")

您可以随时通过单击相应的" **撤消"**按钮来撤消任何项目访问令牌. **设置>访问令牌** .

## Limiting scopes of a project access token[](#limiting-scopes-of-a-project-access-token "Permalink")

可以使用一个或多个范围创建项目访问令牌，这些范围允许给定令牌可以执行各种操作. 下表描述了可用范围.

| Scope | Description |
| --- | --- |
| `api` | 授予对范围内的项目 API 的完全读取/写入访问权限. |
| `read_api` | 授予对范围内的项目 API 的读取权限. |
| `read_registry` | 如果项目是私有的并且需要授权，则允许对[容器注册表](../../packages/container_registry/index.html)图像的读取（拉）. |
| `write_registry` | 允许对[容器注册表](../../packages/container_registry/index.html)进行写访问（推送）. |
| `read_repository` | 允许对存储库进行只读访问（拉）. |
| `write_repository` | 允许对存储库进行读写访问（拉，推）. |

### Enable or disable project access tokens[](#enable-or-disable-project-access-tokens "Permalink")

项目访问令牌是[Alpha](https://about.gitlab.com/handbook/product/#alpha)功能，不建议用于生产环境. 它部署在**默认情况下禁用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../../administration/feature_flags.html)可以为您的实例启用它.

To enable it:

```
Feature.enable(:resource_access_token) 
```

禁用它：

```
Feature.disable(:resource_access_token) 
```