팀
Semaphore UI에서 모든 프로젝트는 팀과 연결됩니다. 팀 구성원과 관리자만 프로젝트에 접근할 수 있습니다. 각 팀 구성원에게는 네 가지 기본 역할 중 하나가 할당되며, 이 역할이 접근 수준과 수행할 수 있는 동작을 결정합니다.
Enterprise 에디션에서는 기본 역할을 사용자 정의 역할로 확장하여 특정 템플릿에 대한 세분화된 추가 권한을 부여할 수 있습니다.
프로젝트에 대한 접근 권한을 잃지 않도록 Owner 역할을 가진 팀 구성원을 최소 두 명 이상 두는 것이 좋습니다.
기본 역할
모든 팀 구성원은 다음 네 가지 역할 중 정확히 하나를 가집니다:
- Owner
- Manager
- Task Runner
- Guest
아래는 각 역할과 권한에 대한 자세한 설명입니다.
Owner
-
전체 권한
Owner는 역할 관리, 구성원 추가/제거, 모든 프로젝트 설정 구성을 포함하여 프로젝트 내에서 모든 작업을 수행할 수 있습니다. -
다수의 Owner
프로젝트에는 여러 Owner가 있을 수 있으므로 전체 권한을 가진 사람이 한 명 이상 존재하도록 보장할 수 있습니다. -
자기 제거 제한
Owner가 프로젝트의 유일한 Owner인 경우 자신을 제거할 수 없습니다. 이는 프로젝트에 Owner가 없는 상태가 되는 것을 방지합니다. -
다른 Owner 관리
Owner는 다른 Owner를 포함한 모든 팀 구성원을 관리(제거 또는 역할 변경 포함)할 수 있습니다.
Manager
-
광범위한 프로젝트 제어: Manager는 Owner와 거의 동일한 권한을 가지므로 대부분의 일상 업무를 처리하고 프로젝트 환경을 관리할 수 있습니다.
-
Manager는 다음을 할 수 없습니다:
- 프로젝트 삭제.
- Owner 제거 또는 Owner의 역할 변경.
-
일반적인 활용 사례: 광범위한 접근 권한이 필요하지만 프로젝트 삭제나 Owner 관리 권한은 필요하지 않은 선임 팀 구성원에게 Manager 역할을 할당합니다.
Task Runner
-
작업 실행: Task Runner는 프로젝트 내에 존재하는 모든 작업 템플릿을 실행할 수 있습니다.
-
다른 리소스에 대한 읽기 전용: 작업은 실행할 수 있지만 inventory, 변수, 리포지토리 등 다른 리소스에 대해서는 읽기 전용 접근 권한만 가집니다.
-
일반적인 활용 사례: 작업을 트리거하고 모니터링해야 하지만 프로젝트 설정 수정이나 팀 구성원 관리 권한은 필요하지 않은 개발자 또는 QA 엔지니어.
Guest
-
읽기 전용 접근: Guest는 모든 프로젝트 리소스에 대해 읽기 전용 접근 권한을 가집니다 (예: 로그, inventory, 대시보드 보기).
-
쓰기 권한 없음: 설정 수정, 작업 실행, 역할 변경을 할 수 없습니다.
-
일반적인 활용 사례: 변경 없이 프로젝트 상태와 세부 정보만 확인하면 되는 이해관계자 또는 기타 협업자.
확장 RBAC (Enterprise)
확장 RBAC는 Semaphore v2.17부터 Semaphore Enterprise 에디션에서 사용할 수 있습니다.
확장 RBAC는 네 가지 기본 역할 위에 추가 권한을 계층으로 더합니다. 기본 역할 자체는 변경되지 않습니다. 사용자 정의 역할을 정의하지 않으면 모든 프로젝트는 커뮤니티 에디션과 완전히 동일하게 동작합니다.
확장 RBAC를 사용하면 사용자 정의 역할로 개별 프로젝트 전체 권한을 부여할 수 있습니다. 또한 선택한 작업 템플릿에 대한 권한을 역할에 부여할 수도 있습니다. 이를 통해 팀 구성원을 상위 기본 역할로 승격하지 않고도 필요한 템플릿에 대한 접근 권한을 부여할 수 있습니다.
사용자 정의 역할
사용자 정의 역할은 구성원의 기본 프로젝트 역할을 보완하는 이름이 지정된 권한 집합입니다. 모든 팀 구성원은 기본 역할을 유지합니다. 사용자 정의 역할은 여기에 권한을 추가합니다.
사용자 정의 역할은 두 가지 범위에서 사용할 수 있습니다:
- 전역 역할은 인스턴스 수준에서 정의되며 모든 프로젝트에서 사용할 수 있습니다.
- 프로젝트 역할은 단일 프로젝트 내에서 정의되며 해당 프로젝트 내에서만 사용할 수 있습니다.
권한 수준
사용자 정의 역할은 두 가지 수준에서 권한을 부여합니다:
- 프로젝트 전체 권한은 프로젝트 전반에 걸쳐 사용자의 접근 권한을 확장합니다. 역할을 생성할 때 선택합니다.
- 템플릿 권한은 하나의 작업 템플릿에 대한 동작을 제어합니다. 역할을 템플릿에 추가한 후 해당 템플릿의 Permissions 탭에서 선택합니다.
사용자 정의 역할 생성하기
역할 양식을 열기 전에 범위를 선택하십시오.
전역 역할
전역 역할은 한 번 생성하면 모든 프로젝트의 사용자에게 할당할 수 있습니다. 인스턴스 관리자만 전역 역할을 생성할 수 있습니다.
왼쪽 하단의 관리자 메뉴를 열고 Roles를 선택합니다.
인스턴스 전체 역할 목록에서 New Role을 선택합니다.

프로젝트 역할
프로젝트 역할은 생성된 프로젝트에서만 사용할 수 있습니다. 프로젝트의 Owner와 Manager가 생성할 수 있습니다.
- 프로젝트를 열고 Team > Roles로 이동합니다.
- New Role을 선택합니다.
Roles 탭은 첫 번째 프로젝트 역할이 생성될 때까지 비어 있습니다. 이 탭은 모든 프로젝트 역할을 나열하며 New Role 버튼을 포함합니다.

사용자 정의 역할 설정하기
두 경로 모두 동일한 역할 양식을 엽니다. 팀 구성원에게 필요한 접근 권한에 맞게 역할을 설정하십시오.

| 필드 | 설명 |
|---|---|
| Name | 역할을 나타내는 사람이 읽을 수 있는 레이블입니다. |
| Slug | 역할을 참조하는 데 사용되는 고유한 기술 식별자입니다. 소문자, 숫자, 밑줄 또는 하이픈을 사용하십시오 (예: release_operator). |
| Permissions | 역할이 부여하는 프로젝트 전체 권한입니다. |
프로젝트 전체 권한
역할에 필요한 프로젝트 전체 권한만 선택하십시오:
| 권한 | 설명 |
|---|---|
| Can run project tasks | 프로젝트 작업을 실행합니다. |
| Can update project | Dashboard > Settings에서 기본 프로젝트 정보를 편집합니다. |
| Can manage project resources | 작업 템플릿, 리포지토리, inventory, 환경, 키 저장 소 항목, 스케줄, 통합, runner 등 프로젝트 리소스를 관리합니다. 이는 프로젝트 전체 접근 권한입니다. 템플릿이 아닌 개별 리소스로 제한할 수 없습니다. |
| Can manage project users | 프로젝트 구성원과 역할 할당을 관리합니다. |
프로젝트 전체 권한은 단일 inventory, 리포지토리, 환경 또는 키 저장소 항목으로 제한할 수 없습니다. 작업 템플릿은 세분화된 역할 할당을 지원하는 유일한 리소스 유형입니다.
선택한 작업 템플릿에만 접근 권한을 추가하는 세분화된 역할을 만들려면 모든 프로젝트 전체 권한을 선택 해제한 상태로 두십시오. 그러면 역할 자체는 프로젝트 전체 권한을 추가하지 않습니다. 필요한 템플릿에 역할을 추가하고 해당 역할에 필요한 동작만 선택하십시오.
역할 설정이 준비되면 Save를 선택합니다.