InfoGrab DocsInfoGrab Docs

CI/CD job 토큰의 세분화된 권한

요약

세분화된 권한을 사용하면 제한된 REST API 엔드포인트 집합에 대한 접근을 명시적으로 허용할 수 있습니다. 이슈 519575에 의견을 남겨 주십시오. job 토큰 허용 목록의 그룹과 프로젝트에 세분화된 권한을 추가할 수 있습니다.

히스토리
  • GitLab 17.10에서 실험 기능으로 도입되었습니다.
  • GitLab 18.0에서 실험에서 베타로 변경되었습니다.
  • GitLab 18.3에서 일반 공개되었습니다.

세분화된 권한을 사용하면 제한된 REST API 엔드포인트 집합에 대한 접근을 명시적으로 허용할 수 있습니다. 이 권한은 지정된 프로젝트의 CI/CD job 토큰에 적용됩니다.

이슈 519575에 의견을 남겨 주십시오.

job 토큰 허용 목록에 세분화된 권한 추가#

사전 요구 사항:

  • 프로젝트에 대한 Maintainer 또는 Owner 권한이 있어야 합니다.
  • 프로젝트에서 세분화된 권한 사용을 활성화해야 합니다.

job 토큰 허용 목록의 그룹과 프로젝트에 세분화된 권한을 추가할 수 있습니다. 이렇게 하면 해당 그룹과 프로젝트가 job 토큰을 사용해 특정 프로젝트 리소스에 접근할 수 있고, 이 그룹과 프로젝트가 사용할 수 있는 리소스를 더 정확하게 제어할 수 있습니다.

job 토큰 허용 목록의 그룹 또는 프로젝트에 세분화된 권한을 추가하려면 다음과 같이 합니다:

  1. 상단 바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 설정 > CI/CD를 선택합니다.
  3. Job 토큰 권한을 확장합니다.
  4. CI/CD job 토큰 허용 목록 섹션에서 추가를 선택합니다.
  5. 드롭다운 목록에서 그룹 또는 프로젝트를 선택합니다.
  6. 기존 그룹 또는 프로젝트의 경로를 입력합니다.
  7. 세분화된 권한을 선택합니다.
  8. 사용 가능한 API 엔드포인트에 대한 권한을 부여합니다.
  9. 추가를 선택합니다.

GitLab은 지정된 권한으로 그룹 또는 프로젝트를 job 토큰 허용 목록에 추가합니다. 이제 해당 그룹 또는 프로젝트는 현재 프로젝트에서 허용된 모든 리소스에 접근할 수 있습니다.

사용 가능한 API 엔드포인트#

CI/CD job 토큰은 다음 REST API 엔드포인트에 접근할 수 있습니다:

배지 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
프로젝트의 모든 배지 조회 GET /projects/:id/badges READ_BADGES 읽기
프로젝트의 배지 조회 GET /projects/:id/badges/:badge_id READ_BADGES 읽기
프로젝트의 배지 생성 POST /projects/:id/badges ADMIN_BADGES 읽기 및 쓰기
프로젝트에서 배지 삭제 DELETE /projects/:id/badges/:badge_id ADMIN_BADGES 읽기 및 쓰기
프로젝트의 배지 미리보기 조회 GET /projects/:id/badges/render ADMIN_BADGES 읽기 및 쓰기
프로젝트의 배지 업데이트 PUT /projects/:id/badges/:badge_id ADMIN_BADGES 읽기 및 쓰기

배포 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
배포와 연결된 모든 머지 리퀘스트 조회 GET /projects/:id/deployments/:deployment_id/merge_requests READ_DEPLOYMENTS 읽기
프로젝트의 모든 배포 조회 GET /projects/:id/deployments READ_DEPLOYMENTS 읽기
배포 조회 GET /projects/:id/deployments/:deployment_id READ_DEPLOYMENTS 읽기
배포 승인 또는 거부 POST /projects/:id/deployments/:deployment_id/approval ADMIN_DEPLOYMENTS 읽기 및 쓰기
배포 생성 POST /projects/:id/deployments ADMIN_DEPLOYMENTS, ADMIN_ENVIRONMENTS 읽기 및 쓰기
배포 삭제 DELETE /projects/:id/deployments/:deployment_id ADMIN_DEPLOYMENTS 읽기 및 쓰기
배포 업데이트 PUT /projects/:id/deployments/:deployment_id ADMIN_DEPLOYMENTS 읽기 및 쓰기

환경 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
모든 환경 조회 GET /projects/:id/environments READ_ENVIRONMENTS 읽기
환경 조회 GET /projects/:id/environments/:environment_id READ_ENVIRONMENTS 읽기
환경 생성 POST /projects/:id/environments ADMIN_ENVIRONMENTS 읽기 및 쓰기
환경 삭제 DELETE /projects/:id/environments/:environment_id ADMIN_ENVIRONMENTS 읽기 및 쓰기
중지된 여러 리뷰 앱 삭제 예약 DELETE /projects/:id/environments/review_apps ADMIN_ENVIRONMENTS 읽기 및 쓰기
환경 중지 POST /projects/:id/environments/:environment_id/stop ADMIN_ENVIRONMENTS 읽기 및 쓰기
오래된 환경 중지 POST /projects/:id/environments/stop_stale ADMIN_ENVIRONMENTS 읽기 및 쓰기
기존 환경 업데이트 PUT /projects/:id/environments/:environment_id ADMIN_ENVIRONMENTS 읽기 및 쓰기

Job 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
아티팩트 아카이브에서 특정 파일 다운로드 GET /projects/:id/jobs/:job_id/artifacts/*artifact_path READ_JOBS 읽기
ref 기준 아티팩트 아카이브에서 특정 파일 다운로드 GET /projects/:id/jobs/artifacts/:ref_name/raw/*artifact_path READ_JOBS 읽기
job에서 아티팩트 다운로드 GET /projects/:id/jobs/:job_id/artifacts READ_JOBS 읽기
job 아티팩트 다운로드 GET /jobs/:id/artifacts READ_JOBS 읽기
아티팩트 아카이브의 모든 파일 조회 GET /projects/:id/jobs/:job_id/artifacts/tree READ_JOBS 읽기
파이프라인별 모든 job 조회 GET /projects/:id/pipelines/:pipeline_id/jobs READ_JOBS 읽기
프로젝트의 모든 job 조회 GET /projects/:id/jobs READ_JOBS 읽기
job 아티팩트 조회 GET /projects/:id/jobs/artifacts/:ref_name/download READ_JOBS 읽기

머지 리퀘스트 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
모든 머지 리퀘스트 노트 조회 GET /projects/:id/merge_requests/:noteable_id/notes READ_MERGE_REQUESTS 읽기
프로젝트의 모든 머지 리퀘스트 조회 GET /projects/:id/merge_requests READ_MERGE_REQUESTS 읽기
머지 리퀘스트 조회 GET /projects/:id/merge_requests/:merge_request_iid READ_MERGE_REQUESTS 읽기
머지 리퀘스트 노트 조회 GET /projects/:id/merge_requests/:noteable_id/notes/:note_id READ_MERGE_REQUESTS 읽기

패키지 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
패키지 아카이브를 다운로드하는 Composer 패키지 엔드포인트 GET /projects/:id/packages/composer/archives/*package_name READ_PACKAGES 읽기
전달된(프록시된) PyPI 패키지 파일 다운로드 GET /projects/:id/packages/pypi/forward/:package_name/*upstream_path READ_PACKAGES 읽기
패키지 파일 다운로드 GET /projects/:id/packages/:package_id/package_files/:package_file_id/download READ_PACKAGES 읽기
모듈 파일 다운로드 GET /projects/:id/packages/go/*module_name/@v/:module_version.mod READ_PACKAGES 읽기
모듈 소스 다운로드 GET /projects/:id/packages/go/*module_name/@v/:module_version.zip READ_PACKAGES 읽기
패키지 파일 다운로드 GET /projects/:id/packages/generic/:package_name/*package_version/(*path/):file_name READ_PACKAGES 읽기
NPM tarball 다운로드 GET /projects/:id/packages/npm/*package_name/-/*file_name READ_PACKAGES 읽기
그룹의 Maven 패키지 파일 다운로드 GET /groups/:id/-/packages/maven/*path/:file_name READ_PACKAGES 읽기
프로젝트의 Maven 패키지 파일 다운로드 GET /projects/:id/packages/maven/*path/:file_name READ_PACKAGES 읽기
인스턴스의 Maven 패키지 파일 다운로드 GET /packages/maven/*path/:file_name READ_PACKAGES 읽기
지정한 NPM 패키지의 모든 태그 조회 GET /groups/:id/-/packages/npm/-/package/*package_name/dist-tags READ_PACKAGES 읽기
지정한 NPM 패키지의 모든 태그 조회 GET /packages/npm/-/package/*package_name/dist-tags READ_PACKAGES 읽기
지정한 NPM 패키지의 모든 태그 조회 GET /projects/:id/packages/npm/-/package/*package_name/dist-tags READ_PACKAGES 읽기
조회 GET /projects/:id/packages/go/*module_name/@v/list READ_PACKAGES 읽기
모든 패키지 다운로드 URL 조회 GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference/download_urls READ_PACKAGES 읽기
모든 패키지 다운로드 URL 조회 GET /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference/download_urls READ_PACKAGES 읽기
모든 패키지 파일 조회 GET /projects/:id/packages/:package_id/package_files READ_PACKAGES 읽기
모든 패키지 파일 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions/:package_revision/files READ_PACKAGES 읽기
모든 패키지 리비전 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions READ_PACKAGES 읽기
모든 패키지 업로드 URL 조회 POST /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference/upload_urls READ_PACKAGES 읽기
모든 패키지 업로드 URL 조회 POST /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference/upload_urls READ_PACKAGES 읽기
프로젝트의 모든 패키지 조회 GET /projects/:id/packages READ_PACKAGES 읽기
프로젝트의 모든 패키지 조회 GET /projects/:id/packages/pypi/simple READ_PACKAGES 읽기
모든 레시피 다운로드 URL 조회 GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/download_urls READ_PACKAGES 읽기
모든 레시피 다운로드 URL 조회 GET /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/download_urls READ_PACKAGES 읽기
모든 레시피 파일 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/files READ_PACKAGES 읽기
모든 레시피 리비전 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions READ_PACKAGES 읽기
모든 레시피 업로드 URL 조회 POST /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/upload_urls READ_PACKAGES 읽기
모든 레시피 업로드 URL 조회 POST /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/upload_urls READ_PACKAGES 읽기
NPM 레지스트리 대량 어드바이저리 엔드포인트 POST /groups/:id/-/packages/npm/-/npm/v1/security/advisories/bulk READ_PACKAGES 읽기
NPM 레지스트리 대량 어드바이저리 엔드포인트 POST /packages/npm/-/npm/v1/security/advisories/bulk READ_PACKAGES 읽기
NPM 레지스트리 대량 어드바이저리 엔드포인트 POST /projects/:id/packages/npm/-/npm/v1/security/advisories/bulk READ_PACKAGES 읽기
NPM 레지스트리 메타데이터 엔드포인트 GET /projects/:id/packages/npm/*package_name READ_PACKAGES 읽기
NPM 레지스트리 빠른 감사 엔드포인트 POST /groups/:id/-/packages/npm/-/npm/v1/security/audits/quick READ_PACKAGES 읽기
NPM 레지스트리 빠른 감사 엔드포인트 POST /packages/npm/-/npm/v1/security/audits/quick READ_PACKAGES 읽기
NPM 레지스트리 빠른 감사 엔드포인트 POST /projects/:id/packages/npm/-/npm/v1/security/audits/quick READ_PACKAGES 읽기
패키지 파일 조회 GET /packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/package/:conan_package_reference/:package_revision/:file_name READ_PACKAGES 읽기
패키지 파일 조회 GET /projects/:id/packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/package/:conan_package_reference/:package_revision/:file_name READ_PACKAGES 읽기
패키지 파일 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions/:package_revision/files/:file_name READ_PACKAGES 읽기
패키지 매니페스트 조회 GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference/digest READ_PACKAGES 읽기
패키지 매니페스트 조회 GET /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference/digest READ_PACKAGES 읽기
패키지 스냅샷 조회 GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference READ_PACKAGES 읽기
패키지 스냅샷 조회 GET /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference READ_PACKAGES 읽기
프로젝트 패키지 조회 GET /projects/:id/packages/:package_id READ_PACKAGES 읽기
레시피 파일 조회 GET /packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/export/:file_name READ_PACKAGES 읽기
레시피 파일 조회 GET /projects/:id/packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/export/:file_name READ_PACKAGES 읽기
레시피 파일 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/files/:file_name READ_PACKAGES 읽기
레시피 매니페스트 조회 GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/digest READ_PACKAGES 읽기
레시피 매니페스트 조회 GET /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/digest READ_PACKAGES 읽기
레시피 스냅샷 조회 GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel READ_PACKAGES 읽기
레시피 스냅샷 조회 GET /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel READ_PACKAGES 읽기
최신 패키지 리비전 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/latest READ_PACKAGES 읽기
최신 레시피 리비전 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/latest READ_PACKAGES 읽기
패키지 참조 메타데이터 조회 GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/search READ_PACKAGES 읽기
패키지 참조 메타데이터 조회 GET /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/search READ_PACKAGES 읽기
패키지 참조 메타데이터 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/search READ_PACKAGES 읽기
레시피 리비전별 패키지 참조 메타데이터 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/search READ_PACKAGES 읽기
PyPI Simple 프로젝트 패키지 엔드포인트 GET /projects/:id/packages/pypi/simple/*package_name READ_PACKAGES 읽기
PyPI 패키지 다운로드 엔드포인트 GET /projects/:id/packages/pypi/files/:sha256/*file_identifier READ_PACKAGES 읽기
버전 메타데이터 GET /projects/:id/packages/go/*module_name/@v/:module_version.info READ_PACKAGES 읽기
NPM 패키지 업로드 인증 PUT /projects/:id/packages/npm/:package_name/authorize ADMIN_PACKAGES 읽기 및 쓰기
workhorse에서의 PyPI 패키지 업로드 인증 POST /projects/:id/packages/pypi/authorize ADMIN_PACKAGES 읽기 및 쓰기
패키지 생성 POST /projects/:id/packages/composer ADMIN_PACKAGES 읽기 및 쓰기
지정한 NPM 패키지와 버전의 태그 생성 또는 업데이트 PUT /groups/:id/-/packages/npm/-/package/*package_name/dist-tags/:tag ADMIN_PACKAGES 읽기 및 쓰기
지정한 NPM 패키지와 버전의 태그 생성 또는 업데이트 PUT /packages/npm/-/package/*package_name/dist-tags/:tag ADMIN_PACKAGES 읽기 및 쓰기
지정한 NPM 패키지와 버전의 태그 생성 또는 업데이트 PUT /projects/:id/packages/npm/-/package/*package_name/dist-tags/:tag ADMIN_PACKAGES 읽기 및 쓰기
NPM 패키지 생성 또는 지원 중단 PUT /projects/:id/packages/npm/:package_name ADMIN_PACKAGES 읽기 및 쓰기
패키지 파일 삭제 DELETE /projects/:id/packages/:package_id/package_files/:package_file_id ADMIN_PACKAGES 읽기 및 쓰기
패키지 리비전 삭제 DELETE /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions/:package_revision ADMIN_PACKAGES 읽기 및 쓰기
프로젝트 패키지 삭제 DELETE /projects/:id/packages/:package_id ADMIN_PACKAGES 읽기 및 쓰기
레시피 및 패키지 삭제 DELETE /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel ADMIN_PACKAGES 읽기 및 쓰기
레시피 및 패키지 삭제 DELETE /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel ADMIN_PACKAGES 읽기 및 쓰기
레시피 리비전 삭제 DELETE /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision ADMIN_PACKAGES 읽기 및 쓰기
지정한 태그 삭제 DELETE /groups/:id/-/packages/npm/-/package/*package_name/dist-tags/:tag ADMIN_PACKAGES 읽기 및 쓰기
지정한 태그 삭제 DELETE /packages/npm/-/package/*package_name/dist-tags/:tag ADMIN_PACKAGES 읽기 및 쓰기
지정한 태그 삭제 DELETE /projects/:id/packages/npm/-/package/*package_name/dist-tags/:tag ADMIN_PACKAGES 읽기 및 쓰기
패키지 업로드 POST /projects/:id/packages/pypi ADMIN_PACKAGES 읽기 및 쓰기
패키지 파일 업로드 PUT /packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/package/:conan_package_reference/:package_revision/:file_name ADMIN_PACKAGES 읽기 및 쓰기
패키지 파일 업로드 PUT /projects/:id/packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/package/:conan_package_reference/:package_revision/:file_name ADMIN_PACKAGES 읽기 및 쓰기
패키지 파일 업로드 PUT /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions/:package_revision/files/:file_name ADMIN_PACKAGES 읽기 및 쓰기
레시피 파일 업로드 PUT /packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/export/:file_name ADMIN_PACKAGES 읽기 및 쓰기
레시피 파일 업로드 PUT /projects/:id/packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/export/:file_name ADMIN_PACKAGES 읽기 및 쓰기
레시피 파일 업로드 PUT /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/files/:file_name ADMIN_PACKAGES 읽기 및 쓰기
패키지 파일 업로드 PUT /projects/:id/packages/generic/:package_name/*package_version/(*path/):file_name ADMIN_PACKAGES 읽기 및 쓰기
Maven 패키지 파일 업로드 PUT /projects/:id/packages/maven/*path/:file_name ADMIN_PACKAGES 읽기 및 쓰기
범용 패키지 파일에 대한 Workhorse 인증 PUT /projects/:id/packages/generic/:package_name/*package_version/(*path/):file_name/authorize ADMIN_PACKAGES 읽기 및 쓰기
Conan 패키지 파일에 대한 Workhorse 인증 PUT /packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/package/:conan_package_reference/:package_revision/:file_name/authorize ADMIN_PACKAGES 읽기 및 쓰기
Conan 패키지 파일에 대한 Workhorse 인증 PUT /projects/:id/packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/package/:conan_package_reference/:package_revision/:file_name/authorize ADMIN_PACKAGES 읽기 및 쓰기
Conan 패키지 파일에 대한 Workhorse 인증 PUT /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions/:package_revision/files/:file_name/authorize ADMIN_PACKAGES 읽기 및 쓰기
Conan 레시피 파일에 대한 Workhorse 인증 PUT /packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/export/:file_name/authorize ADMIN_PACKAGES 읽기 및 쓰기
Conan 레시피 파일에 대한 Workhorse 인증 PUT /projects/:id/packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/export/:file_name/authorize ADMIN_PACKAGES 읽기 및 쓰기
Conan 레시피 파일에 대한 Workhorse 인증 PUT /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/files/:file_name/authorize ADMIN_PACKAGES 읽기 및 쓰기
Maven 패키지 파일 업로드에 대한 Workhorse 인증 PUT /projects/:id/packages/maven/*path/:file_name/authorize ADMIN_PACKAGES 읽기 및 쓰기

파이프라인 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
파이프라인별 모든 브리지 job 조회 GET /projects/:id/pipelines/:pipeline_id/bridges READ_PIPELINES 읽기
모든 패키지 파이프라인 조회 GET /projects/:id/packages/:package_id/pipelines READ_PIPELINES 읽기
프로젝트의 모든 파이프라인 조회 GET /projects/:id/pipelines READ_PIPELINES 읽기
파이프라인별 모든 트리거 job 조회 GET /projects/:id/pipelines/:pipeline_id/trigger_jobs READ_PIPELINES 읽기
파이프라인 조회 GET /projects/:id/pipelines/:pipeline_id READ_PIPELINES 읽기
파이프라인 메타데이터 업데이트 PUT /projects/:id/pipelines/:pipeline_id/metadata ADMIN_PIPELINES 읽기 및 쓰기

릴리스 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
프로젝트 릴리스 자산 파일 다운로드 GET /projects/:id/releases/:tag_name/downloads/*direct_asset_path READ_RELEASES 읽기
변경 로그 데이터 생성 GET /projects/:id/repository/changelog READ_RELEASES 읽기
프로젝트의 최신 릴리스 조회 GET /projects/:id/releases/permalink/latest(/)(*suffix_path) READ_RELEASES 읽기
모든 릴리스 링크 조회 GET /projects/:id/releases/:tag_name/assets/links READ_RELEASES 읽기
프로젝트의 모든 릴리스 조회 GET /projects/:id/releases READ_RELEASES 읽기
태그 이름으로 릴리스 조회 GET /projects/:id/releases/:tag_name READ_RELEASES 읽기
릴리스 링크 조회 GET /projects/:id/releases/:tag_name/assets/links/:link_id READ_RELEASES 읽기
릴리스 생성 POST /projects/:id/releases ADMIN_RELEASES 읽기 및 쓰기
릴리스 링크 생성 POST /projects/:id/releases/:tag_name/assets/links ADMIN_RELEASES 읽기 및 쓰기
릴리스 삭제 DELETE /projects/:id/releases/:tag_name ADMIN_RELEASES 읽기 및 쓰기
릴리스 링크 삭제 DELETE /projects/:id/releases/:tag_name/assets/links/:link_id ADMIN_RELEASES 읽기 및 쓰기
릴리스 증거 생성 POST /projects/:id/releases/:tag_name/evidence ADMIN_RELEASES 읽기 및 쓰기
새 컴포넌트 프로젝트 릴리스를 버전으로 CI/CD 카탈로그에 게시 POST /projects/:id/catalog/publish ADMIN_RELEASES 읽기 및 쓰기
릴리스 업데이트 PUT /projects/:id/releases/:tag_name ADMIN_RELEASES 읽기 및 쓰기
릴리스 링크 업데이트 PUT /projects/:id/releases/:tag_name/assets/links/:link_id ADMIN_RELEASES 읽기 및 쓰기

리포지터리 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
커밋과 연결된 모든 머지 리퀘스트 조회 GET /projects/:id/repository/commits/:sha/merge_requests READ_REPOSITORIES 읽기
프로젝트 리포지터리의 모든 태그 조회 GET /projects/:id/repository/tags READ_REPOSITORIES 읽기
커밋이 푸시된 모든 참조 조회 GET /projects/:id/repository/commits/:sha/refs READ_REPOSITORIES 읽기
모든 리포지터리 브랜치 조회 GET /projects/:id/repository/branches READ_REPOSITORIES 읽기
커밋 조회 GET /projects/:id/repository/commits/:sha READ_REPOSITORIES 읽기
리포지터리에서 원본 파일 조회 GET /projects/:id/repository/files/:file_path/raw READ_REPOSITORIES 읽기
단일 리포지터리 태그 조회 GET /projects/:id/repository/tags/:tag_name READ_REPOSITORIES 읽기
리포지터리에서 파일 아카이브 조회 GET /projects/:id/repository/archive READ_REPOSITORIES 읽기

보안 파일 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
보안 파일 다운로드 GET /projects/:id/secure_files/:secure_file_id/download READ_SECURE_FILES 읽기
프로젝트의 모든 보안 파일 조회 GET /projects/:id/secure_files READ_SECURE_FILES 읽기
보안 파일 세부 정보 조회 GET /projects/:id/secure_files/:secure_file_id READ_SECURE_FILES 읽기
보안 파일 생성 POST /projects/:id/secure_files ADMIN_SECURE_FILES 읽기 및 쓰기
보안 파일 삭제 DELETE /projects/:id/secure_files/:secure_file_id ADMIN_SECURE_FILES 읽기 및 쓰기

Terraform 상태 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
Terraform 상태 조회 GET /projects/:id/terraform/state/:name READ_TERRAFORM_STATE 읽기
Terraform 상태 버전 조회 GET /projects/:id/terraform/state/:name/versions/:serial READ_TERRAFORM_STATE 읽기
Terraform 상태 생성 또는 업데이트 POST /projects/:id/terraform/state/:name ADMIN_TERRAFORM_STATE 읽기 및 쓰기
Terraform 상태 삭제 DELETE /projects/:id/terraform/state/:name ADMIN_TERRAFORM_STATE 읽기 및 쓰기
Terraform 상태 버전 삭제 DELETE /projects/:id/terraform/state/:name/versions/:serial ADMIN_TERRAFORM_STATE 읽기 및 쓰기
Terraform 상태 잠금 POST /projects/:id/terraform/state/:name/lock ADMIN_TERRAFORM_STATE 읽기 및 쓰기
Terraform 상태 잠금 해제 DELETE /projects/:id/terraform/state/:name/lock ADMIN_TERRAFORM_STATE 읽기 및 쓰기

작업 항목 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
프로젝트의 작업 항목 조회 GET /projects/:id/-/work_items/:work_item_iid READ_WORK_ITEMS 읽기
프로젝트의 모든 이슈 조회 GET /projects/:id/issues READ_WORK_ITEMS 읽기
프로젝트의 작업 항목 목록 조회 GET /projects/:id/-/work_items READ_WORK_ITEMS 읽기
프로젝트 이슈 조회 GET /projects/:id/issues/:issue_iid READ_WORK_ITEMS 읽기

세분화된 권한이 없는 엔드포인트#

다음 엔드포인트에는 세분화된 권한이 없습니다. CI/CD job 토큰은 이러한 엔드포인트에 항상 접근할 수 있으며, 허용 목록 항목의 권한은 이 접근을 제한하지 않습니다:

권한 API 엔드포인트
레지스트리 리포지터리 삭제 DELETE /projects/:id/registry/repositories/:repository_id
여러 레지스트리 리포지터리 태그 삭제 DELETE /projects/:id/registry/repositories/:repository_id/tags
레지스트리 리포지터리 태그 삭제 DELETE /projects/:id/registry/repositories/:repository_id/tags/:tag_name
그룹의 패키지 버전 메타데이터에 대한 Composer 패키지 엔드포인트 GET /group/:id/-/packages/composer/*package_name
그룹의 모든 패키지 조회 GET /group/:id/-/packages/composer/p/:sha
그룹의 패키지 버전 메타데이터에 대한 Composer v2 패키지 p2 엔드포인트 GET /group/:id/-/packages/composer/p2/*package_name
리포지터리 URL 템플릿 조회 GET /group/:id/-/packages/composer/packages
NPM 레지스트리 메타데이터 엔드포인트 GET /groups/:id/-/packages/npm/*package_name
그룹에서 패키지 파일 다운로드 GET /groups/:id/-/packages/pypi/files/:sha256/*file_identifier
그룹의 모든 패키지 조회 GET /groups/:id/-/packages/pypi/simple
PyPI Simple 그룹 패키지 엔드포인트 GET /groups/:id/-/packages/pypi/simple/*package_name
job 토큰으로 job 조회 GET /job
job 토큰으로 Kubernetes용 모든 GitLab 에이전트 조회 GET /job/allowed_agents
Conan 패키지 검색 GET /packages/conan/v1/conans/search
Conan 리포지터리 가용성 확인 GET /packages/conan/v1/ping
인증 토큰 조회 GET /packages/conan/v1/users/authenticate
인증 자격 증명 확인 GET /packages/conan/v1/users/check_credentials
NPM 레지스트리 메타데이터 엔드포인트 GET /packages/npm/*package_name
프로젝트의 Dependency Firewall 상태 조회 GET /projects/:id/dependency_firewall/enablement
Conan 패키지 검색 GET /projects/:id/packages/conan/v1/conans/search
Conan 리포지터리 가용성 확인 GET /projects/:id/packages/conan/v1/ping
인증 토큰 조회 GET /projects/:id/packages/conan/v1/users/authenticate
인증 자격 증명 확인 GET /projects/:id/packages/conan/v1/users/check_credentials
Conan 패키지 검색 GET /projects/:id/packages/conan/v2/conans/search
인증 토큰 조회 GET /projects/:id/packages/conan/v2/users/authenticate
인증 자격 증명 확인 GET /projects/:id/packages/conan/v2/users/check_credentials
프로젝트의 모든 레지스트리 리포지터리 조회 GET /projects/:id/registry/repositories
프로젝트의 모든 레지스트리 리포지터리 태그 조회 GET /projects/:id/registry/repositories/:repository_id/tags
레지스트리 리포지터리 태그의 세부 정보 조회 GET /projects/:id/registry/repositories/:repository_id/tags/:tag_name
DAST 사이트 검증을 새 상태로 전환 POST /internal/dast/site_validations/:id/transition
병렬 job의 테스트 밸런싱 초기화 POST /job/test_balancing/initialize
병렬 job의 다음 테스트 분할 배치 요청 POST /job/test_balancing/request
프로젝트의 Dependency Firewall 정책에 대해 패키지 평가 POST /projects/:id/dependency_firewall/evaluate
단일 모듈형 서비스 대상에 대한 단기 JWT 발급 POST /token_exchange

CI/CD job 토큰의 세분화된 권한

GitLab v19.5
Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기

요약

세분화된 권한을 사용하면 제한된 REST API 엔드포인트 집합에 대한 접근을 명시적으로 허용할 수 있습니다. 이슈 519575에 의견을 남겨 주십시오. job 토큰 허용 목록의 그룹과 프로젝트에 세분화된 권한을 추가할 수 있습니다.

히스토리
  • GitLab 17.10에서 실험 기능으로 도입되었습니다.
  • GitLab 18.0에서 실험에서 베타로 변경되었습니다.
  • GitLab 18.3에서 일반 공개되었습니다.

세분화된 권한을 사용하면 제한된 REST API 엔드포인트 집합에 대한 접근을 명시적으로 허용할 수 있습니다. 이 권한은 지정된 프로젝트의 CI/CD job 토큰에 적용됩니다.

이슈 519575에 의견을 남겨 주십시오.

job 토큰 허용 목록에 세분화된 권한 추가#

사전 요구 사항:

  • 프로젝트에 대한 Maintainer 또는 Owner 권한이 있어야 합니다.
  • 프로젝트에서 세분화된 권한 사용을 활성화해야 합니다.

job 토큰 허용 목록의 그룹과 프로젝트에 세분화된 권한을 추가할 수 있습니다. 이렇게 하면 해당 그룹과 프로젝트가 job 토큰을 사용해 특정 프로젝트 리소스에 접근할 수 있고, 이 그룹과 프로젝트가 사용할 수 있는 리소스를 더 정확하게 제어할 수 있습니다.

job 토큰 허용 목록의 그룹 또는 프로젝트에 세분화된 권한을 추가하려면 다음과 같이 합니다:

  1. 상단 바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 설정 > CI/CD를 선택합니다.
  3. Job 토큰 권한을 확장합니다.
  4. CI/CD job 토큰 허용 목록 섹션에서 추가를 선택합니다.
  5. 드롭다운 목록에서 그룹 또는 프로젝트를 선택합니다.
  6. 기존 그룹 또는 프로젝트의 경로를 입력합니다.
  7. 세분화된 권한을 선택합니다.
  8. 사용 가능한 API 엔드포인트에 대한 권한을 부여합니다.
  9. 추가를 선택합니다.

GitLab은 지정된 권한으로 그룹 또는 프로젝트를 job 토큰 허용 목록에 추가합니다. 이제 해당 그룹 또는 프로젝트는 현재 프로젝트에서 허용된 모든 리소스에 접근할 수 있습니다.

사용 가능한 API 엔드포인트#

CI/CD job 토큰은 다음 REST API 엔드포인트에 접근할 수 있습니다:

배지 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
프로젝트의 모든 배지 조회 GET /projects/:id/badges READ_BADGES 읽기
프로젝트의 배지 조회 GET /projects/:id/badges/:badge_id READ_BADGES 읽기
프로젝트의 배지 생성 POST /projects/:id/badges ADMIN_BADGES 읽기 및 쓰기
프로젝트에서 배지 삭제 DELETE /projects/:id/badges/:badge_id ADMIN_BADGES 읽기 및 쓰기
프로젝트의 배지 미리보기 조회 GET /projects/:id/badges/render ADMIN_BADGES 읽기 및 쓰기
프로젝트의 배지 업데이트 PUT /projects/:id/badges/:badge_id ADMIN_BADGES 읽기 및 쓰기

배포 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
배포와 연결된 모든 머지 리퀘스트 조회 GET /projects/:id/deployments/:deployment_id/merge_requests READ_DEPLOYMENTS 읽기
프로젝트의 모든 배포 조회 GET /projects/:id/deployments READ_DEPLOYMENTS 읽기
배포 조회 GET /projects/:id/deployments/:deployment_id READ_DEPLOYMENTS 읽기
배포 승인 또는 거부 POST /projects/:id/deployments/:deployment_id/approval ADMIN_DEPLOYMENTS 읽기 및 쓰기
배포 생성 POST /projects/:id/deployments ADMIN_DEPLOYMENTS, ADMIN_ENVIRONMENTS 읽기 및 쓰기
배포 삭제 DELETE /projects/:id/deployments/:deployment_id ADMIN_DEPLOYMENTS 읽기 및 쓰기
배포 업데이트 PUT /projects/:id/deployments/:deployment_id ADMIN_DEPLOYMENTS 읽기 및 쓰기

환경 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
모든 환경 조회 GET /projects/:id/environments READ_ENVIRONMENTS 읽기
환경 조회 GET /projects/:id/environments/:environment_id READ_ENVIRONMENTS 읽기
환경 생성 POST /projects/:id/environments ADMIN_ENVIRONMENTS 읽기 및 쓰기
환경 삭제 DELETE /projects/:id/environments/:environment_id ADMIN_ENVIRONMENTS 읽기 및 쓰기
중지된 여러 리뷰 앱 삭제 예약 DELETE /projects/:id/environments/review_apps ADMIN_ENVIRONMENTS 읽기 및 쓰기
환경 중지 POST /projects/:id/environments/:environment_id/stop ADMIN_ENVIRONMENTS 읽기 및 쓰기
오래된 환경 중지 POST /projects/:id/environments/stop_stale ADMIN_ENVIRONMENTS 읽기 및 쓰기
기존 환경 업데이트 PUT /projects/:id/environments/:environment_id ADMIN_ENVIRONMENTS 읽기 및 쓰기

Job 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
아티팩트 아카이브에서 특정 파일 다운로드 GET /projects/:id/jobs/:job_id/artifacts/*artifact_path READ_JOBS 읽기
ref 기준 아티팩트 아카이브에서 특정 파일 다운로드 GET /projects/:id/jobs/artifacts/:ref_name/raw/*artifact_path READ_JOBS 읽기
job에서 아티팩트 다운로드 GET /projects/:id/jobs/:job_id/artifacts READ_JOBS 읽기
job 아티팩트 다운로드 GET /jobs/:id/artifacts READ_JOBS 읽기
아티팩트 아카이브의 모든 파일 조회 GET /projects/:id/jobs/:job_id/artifacts/tree READ_JOBS 읽기
파이프라인별 모든 job 조회 GET /projects/:id/pipelines/:pipeline_id/jobs READ_JOBS 읽기
프로젝트의 모든 job 조회 GET /projects/:id/jobs READ_JOBS 읽기
job 아티팩트 조회 GET /projects/:id/jobs/artifacts/:ref_name/download READ_JOBS 읽기

머지 리퀘스트 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
모든 머지 리퀘스트 노트 조회 GET /projects/:id/merge_requests/:noteable_id/notes READ_MERGE_REQUESTS 읽기
프로젝트의 모든 머지 리퀘스트 조회 GET /projects/:id/merge_requests READ_MERGE_REQUESTS 읽기
머지 리퀘스트 조회 GET /projects/:id/merge_requests/:merge_request_iid READ_MERGE_REQUESTS 읽기
머지 리퀘스트 노트 조회 GET /projects/:id/merge_requests/:noteable_id/notes/:note_id READ_MERGE_REQUESTS 읽기

패키지 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
패키지 아카이브를 다운로드하는 Composer 패키지 엔드포인트 GET /projects/:id/packages/composer/archives/*package_name READ_PACKAGES 읽기
전달된(프록시된) PyPI 패키지 파일 다운로드 GET /projects/:id/packages/pypi/forward/:package_name/*upstream_path READ_PACKAGES 읽기
패키지 파일 다운로드 GET /projects/:id/packages/:package_id/package_files/:package_file_id/download READ_PACKAGES 읽기
모듈 파일 다운로드 GET /projects/:id/packages/go/*module_name/@v/:module_version.mod READ_PACKAGES 읽기
모듈 소스 다운로드 GET /projects/:id/packages/go/*module_name/@v/:module_version.zip READ_PACKAGES 읽기
패키지 파일 다운로드 GET /projects/:id/packages/generic/:package_name/*package_version/(*path/):file_name READ_PACKAGES 읽기
NPM tarball 다운로드 GET /projects/:id/packages/npm/*package_name/-/*file_name READ_PACKAGES 읽기
그룹의 Maven 패키지 파일 다운로드 GET /groups/:id/-/packages/maven/*path/:file_name READ_PACKAGES 읽기
프로젝트의 Maven 패키지 파일 다운로드 GET /projects/:id/packages/maven/*path/:file_name READ_PACKAGES 읽기
인스턴스의 Maven 패키지 파일 다운로드 GET /packages/maven/*path/:file_name READ_PACKAGES 읽기
지정한 NPM 패키지의 모든 태그 조회 GET /groups/:id/-/packages/npm/-/package/*package_name/dist-tags READ_PACKAGES 읽기
지정한 NPM 패키지의 모든 태그 조회 GET /packages/npm/-/package/*package_name/dist-tags READ_PACKAGES 읽기
지정한 NPM 패키지의 모든 태그 조회 GET /projects/:id/packages/npm/-/package/*package_name/dist-tags READ_PACKAGES 읽기
조회 GET /projects/:id/packages/go/*module_name/@v/list READ_PACKAGES 읽기
모든 패키지 다운로드 URL 조회 GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference/download_urls READ_PACKAGES 읽기
모든 패키지 다운로드 URL 조회 GET /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference/download_urls READ_PACKAGES 읽기
모든 패키지 파일 조회 GET /projects/:id/packages/:package_id/package_files READ_PACKAGES 읽기
모든 패키지 파일 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions/:package_revision/files READ_PACKAGES 읽기
모든 패키지 리비전 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions READ_PACKAGES 읽기
모든 패키지 업로드 URL 조회 POST /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference/upload_urls READ_PACKAGES 읽기
모든 패키지 업로드 URL 조회 POST /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference/upload_urls READ_PACKAGES 읽기
프로젝트의 모든 패키지 조회 GET /projects/:id/packages READ_PACKAGES 읽기
프로젝트의 모든 패키지 조회 GET /projects/:id/packages/pypi/simple READ_PACKAGES 읽기
모든 레시피 다운로드 URL 조회 GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/download_urls READ_PACKAGES 읽기
모든 레시피 다운로드 URL 조회 GET /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/download_urls READ_PACKAGES 읽기
모든 레시피 파일 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/files READ_PACKAGES 읽기
모든 레시피 리비전 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions READ_PACKAGES 읽기
모든 레시피 업로드 URL 조회 POST /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/upload_urls READ_PACKAGES 읽기
모든 레시피 업로드 URL 조회 POST /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/upload_urls READ_PACKAGES 읽기
NPM 레지스트리 대량 어드바이저리 엔드포인트 POST /groups/:id/-/packages/npm/-/npm/v1/security/advisories/bulk READ_PACKAGES 읽기
NPM 레지스트리 대량 어드바이저리 엔드포인트 POST /packages/npm/-/npm/v1/security/advisories/bulk READ_PACKAGES 읽기
NPM 레지스트리 대량 어드바이저리 엔드포인트 POST /projects/:id/packages/npm/-/npm/v1/security/advisories/bulk READ_PACKAGES 읽기
NPM 레지스트리 메타데이터 엔드포인트 GET /projects/:id/packages/npm/*package_name READ_PACKAGES 읽기
NPM 레지스트리 빠른 감사 엔드포인트 POST /groups/:id/-/packages/npm/-/npm/v1/security/audits/quick READ_PACKAGES 읽기
NPM 레지스트리 빠른 감사 엔드포인트 POST /packages/npm/-/npm/v1/security/audits/quick READ_PACKAGES 읽기
NPM 레지스트리 빠른 감사 엔드포인트 POST /projects/:id/packages/npm/-/npm/v1/security/audits/quick READ_PACKAGES 읽기
패키지 파일 조회 GET /packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/package/:conan_package_reference/:package_revision/:file_name READ_PACKAGES 읽기
패키지 파일 조회 GET /projects/:id/packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/package/:conan_package_reference/:package_revision/:file_name READ_PACKAGES 읽기
패키지 파일 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions/:package_revision/files/:file_name READ_PACKAGES 읽기
패키지 매니페스트 조회 GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference/digest READ_PACKAGES 읽기
패키지 매니페스트 조회 GET /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference/digest READ_PACKAGES 읽기
패키지 스냅샷 조회 GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference READ_PACKAGES 읽기
패키지 스냅샷 조회 GET /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference READ_PACKAGES 읽기
프로젝트 패키지 조회 GET /projects/:id/packages/:package_id READ_PACKAGES 읽기
레시피 파일 조회 GET /packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/export/:file_name READ_PACKAGES 읽기
레시피 파일 조회 GET /projects/:id/packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/export/:file_name READ_PACKAGES 읽기
레시피 파일 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/files/:file_name READ_PACKAGES 읽기
레시피 매니페스트 조회 GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/digest READ_PACKAGES 읽기
레시피 매니페스트 조회 GET /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/digest READ_PACKAGES 읽기
레시피 스냅샷 조회 GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel READ_PACKAGES 읽기
레시피 스냅샷 조회 GET /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel READ_PACKAGES 읽기
최신 패키지 리비전 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/latest READ_PACKAGES 읽기
최신 레시피 리비전 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/latest READ_PACKAGES 읽기
패키지 참조 메타데이터 조회 GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/search READ_PACKAGES 읽기
패키지 참조 메타데이터 조회 GET /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/search READ_PACKAGES 읽기
패키지 참조 메타데이터 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/search READ_PACKAGES 읽기
레시피 리비전별 패키지 참조 메타데이터 조회 GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/search READ_PACKAGES 읽기
PyPI Simple 프로젝트 패키지 엔드포인트 GET /projects/:id/packages/pypi/simple/*package_name READ_PACKAGES 읽기
PyPI 패키지 다운로드 엔드포인트 GET /projects/:id/packages/pypi/files/:sha256/*file_identifier READ_PACKAGES 읽기
버전 메타데이터 GET /projects/:id/packages/go/*module_name/@v/:module_version.info READ_PACKAGES 읽기
NPM 패키지 업로드 인증 PUT /projects/:id/packages/npm/:package_name/authorize ADMIN_PACKAGES 읽기 및 쓰기
workhorse에서의 PyPI 패키지 업로드 인증 POST /projects/:id/packages/pypi/authorize ADMIN_PACKAGES 읽기 및 쓰기
패키지 생성 POST /projects/:id/packages/composer ADMIN_PACKAGES 읽기 및 쓰기
지정한 NPM 패키지와 버전의 태그 생성 또는 업데이트 PUT /groups/:id/-/packages/npm/-/package/*package_name/dist-tags/:tag ADMIN_PACKAGES 읽기 및 쓰기
지정한 NPM 패키지와 버전의 태그 생성 또는 업데이트 PUT /packages/npm/-/package/*package_name/dist-tags/:tag ADMIN_PACKAGES 읽기 및 쓰기
지정한 NPM 패키지와 버전의 태그 생성 또는 업데이트 PUT /projects/:id/packages/npm/-/package/*package_name/dist-tags/:tag ADMIN_PACKAGES 읽기 및 쓰기
NPM 패키지 생성 또는 지원 중단 PUT /projects/:id/packages/npm/:package_name ADMIN_PACKAGES 읽기 및 쓰기
패키지 파일 삭제 DELETE /projects/:id/packages/:package_id/package_files/:package_file_id ADMIN_PACKAGES 읽기 및 쓰기
패키지 리비전 삭제 DELETE /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions/:package_revision ADMIN_PACKAGES 읽기 및 쓰기
프로젝트 패키지 삭제 DELETE /projects/:id/packages/:package_id ADMIN_PACKAGES 읽기 및 쓰기
레시피 및 패키지 삭제 DELETE /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel ADMIN_PACKAGES 읽기 및 쓰기
레시피 및 패키지 삭제 DELETE /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel ADMIN_PACKAGES 읽기 및 쓰기
레시피 리비전 삭제 DELETE /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision ADMIN_PACKAGES 읽기 및 쓰기
지정한 태그 삭제 DELETE /groups/:id/-/packages/npm/-/package/*package_name/dist-tags/:tag ADMIN_PACKAGES 읽기 및 쓰기
지정한 태그 삭제 DELETE /packages/npm/-/package/*package_name/dist-tags/:tag ADMIN_PACKAGES 읽기 및 쓰기
지정한 태그 삭제 DELETE /projects/:id/packages/npm/-/package/*package_name/dist-tags/:tag ADMIN_PACKAGES 읽기 및 쓰기
패키지 업로드 POST /projects/:id/packages/pypi ADMIN_PACKAGES 읽기 및 쓰기
패키지 파일 업로드 PUT /packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/package/:conan_package_reference/:package_revision/:file_name ADMIN_PACKAGES 읽기 및 쓰기
패키지 파일 업로드 PUT /projects/:id/packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/package/:conan_package_reference/:package_revision/:file_name ADMIN_PACKAGES 읽기 및 쓰기
패키지 파일 업로드 PUT /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions/:package_revision/files/:file_name ADMIN_PACKAGES 읽기 및 쓰기
레시피 파일 업로드 PUT /packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/export/:file_name ADMIN_PACKAGES 읽기 및 쓰기
레시피 파일 업로드 PUT /projects/:id/packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/export/:file_name ADMIN_PACKAGES 읽기 및 쓰기
레시피 파일 업로드 PUT /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/files/:file_name ADMIN_PACKAGES 읽기 및 쓰기
패키지 파일 업로드 PUT /projects/:id/packages/generic/:package_name/*package_version/(*path/):file_name ADMIN_PACKAGES 읽기 및 쓰기
Maven 패키지 파일 업로드 PUT /projects/:id/packages/maven/*path/:file_name ADMIN_PACKAGES 읽기 및 쓰기
범용 패키지 파일에 대한 Workhorse 인증 PUT /projects/:id/packages/generic/:package_name/*package_version/(*path/):file_name/authorize ADMIN_PACKAGES 읽기 및 쓰기
Conan 패키지 파일에 대한 Workhorse 인증 PUT /packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/package/:conan_package_reference/:package_revision/:file_name/authorize ADMIN_PACKAGES 읽기 및 쓰기
Conan 패키지 파일에 대한 Workhorse 인증 PUT /projects/:id/packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/package/:conan_package_reference/:package_revision/:file_name/authorize ADMIN_PACKAGES 읽기 및 쓰기
Conan 패키지 파일에 대한 Workhorse 인증 PUT /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions/:package_revision/files/:file_name/authorize ADMIN_PACKAGES 읽기 및 쓰기
Conan 레시피 파일에 대한 Workhorse 인증 PUT /packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/export/:file_name/authorize ADMIN_PACKAGES 읽기 및 쓰기
Conan 레시피 파일에 대한 Workhorse 인증 PUT /projects/:id/packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/export/:file_name/authorize ADMIN_PACKAGES 읽기 및 쓰기
Conan 레시피 파일에 대한 Workhorse 인증 PUT /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/files/:file_name/authorize ADMIN_PACKAGES 읽기 및 쓰기
Maven 패키지 파일 업로드에 대한 Workhorse 인증 PUT /projects/:id/packages/maven/*path/:file_name/authorize ADMIN_PACKAGES 읽기 및 쓰기

파이프라인 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
파이프라인별 모든 브리지 job 조회 GET /projects/:id/pipelines/:pipeline_id/bridges READ_PIPELINES 읽기
모든 패키지 파이프라인 조회 GET /projects/:id/packages/:package_id/pipelines READ_PIPELINES 읽기
프로젝트의 모든 파이프라인 조회 GET /projects/:id/pipelines READ_PIPELINES 읽기
파이프라인별 모든 트리거 job 조회 GET /projects/:id/pipelines/:pipeline_id/trigger_jobs READ_PIPELINES 읽기
파이프라인 조회 GET /projects/:id/pipelines/:pipeline_id READ_PIPELINES 읽기
파이프라인 메타데이터 업데이트 PUT /projects/:id/pipelines/:pipeline_id/metadata ADMIN_PIPELINES 읽기 및 쓰기

릴리스 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
프로젝트 릴리스 자산 파일 다운로드 GET /projects/:id/releases/:tag_name/downloads/*direct_asset_path READ_RELEASES 읽기
변경 로그 데이터 생성 GET /projects/:id/repository/changelog READ_RELEASES 읽기
프로젝트의 최신 릴리스 조회 GET /projects/:id/releases/permalink/latest(/)(*suffix_path) READ_RELEASES 읽기
모든 릴리스 링크 조회 GET /projects/:id/releases/:tag_name/assets/links READ_RELEASES 읽기
프로젝트의 모든 릴리스 조회 GET /projects/:id/releases READ_RELEASES 읽기
태그 이름으로 릴리스 조회 GET /projects/:id/releases/:tag_name READ_RELEASES 읽기
릴리스 링크 조회 GET /projects/:id/releases/:tag_name/assets/links/:link_id READ_RELEASES 읽기
릴리스 생성 POST /projects/:id/releases ADMIN_RELEASES 읽기 및 쓰기
릴리스 링크 생성 POST /projects/:id/releases/:tag_name/assets/links ADMIN_RELEASES 읽기 및 쓰기
릴리스 삭제 DELETE /projects/:id/releases/:tag_name ADMIN_RELEASES 읽기 및 쓰기
릴리스 링크 삭제 DELETE /projects/:id/releases/:tag_name/assets/links/:link_id ADMIN_RELEASES 읽기 및 쓰기
릴리스 증거 생성 POST /projects/:id/releases/:tag_name/evidence ADMIN_RELEASES 읽기 및 쓰기
새 컴포넌트 프로젝트 릴리스를 버전으로 CI/CD 카탈로그에 게시 POST /projects/:id/catalog/publish ADMIN_RELEASES 읽기 및 쓰기
릴리스 업데이트 PUT /projects/:id/releases/:tag_name ADMIN_RELEASES 읽기 및 쓰기
릴리스 링크 업데이트 PUT /projects/:id/releases/:tag_name/assets/links/:link_id ADMIN_RELEASES 읽기 및 쓰기

리포지터리 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
커밋과 연결된 모든 머지 리퀘스트 조회 GET /projects/:id/repository/commits/:sha/merge_requests READ_REPOSITORIES 읽기
프로젝트 리포지터리의 모든 태그 조회 GET /projects/:id/repository/tags READ_REPOSITORIES 읽기
커밋이 푸시된 모든 참조 조회 GET /projects/:id/repository/commits/:sha/refs READ_REPOSITORIES 읽기
모든 리포지터리 브랜치 조회 GET /projects/:id/repository/branches READ_REPOSITORIES 읽기
커밋 조회 GET /projects/:id/repository/commits/:sha READ_REPOSITORIES 읽기
리포지터리에서 원본 파일 조회 GET /projects/:id/repository/files/:file_path/raw READ_REPOSITORIES 읽기
단일 리포지터리 태그 조회 GET /projects/:id/repository/tags/:tag_name READ_REPOSITORIES 읽기
리포지터리에서 파일 아카이브 조회 GET /projects/:id/repository/archive READ_REPOSITORIES 읽기

보안 파일 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
보안 파일 다운로드 GET /projects/:id/secure_files/:secure_file_id/download READ_SECURE_FILES 읽기
프로젝트의 모든 보안 파일 조회 GET /projects/:id/secure_files READ_SECURE_FILES 읽기
보안 파일 세부 정보 조회 GET /projects/:id/secure_files/:secure_file_id READ_SECURE_FILES 읽기
보안 파일 생성 POST /projects/:id/secure_files ADMIN_SECURE_FILES 읽기 및 쓰기
보안 파일 삭제 DELETE /projects/:id/secure_files/:secure_file_id ADMIN_SECURE_FILES 읽기 및 쓰기

Terraform 상태 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
Terraform 상태 조회 GET /projects/:id/terraform/state/:name READ_TERRAFORM_STATE 읽기
Terraform 상태 버전 조회 GET /projects/:id/terraform/state/:name/versions/:serial READ_TERRAFORM_STATE 읽기
Terraform 상태 생성 또는 업데이트 POST /projects/:id/terraform/state/:name ADMIN_TERRAFORM_STATE 읽기 및 쓰기
Terraform 상태 삭제 DELETE /projects/:id/terraform/state/:name ADMIN_TERRAFORM_STATE 읽기 및 쓰기
Terraform 상태 버전 삭제 DELETE /projects/:id/terraform/state/:name/versions/:serial ADMIN_TERRAFORM_STATE 읽기 및 쓰기
Terraform 상태 잠금 POST /projects/:id/terraform/state/:name/lock ADMIN_TERRAFORM_STATE 읽기 및 쓰기
Terraform 상태 잠금 해제 DELETE /projects/:id/terraform/state/:name/lock ADMIN_TERRAFORM_STATE 읽기 및 쓰기

작업 항목 엔드포인트#

권한 API 엔드포인트 권한 이름 범위
프로젝트의 작업 항목 조회 GET /projects/:id/-/work_items/:work_item_iid READ_WORK_ITEMS 읽기
프로젝트의 모든 이슈 조회 GET /projects/:id/issues READ_WORK_ITEMS 읽기
프로젝트의 작업 항목 목록 조회 GET /projects/:id/-/work_items READ_WORK_ITEMS 읽기
프로젝트 이슈 조회 GET /projects/:id/issues/:issue_iid READ_WORK_ITEMS 읽기

세분화된 권한이 없는 엔드포인트#

다음 엔드포인트에는 세분화된 권한이 없습니다. CI/CD job 토큰은 이러한 엔드포인트에 항상 접근할 수 있으며, 허용 목록 항목의 권한은 이 접근을 제한하지 않습니다:

권한 API 엔드포인트
레지스트리 리포지터리 삭제 DELETE /projects/:id/registry/repositories/:repository_id
여러 레지스트리 리포지터리 태그 삭제 DELETE /projects/:id/registry/repositories/:repository_id/tags
레지스트리 리포지터리 태그 삭제 DELETE /projects/:id/registry/repositories/:repository_id/tags/:tag_name
그룹의 패키지 버전 메타데이터에 대한 Composer 패키지 엔드포인트 GET /group/:id/-/packages/composer/*package_name
그룹의 모든 패키지 조회 GET /group/:id/-/packages/composer/p/:sha
그룹의 패키지 버전 메타데이터에 대한 Composer v2 패키지 p2 엔드포인트 GET /group/:id/-/packages/composer/p2/*package_name
리포지터리 URL 템플릿 조회 GET /group/:id/-/packages/composer/packages
NPM 레지스트리 메타데이터 엔드포인트 GET /groups/:id/-/packages/npm/*package_name
그룹에서 패키지 파일 다운로드 GET /groups/:id/-/packages/pypi/files/:sha256/*file_identifier
그룹의 모든 패키지 조회 GET /groups/:id/-/packages/pypi/simple
PyPI Simple 그룹 패키지 엔드포인트 GET /groups/:id/-/packages/pypi/simple/*package_name
job 토큰으로 job 조회 GET /job
job 토큰으로 Kubernetes용 모든 GitLab 에이전트 조회 GET /job/allowed_agents
Conan 패키지 검색 GET /packages/conan/v1/conans/search
Conan 리포지터리 가용성 확인 GET /packages/conan/v1/ping
인증 토큰 조회 GET /packages/conan/v1/users/authenticate
인증 자격 증명 확인 GET /packages/conan/v1/users/check_credentials
NPM 레지스트리 메타데이터 엔드포인트 GET /packages/npm/*package_name
프로젝트의 Dependency Firewall 상태 조회 GET /projects/:id/dependency_firewall/enablement
Conan 패키지 검색 GET /projects/:id/packages/conan/v1/conans/search
Conan 리포지터리 가용성 확인 GET /projects/:id/packages/conan/v1/ping
인증 토큰 조회 GET /projects/:id/packages/conan/v1/users/authenticate
인증 자격 증명 확인 GET /projects/:id/packages/conan/v1/users/check_credentials
Conan 패키지 검색 GET /projects/:id/packages/conan/v2/conans/search
인증 토큰 조회 GET /projects/:id/packages/conan/v2/users/authenticate
인증 자격 증명 확인 GET /projects/:id/packages/conan/v2/users/check_credentials
프로젝트의 모든 레지스트리 리포지터리 조회 GET /projects/:id/registry/repositories
프로젝트의 모든 레지스트리 리포지터리 태그 조회 GET /projects/:id/registry/repositories/:repository_id/tags
레지스트리 리포지터리 태그의 세부 정보 조회 GET /projects/:id/registry/repositories/:repository_id/tags/:tag_name
DAST 사이트 검증을 새 상태로 전환 POST /internal/dast/site_validations/:id/transition
병렬 job의 테스트 밸런싱 초기화 POST /job/test_balancing/initialize
병렬 job의 다음 테스트 분할 배치 요청 POST /job/test_balancing/request
프로젝트의 Dependency Firewall 정책에 대해 패키지 평가 POST /projects/:id/dependency_firewall/evaluate
단일 모듈형 서비스 대상에 대한 단기 JWT 발급 POST /token_exchange