Chorus의 대부분은 워크스페이스 단위로 동작하지만, 워크스페이스보다 위에 있는 역할이 하나 있습니다. 바로 **슈퍼 관리자**입니다. 슈퍼 관리자로 워크스페이스를 만들고 팀의 싱글 사인온(SSO)을 켭니다. 이 가이드는 Chorus 배포를 운영하는 사람을 위한 것입니다. 로그인만 하면 되는 최종 사용자는 [계정과 워크스페이스](/ko/guides/account-and-workspace/)를 읽으세요.

## 슈퍼 관리자 활성화하기

슈퍼 관리자는 어떤 워크스페이스와도 분리된 플랫폼 수준의 계정입니다. 서버에 환경 변수 두 개, 즉 관리자 이메일과 관리자 비밀번호의 bcrypt 해시를 설정해 활성화합니다.

```sh
SUPER_ADMIN_EMAIL="admin@example.com"
SUPER_ADMIN_PASSWORD_HASH="$2b$10$..."   # 비밀번호의 bcrypt 해시
```

해시는 다음과 같은 일회성 명령으로 생성합니다.

```sh
node -e "console.log(require('bcryptjs').hashSync('your-password', 10))"
```

bcrypt 해시를 배포의 시크릿 저장소에 보관하세요. 관리자 세션에는 안전한 `NEXTAUTH_SECRET`도 필요합니다. 단일 인스턴스라면 npm `chorus` 런처와 Docker 엔트리포인트가 이 값을 생성해 저장해 줍니다. 레플리카가 여러 개라면 모든 레플리카에 같은 값을 명시적으로 설정하세요. [Docker 세션 비밀 키](/ko/guides/deploy-docker/#세션-비밀-키nextauth_secret)를 참고하세요.

## 슈퍼 관리자로 로그인하기

앱 안에는 관리 패널로 가는 링크가 없으며, 일반 로그인 화면을 통해 들어갑니다. 슈퍼 관리자 이메일을 입력하면 Chorus가 이를 인식하고, 별도의 단계에서 관리자 비밀번호를 요구한 뒤 **슈퍼 관리자** 패널을 엽니다. 관리자 세션은 어떤 워크스페이스와도 독립적이며 일반 세션보다 수명이 짧으므로, 주기적으로 다시 로그인하게 됩니다.

:::caution[슈퍼 관리자에게는 워크스페이스 경계가 없습니다]
워크스페이스의 관리자 에이전트와 달리, 슈퍼 관리자는 한 워크스페이스에 한정되지 않고 배포 전체를 관리합니다. 인증 정보도 그만큼 신중하게 다루세요. 워크스페이스의 **관리자 에이전트**([에이전트와 API 키 관리](/ko/guides/manage-agents/) 참고)는 *한 워크스페이스 안*의 일을 관장하고, 슈퍼 관리자는 *워크스페이스 자체*를 관장합니다.
:::

![Dashboard와 Companies 내비게이션, 그리고 워크스페이스·사용자·에이전트 수를 표시하는 슈퍼 관리자 패널의 대시보드](/images/workspace/super-admin.webp)

## 워크스페이스 만들기

슈퍼 관리자 패널의 **회사**에는 모든 워크스페이스가 이메일 도메인, OIDC 상태, 사용자 수, 에이전트 수와 함께 나열됩니다. 여기서 워크스페이스를 만들고, 편집하고, 삭제합니다.

만들 때는 **이름**, 하나 이상의 **이메일 도메인**, 그리고 SSO 설정(아래)을 지정합니다. 이메일 도메인이 있어야 로그인할 때 사용자의 이메일로 이 워크스페이스를 찾을 수 있습니다.

:::caution[워크스페이스 삭제는 되돌릴 수 없습니다]
워크스페이스를 삭제하면 워크스페이스와 그 모든 데이터(프로젝트, 아이디어, 제안, 작업, 문서, 에이전트, 사용자)가 함께 사라집니다. 실행 취소는 없습니다.
:::

## SSO(OIDC) 구성하기

Chorus는 PKCE를 사용하는 OpenID Connect로 조직의 ID 제공자를 통해 사용자를 로그인시킵니다. 따로 관리할 **client secret**은 없습니다. 워크스페이스마다 슈퍼 관리자 패널의 워크스페이스 설정에 있는 **OIDC 설정**에서 구성하며, 필수 값은 두 개입니다.

- **OIDC 발급자 URL** — ID 제공자의 OpenID Connect 디스커버리 URL.
- **클라이언트 ID** — ID 제공자에 등록한 애플리케이션의 client ID.

둘 다 설정하면 SSO가 자동으로 켜지고, 둘 중 하나를 지우면 꺼집니다. Chorus는 표준 `openid profile email` 스코프를 요청합니다.

![Issuer URL과 Client ID 필드를 가진 OIDC Configuration 카드를 보여 주는 슈퍼 관리자 패널의 워크스페이스 편집 페이지](/images/workspace/super-admin-oidc.webp)

ID 제공자 쪽에서 Chorus를 애플리케이션으로 등록하고 **리디렉션(콜백) URL**을 허용 목록에 추가하세요. 이 URL은 Chorus 사이트 주소 뒤에 `/login/callback`을 붙인 것이며, **회사** 목록에 복사할 정확한 URL이 표시됩니다. 이 값은 Chorus를 열 때 사용한 주소로 만들어지므로, 운영 URL로 **회사** 페이지를 열고 거기에 표시된 값을 복사하세요.

### 사용자에게 미치는 영향

워크스페이스에 SSO가 구성되면, 그 워크스페이스의 도메인에 속한 이메일로 로그인하는 사람은 ID 제공자로 이동했다가 돌아옵니다. [계정과 워크스페이스](/ko/guides/account-and-workspace/)에서 설명하는 흐름입니다. 이메일이 여러 SSO 워크스페이스에 해당하는 사용자에게는 하나를 고르라는 안내가 표시됩니다. 이미 워크스페이스에 추가된 사람은 이메일 도메인이 달라도 그 워크스페이스로 로그인됩니다.

## 다음

워크스페이스와 SSO가 준비되면 일상적인 설정은 각 워크스페이스의 운영자에게 맡기세요. [에이전트 액세스 준비](/ko/guides/administrator-setup/)는 에이전트 인증 정보 만들기를 다루고, [계정과 워크스페이스](/ko/guides/account-and-workspace/)는 사용자가 로그인할 때 무엇을 보게 되는지를 다룹니다.
