관리자 계정으로 로그인했고 화면도 정상적으로 뜨는데, 목록만 비어 있다. 브라우저 개발자 도구의 Network 탭을 보면 해당 REST 호출이 이렇게 거부되고 있다.
error: "insufficient_scope"
error_description: "Insufficient scope for this resource"
scope: "uaa.admin zones.<zone-id>.admin clients.admin SASAdministrators clients.read sasapp"
Viya 4 는 사용자 권한(Role) 과 OAuth 클라이언트 권한(Scope) 을 나눠서 관리한다. 계정이 SASAdministrators 에 들어 있다고 해서 발급받은 액세스 토큰에 모든 scope 가 담기는 것은 아니다. 토큰에 담기는 scope 는 로그인에 쓰인 OAuth 클라이언트의 정의가 정한다.
| 구간 | 동작 |
|---|---|
| UI 로딩 | 정적 자원(HTML·JS) 이므로 통과한다 |
| 목록 조회 | REST API 호출 → 토큰의 scope 부족 → insufficient_scope |
| 결과 | 화면은 뜨는데 리스트만 비어 있다 |
즉 네트워크나 방화벽 문제가 아니고, 계정 권한 문제도 정확히는 아니다. 클라이언트 정의에 scope 가 빠진 것이다.
거부된 응답의 scope 필드에 나열된 값이 토큰이 실제로 가진 scope 다. 호출하려는 API 가 요구하는 scope 가 그 목록에 있는지 본다. 사용자·클라이언트 관리 API 는 보통 uaa.admin, clients.admin, scim.read 계열을 요구한다.
로그인에 쓰인 클라이언트가 무엇인지는 로그인 요청의 client_id 파라미터로 확인한다. 웹 UI 는 대개 sas.<앱이름> 형태의 클라이언트를 쓴다.
sas-logon-app 로그에도 같은 거부가 남는다.
kubectl logs -n <namespace> deploy/sas-logon-app --since=30m | grep -i scope
sas-admin CLI 나 스크립트에서 쓴다.sas-viya CLI oauth 플러그인 또는 UAA 관리 API 로 처리한다.