액세스 토큰 스코프
GitLab v19.1- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated 개인 액세스 토큰은 더 이상 컨테이너 레지스트리 또는 패키지 레지스트리에 액세스할 수 없습니다. k8s_proxy는 GitLab 16.4에서 도입됨.
액세스 토큰 스코프#
-
Tier: Free, Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
History
-
개인 액세스 토큰은 더 이상 컨테이너 레지스트리 또는 패키지 레지스트리에 액세스할 수 없습니다. GitLab 16.0에서 도입됨.
-
k8s_proxy는 GitLab 16.4에서 도입됨.k8s_proxy_pat라는 이름의 플래그로 제어됨. 기본적으로 활성화됨. -
기능 플래그
k8s_proxy_pat는 GitLab 16.5에서 제거됨. -
read_service_ping은 GitLab 17.1에서 도입됨. 개인 액세스 토큰 전용. -
manage_runner는 GitLab 17.1에서 도입됨. -
self_rotate는 GitLab 17.9에서 도입됨. 기본적으로 활성화됨.
스코프는 특정 조직 수준에서 액세스 토큰이 수행할 수 있는 작업을 정의합니다. 각 스코프는 특정 권한 집합을 부여합니다.
토큰 유형에 따라 토큰의 범위가 결정됩니다:
-
개인 액세스 토큰은 해당 사용자가 접근 가능한 모든 그룹과 프로젝트에 액세스할 수 있습니다.
-
그룹 액세스 토큰은 해당 그룹의 하위 그룹과 프로젝트에 액세스할 수 있습니다.
-
프로젝트 액세스 토큰은 해당 프로젝트에만 액세스할 수 있습니다.
개인 액세스 토큰을 특정 리소스와 권한으로 제한하려면 세밀한 개인 액세스 토큰을 참조하세요.
| 스코프 | 토큰 가용성 | 설명 |
|---|---|---|
| api | 개인, 그룹, 프로젝트 | 토큰 스코프 내에서 API에 대한 완전한 읽기 및 쓰기 권한을 부여합니다. 컨테이너 레지스트리, 종속성 프록시, 패키지 레지스트리가 포함됩니다. 1 |
| read_api | 개인, 그룹, 프로젝트 | 토큰 스코프 내에서 API에 대한 읽기 권한을 부여합니다. 개인 액세스 토큰의 경우 컨테이너 레지스트리와 패키지 레지스트리가 포함되며, 그룹 및 프로젝트 액세스 토큰의 경우 패키지 레지스트리만 포함됩니다. |
| read_repository | 개인, 그룹, 프로젝트 | 토큰 스코프 내에서 리포지터리에 대한 읽기 권한(pull)을 부여합니다: 개인 액세스 토큰은 비공개 프로젝트에, 그룹 액세스 토큰은 그룹 내 모든 리포지터리에, 프로젝트 액세스 토큰은 해당 프로젝트의 리포지터리에 적용됩니다. Git-over-HTTP 또는 리포지터리 파일 API를 사용합니다. |
| write_repository | 개인, 그룹, 프로젝트 | 토큰 스코프 내에서 리포지터리에 대한 읽기 및 쓰기 권한(pull 및 push)을 부여합니다: 개인 액세스 토큰은 비공개 프로젝트에, 그룹 액세스 토큰은 그룹 내 모든 리포지터리에, 프로젝트 액세스 토큰은 해당 프로젝트의 리포지터리에 적용됩니다. Git-over-HTTP를 사용합니다. API 인증은 지원하지 않습니다. |
| read_registry | 개인, 그룹, 프로젝트 | 인증이 필요한 경우 컨테이너 레지스트리 이미지에 대한 읽기 권한(pull)을 부여합니다. 컨테이너 레지스트리가 활성화된 경우에만 사용 가능합니다. 개인정보 조건은 토큰 유형에 따라 다릅니다: 개인 액세스 토큰은 프로젝트가 비공개인 경우, 그룹 액세스 토큰은 그룹 내 프로젝트 중 하나라도 비공개인 경우, 프로젝트 액세스 토큰은 해당 프로젝트가 비공개인 경우에 적용됩니다. |
| write_registry | 개인, 그룹, 프로젝트 | 컨테이너 레지스트리 이미지에 대한 쓰기 권한(push)을 부여합니다. 컨테이너 레지스트리가 활성화된 경우에만 사용 가능합니다. 그룹 및 프로젝트 액세스 토큰의 경우 이미지를 push하려면 read_registry 스코프도 포함해야 합니다. |
| self_rotate | 개인, 그룹, 프로젝트 | 이 토큰을 교체할 수 있는 권한을 부여합니다. 다른 토큰은 교체할 수 없습니다. 개인 액세스 토큰을 교체하려면 개인 액세스 토큰 API를 참조하세요. |
| read_virtual_registry | 개인, 그룹 | 종속성 프록시를 통해 컨테이너 이미지에 대한 읽기 권한(pull)을 부여합니다. 종속성 프록시가 활성화된 경우에만 사용 가능합니다. 2 |
| write_virtual_registry | 개인, 그룹 | 종속성 프록시를 통해 컨테이너 이미지에 대한 읽기 및 쓰기 권한(pull, push, delete)을 부여합니다. 종속성 프록시가 활성화된 경우에만 사용 가능합니다. 2 |
| create_runner | 개인, 그룹, 프로젝트 | 토큰 스코프 내에서 러너를 생성할 수 있는 권한을 부여합니다. |
| manage_runner | 개인, 그룹, 프로젝트 | 토큰 스코프 내에서 러너를 관리할 수 있는 권한을 부여합니다. |
| ai_features | 개인, 그룹, 프로젝트 | GitLab Duo, Code Suggestions API, GitLab Duo Chat API에 대한 API 작업을 수행할 수 있는 권한을 부여합니다. JetBrains용 GitLab Duo 플러그인과 함께 사용하도록 설계되었습니다. 다른 모든 확장 프로그램은 각 확장 프로그램 문서를 참조하세요. GitLab Self-Managed 버전 16.5, 16.6, 16.7에서는 작동하지 않습니다. GitLab Self-Managed 및 GitLab Dedicated에서는 GitLab Duo가 활성화된 경우에만 이 스코프를 사용할 수 있습니다. |
| k8s_proxy | 개인, 그룹, 프로젝트 | 쿠버네티스용 에이전트를 통해 Kubernetes API 호출을 수행할 수 있는 권한을 부여합니다. |
| admin_mode | 개인 | Admin Mode가 활성화된 경우 API 작업을 수행할 수 있는 권한을 부여합니다. GitLab Self-Managed 인스턴스의 관리자만 사용 가능합니다. |
| read_service_ping | 개인 | 관리자로 인증된 경우 API를 통해 Service Ping 페이로드를 다운로드할 수 있는 액세스 권한을 부여합니다. |
| sudo | 개인 | 관리자로 인증된 경우 시스템의 모든 사용자로서 API 작업을 수행할 수 있는 권한을 부여합니다. |
| read_user | 개인 | /user API 엔드포인트를 통해 인증된 사용자의 프로필에 대한 읽기 전용 액세스를 부여합니다. 프로필에는 사용자 이름, 공개 이메일, 전체 이름이 포함됩니다. /users 하위의 읽기 전용 API 엔드포인트에 대한 액세스도 부여합니다. |
[외부 인증](/19.1/administration/settings/external_authorization/)을 활성화한 경우,
개인 및 프로젝트 액세스 토큰은 컨테이너 레지스트리 또는 패키지 레지스트리에 액세스할 수 없습니다. 액세스를 복원하려면 외부 인증을 비활성화하세요.
각주:
-
개인 액세스 토큰의 경우,
api는 Git-over-HTTP를 통한 레지스트리 및 리포지터리에 대한 완전한 읽기 및 쓰기 권한도 부여합니다. 그룹 및 프로젝트 액세스 토큰에는 이 Git-over-HTTP 조항이 포함되지 않습니다. -
개인 액세스 토큰의 경우, 가상 레지스트리 스코프는 프로젝트가 비공개이고 인증이 필요한 경우에만 적용됩니다. 그룹 액세스 토큰에는 이러한 조건이 없습니다.