UI Center의 중앙 로그인 위임 접근
UI Center는 공통 UI 릴리스·포털 배포 현황을 표시하고 승인·적용 요청을 실행하는 독립 관리 화면이다. 이 기능은 DirectoryService가 소유한 배포 원장에 접근하지만, UI Center 배포 플랫폼 런타임에 포털 API Key를 장기 보관하지 않는다.
책임과 인증 흐름
| 구간 | 주체 | 책임 | 인증 방식 |
|---|---|---|---|
| 포털 등록과 관리자 지정 | DirectoryService 관리자 설정 | ui-center의 허용 callback URL과 UI Center 관리자를 등록한다. | 중앙 관리자 설정 |
| 사용자 로그인 | DirectoryService | UI Center에 로그인한 사용자가 ui-center 포털 관리자임을 확인한다. | PKCE 기반 중앙 로그인 |
| 상태 조회와 변경 요청 | UI Center 서버 | 로그인 세션에 결속된 짧은 수명의 위임 토큰을 DirectoryService에 전달한다. | 사용자 위임 JWT |
| 권한 최종 판정 | DirectoryService | 위임 토큰의 포털 ID, 관리자 claim, ui:read·ui:write scope를 검증한다. | DirectoryService 권한 미들웨어 |
UI Center는 DirectoryService가 발급한 사용자 위임 토큰을 사용자 세션 동안에만 서버 측에서 전달한다. 배포 플랫폼 환경 변수에 장기
DIRECTORY_PORTAL_API_KEY를 넣지 않으며, 토큰 원문을 클라이언트나 로그에 노출하지 않는다.
운영 절차
DirectoryService 관리자 화면의 포털 연동 설정에서 ui-center의 기본 URL과 callback URL을 등록하고, 사용자 관리 → 사용자 선택 → 포털 관리자 매핑에서 UI Center를 사용할 운영자를 해당 포털의 관리자로 지정한다. 이후 운영자는 UI Center의 중앙 로그인으로 접근하며, 등록과 권한 변경은 DirectoryService 관리자 설정에서만 수행한다. UI Center의 운영 배포 상태나 개별 배포 플랫폼 환경 변수 변경은 이 접근 권한의 등록·회수 절차에 포함되지 않는다.
| 관리 항목 | 중앙 관리 위치 | 적용 규칙 |
|---|---|---|
| 서비스 URL·callback URL | 포털 연동 설정 | portalId와 clientId는 모두 ui-center, 운영 callback은 https://ui-center.rlab.monster/auth/callback이다. |
| 운영자 위임 정책 | 사용자 관리의 포털 관리자 매핑 | UI Center로 체크된 사용자에게만 로그인 토큰의 portalAdmin claim이 부여된다. |
| 허용 scope | DirectoryService 권한 정책 | UI Center 관리자 토큰은 고정된 최소 권한 ui:read, ui:write만 받는다. 관리자가 임의 scope를 입력하거나 확대할 수 없다. |
| 배포 대상 | UI Center의 포털 적용 작업대 | 중앙 로그인 후 승인된 운영자가 구독된 포털만 선택해 적용 요청을 만든다. |
이전의
DIRECTORY_PORTAL_API_KEY전달 방식은 폐기됐다. 배포 플랫폼에 해당 값을 저장하거나 DirectoryService의 자격 증명 배포 화면에서 UI Center용 장기 키를 발급하지 않는다. 기존GITHUB_PACKAGES_TOKEN은 GitHub 비공개 패키지 메타데이터 조회 용도이므로 DirectoryService 위임 권한과는 별개다.
GitHub Packages 메타데이터는 별도의 GitHub 조회 자격증명에 의해 보호될 수 있다. 본 전환은 DirectoryService 릴리스·배포 원장에 접근하기 위한 DIRECTORY_PORTAL_API_KEY 의존성을 제거하는 범위이며, GitHub 비공개 패키지 접근 정책은 별도 중앙화 대상으로 관리한다.