- UI를 사용하여 그룹 액세스 토큰 생성
- Rails 콘솔을 사용하여 그룹 액세스 토큰 생성
- UI를 사용하여 그룹 액세스 토큰 폐기
- Rails 콘솔을 사용하여 그룹 액세스 토큰 폐기
- 그룹 액세스 토큰의 범위
- 그룹 액세스 토큰 생성 사용 또는 비사용 설정
- 그룹용 봇 사용자
- 토큰 사용 가능성
그룹 액세스 토큰
그룹 액세스 토큰을 사용하면 단일 토큰으로 다음을 수행할 수 있습니다.
- 그룹의 작업 수행.
- 그룹 내의 프로젝트 관리.
그룹 액세스 토큰을 사용하여 다음을 인증할 수 있습니다.
- GitLab API 사용.
-
HTTPS를 통한 Git 인증. 사용법:
- 사용자 이름으로 빈 값 이외의 값 사용.
- 비밀번호로 그룹 액세스 토큰 사용.
GitLab.com에서는 Premium이나 Ultimate 라이선스 계층을 사용하는 경우에만 그룹 액세스 토큰을 사용할 수 있습니다. 그룹 액세스 토큰은 체험 라이선스로 사용할 수 없습니다.
GitLab Dedicated 및 Self-Managed 인스턴스에서는 모든 라이선스 계층에서 그룹 액세스 토큰을 사용할 수 있습니다. 프리 티어를 사용하는 경우:
- 사용자 자가 등록에 대한 보안 및 규정 준수 정책 검토.
- 그룹 액세스 토큰 비활성화를 고려하여 잠재적인 남용 가능성 감소.
그룹 액세스 토큰은 프로젝트 액세스 토큰 및 개인 액세스 토큰과 유사하지만, 프로젝트나 사용자 대신 그룹과 연관됩니다.
Self-Managed형되는 인스턴스에서 그룹 액세스 토큰은 한도를 설정한 경우 개인 액세스 토큰과 마찬가지로 최대 수명 제한이 적용됩니다.
그룹 액세스 토큰으로 다른 그룹, 프로젝트 또는 개인 액세스 토큰을 생성할 수 없습니다.
그룹 액세스 토큰은 개인 액세스 토큰의 기본 접두어 설정을 상속합니다.
UI를 사용하여 그룹 액세스 토큰 생성
그룹 액세스 토큰을 생성하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하여 그룹을 찾습니다.
- 설정 > 액세스 토큰을 선택합니다.
- 새 토큰 추가를 선택합니다.
- 이름을 입력합니다. 해당 토큰 이름은 그룹을 볼 수 있는 권한이 있는 사용자에게 표시됩니다.
- 토큰의 만료 날짜를 입력합니다:
- 토큰은 해당 날짜에 UTC 자정에 만료됩니다.
- 만료 날짜를 입력하지 않으면 자동으로 현재 날짜로부터 365일 후의 만료 날짜가 지정됩니다.
- 기본적으로 이 날짜는 현재 날짜로부터 최대 365일 이후까지 지정할 수 있습니다.
- Self-Managed형되는 인스턴스에서는 전체 인스턴스의 최대 수명 설정이 최대 허용 수명을 제한할 수 있습니다.
- 토큰에 대한 역할을 선택합니다.
- 원하는 범위를 선택합니다.
- 그룹 액세스 토큰 생성을 선택합니다.
그룹 액세스 토큰이 표시됩니다. 그룹 액세스 토큰을 안전한 곳에 저장합니다. 페이지를 나가거나 새로 고침한 후에는 다시 볼 수 없습니다.
Rails 콘솔을 사용하여 그룹 액세스 토큰 생성
관리자인 경우 Rails 콘솔에서 그룹 액세스 토큰을 생성할 수 있습니다:
-
Rails 콘솔에서 다음 명령을 실행합니다:
# GitLab 관리 사용자 설정. 사용자 ID 1을 선택할 수 없거나 관리자가 아닌 경우, 'admin = User.admins.first'를 사용하여 대신 관리자를 선택합니다. admin = User.find(1) # 토큰을 생성할 그룹 설정. 예를 들어 ID가 109인 그룹을 선택합니다. group = Group.find(109) # 그룹 봇 사용자 생성. 추가 그룹 액세스 토큰을 위한 경우 사용자 이름은 `group_{group_id}_bot_{random_string}`, 이메일 주소는 `group_{group_id}_bot_{random_string}@noreply.{Gitlab.config.gitlab.host}`여야 합니다. random_string = SecureRandom.hex(16) bot = Users::CreateService.new(admin, { name: 'group_token', username: "group_#{group.id}_bot_#{random_string}", email: "group_#{group.id}_bot_#{random_string}@noreply.#{Gitlab.config.gitlab.host}", user_type: :project_bot }).execute # 그룹 봇 확인. bot.confirm # 필요한 역할로 봇을 그룹에 추가합니다. group.add_member(bot, :maintainer) # 봇에 개인 액세스 토큰 부여. token = bot.personal_access_tokens.create(scopes:[:api, :write_repository], name: 'group_token') # 토큰 값 가져오기. gtoken = token.token
-
생성된 그룹 액세스 토큰이 작동하는지 테스트합니다:
-
GitLab REST API에서
PRIVATE-TOKEN
헤더에 그룹 액세스 토큰을 사용합니다. 예:- 그룹에서 에픽 생성.
- 그룹 프로젝트 중 하나에 프로젝트 파이프라인 생성.
- 그룹 프로젝트 중 하나에 이슈 생성.
-
HTTPS를 사용하여 그룹 프로젝트 복제에 그룹 토큰을 사용합니다.
-
UI를 사용하여 그룹 액세스 토큰 폐기
그룹 액세스 토큰을 폐기하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하여 그룹을 찾습니다.
- 설정 > 액세스 토큰을 선택합니다.
- 폐기할 그룹 액세스 토큰 옆에서 폐기를 선택합니다 ().
Rails 콘솔을 사용하여 그룹 액세스 토큰 폐기
GitLab 관리자인 경우 그룹 액세스 토큰을 폐기할 수 있습니다. Rails 콘솔에서 다음 명령을 실행합니다:
bot = User.find_by(username: 'group_109_bot') # 폐기하려는 토큰의 소유자
token = bot.personal_access_tokens.last # 폐기하려는 토큰
token.revoke!
그룹 액세스 토큰의 범위
범위는 그룹 액세스 토큰으로 인증할 때 수행할 수 있는 작업을 결정합니다.
범위 | 설명 |
---|---|
api
| 그룹 및 관련 프로젝트 API에 대한 완전한 읽기 및 쓰기 액세스를 부여합니다. 컨테이너 레지스트리, 의존성 프록시, 패키지 레지스트리 포함. |
read_api
| 그룹 및 관련 프로젝트 API에 읽기 액세스를 부여합니다. 패키지 레지스트리 포함. |
read_registry
| 그룹 내 프로젝트 중 개인이 특정 프로젝트가 비공개이며 권한이 필요한 경우 컨테이너 레지스트리 이미지에 대한 읽기 액세스를 부여합니다. |
write_registry
| 쓰기 액세스를 부여합니다. 이미지를 푸시하려면 읽기 및 쓰기 액세스가 필요합니다. |
read_repository
| 그룹 내 모든 리포지터리에 대한 읽기 액세스를 부여합니다. |
write_repository
| 그룹 내 모든 리포지터리에 대한 읽기 및 쓰기 액세스를 부여합니다. |
create_runner
| 그룹에 러너를 생성할 수 있는 권한을 부여합니다. |
ai_features
| GitLab Duo의 API 작업을 수행할 수 있는 권한을 부여합니다. 이 범위는 JetBrains용 GitLab Duo 플러그인과 함께 작동하도록 설계되었습니다. 다른 확장 프로그램의 경우 범위 요구 사항을 참조하십시오. |
k8s_proxy
| 그룹의 쿠버네티스 에이전트를 사용하여 Kubernetes API 호출을 수행할 수 있는 권한을 부여합니다. |
그룹 액세스 토큰 생성 사용 또는 비사용 설정
모든 하위 그룹에 대해 최상위 그룹에서 그룹 액세스 토큰 생성을 사용하거나 사용하지 않으려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- 설정 > 일반을 선택합니다.
- 권한 및 그룹 기능을 확장합니다.
- 권한 아래에서 이 그룹에서 프로젝트 액세스 토큰 및 그룹 액세스 토큰을 만들 수 있도록 하는 사용자를 켜거나 끕니다.
- 변경 사항 저장을 선택합니다.
생성이 비활성화되더라도 여전히 기존 그룹 액세스 토큰을 사용하고 취소할 수 있습니다.
그룹용 봇 사용자
그룹용 봇 사용자는 GitLab에서 생성한 서비스 계정입니다. 그룹 액세스 토큰을 만들 때마다 봇 사용자가 만들어지고 그룹에 추가됩니다. 이러한 봇 사용자는 프로젝트용 봇 사용자와 유사하지만 프로젝트 대신 그룹에 추가됩니다. 그룹용 봇 사용자:
- 라이선스 제한에 포함되지 않는 비청구 사용자이므로 라이선스 제한에 포함되지 않습니다.
- 그룹의 소유자의 최대 역할을 가질 수 있습니다. 자세한 내용은 그룹 액세스 토큰 만들기를 참조하십시오.
- 사용자 이름은
group_{group_id}_bot_{random_string}
로 설정됩니다. 예:group_123_bot_4ffca233d8298ea1
. - 이메일은
group_{group_id}_bot_{random_string}@noreply.{Gitlab.config.gitlab.host}
로 설정됩니다. 예:group_123_bot_4ffca233d8298ea1@noreply.example.com
.
다른 모든 속성은 프로젝트용 봇 사용자와 유사합니다.
토큰 사용 가능성
그룹 액세스 토큰은 유료 구독에서만 사용할 수 있으며, 평가판 구독에서는 사용할 수 없습니다. 자세한 내용은 GitLab 평가판 FAQ의 “포함된 내용” 섹션을 참조하십시오.