3.6 KiB
3.6 KiB
Milestone: Auth Broker와 Jenkins Plugin 후보 검토
위치
- Roadmap:
agent-roadmap/ROADMAP.md - Phase:
agent-roadmap/phase/security-distribution/PHASE.md
목표
Jenkins LDAP 로그인 이후 영역에서 앱 사용 권한을 매끄럽게 확인하는 구조를 검토한다. 사용자별 token 방식이 충분하지 않을 때, Auth Broker 또는 Jenkins plugin으로 앱 전용 short-lived token/callback을 제공할지 판단한다.
상태
[스케치]
승격 조건
- Jenkins 운영팀이 plugin 설치 또는 reverse proxy 경로 추가 가능 여부를 답했다.
- 보안팀이 WebView token 자동화, Auth Broker, Jenkins plugin 중 허용 가능한 후보를 제시했다.
- MVP에서 사용자별 API token 방식의 UX/보안 문제가 실제로 충분히 커졌는지 확인했다.
- 구현 후보를 하나 이하로 좁히고, 후속
[계획]Milestone으로 분리했다.
구현 잠금
- 상태: 잠금
- 잠금 해제 조건: 사용자 리뷰에서 아래 항목을 승인하거나 방향을 결정할 때까지 Auth Broker 또는 Jenkins plugin 구현을 시작하지 않는다.
- 결정 필요: 사용자 리뷰 체크리스트
- 별도 서버를 구축할 수 있는지 결정한다.
- Jenkins plugin 설치가 가능한지 결정한다.
- 앱이 Jenkins WebView에 비밀번호를 입력받는 방식이 허용되는지 결정한다.
범위
- 사용자별 API token 방식의 한계 검토
- WebView token 자동 발급의 보안/UX 검토
- Auth Broker 구조 검토
- Jenkins plugin callback 구조 검토
- 감사 로그와 short-lived token 후보 정리
기능
Epic: [options] 인증 구조 후보
LDAP을 직접 제어하지 못하는 제약 안에서 가능한 인증 후보를 비교한다.
- [user-token] 사용자별 Jenkins API token 방식의 UX와 보안 리스크를 정리한다.
- [webview-token] Jenkins WebView 로그인 후 token 자동 발급 방식의 장단점을 정리한다.
- [broker] Auth Broker가 필요한 경우의 server/API/token 책임 경계를 정리한다.
- [plugin] Jenkins plugin endpoint가 제공할 callback/code/token 흐름을 정리한다.
Epic: [decision] 승격 판단
스케치를 구현 가능한 계획으로 승격할 조건을 만든다.
- [security-review] 보안팀 리뷰 질문 목록을 작성한다.
- [ops-review] Jenkins 운영팀 리뷰 질문 목록을 작성한다.
- [roi-check] 별도 서버/plugin의 비용이 UX 개선 효과를 넘는지 판단 기준을 만든다.
- [next-milestone] 선택된 후보를 후속
[계획]Milestone으로 분리한다.
완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 모든 기능 Task와 Task 안에 명시된 검증 충족 후 기록한다.
- 리뷰 필요:
- 사용자가 완료 결과를 확인했다
- archive 이동을 승인했다
- 리뷰 코멘트: 없음
범위 제외
- LDAP 직접 연동
- 공용 Jenkins token 내장
- 사용자가 결정하지 않은 서버/plugin 구현 착수
작업 컨텍스트
- 관련 경로:
lib/src/features/settings/,lib/src/services/token_store.dart,agent-roadmap/phase/security-distribution/ - 표준선(선택): MVP는 사용자별 credential을 기본으로 두고, broker/plugin은 필요성이 검증될 때만 승격한다.
- 선행 작업: Jenkins 로그인과 credential 수명주기, macOS 배포와 sandbox 검증
- 후속 작업: 선택된 인증 구조의 별도 계획 Milestone
- 확인 필요: 구현 잠금의 사용자 리뷰 체크리스트가 Jenkins 운영 정책, 보안팀 허용 범위, 별도 서버 구축 가능성을 다룬다.