WEBBOOK CHAPTER

Spring Security 6, 인증에서 운영까지: 16장. 동일한 ContractHub 화면으로 권한을 실험한다

16장. 동일한 ContractHub 화면으로 권한을 실험한다

다음 화면은 장식용 mockup이 아니다. lab/src/policy-engine.mjs가 실제 판정을 수행하고, Node 테스트와 Java SecurityContractTest가 같은 fixture를 사용한다.

ContractHub에서 역할, 테넌트, 상태, 금액과 추가 인증을 함께 판정하는 동일 실습 화면
ContractHub에서 역할, 테넌트, 상태, 금액과 추가 인증을 함께 판정하는 동일 실습 화면

실습 순서:

  1. bob · ACME MANAGER, 승인, IN_REVIEW, 200만원은 ALLOW다.
  2. 사용자를 alice로 바꾸면 role permission에서 DENY다.
  3. mallory로 바꾸면 ADMIN이어도 tenant boundary에서 DENY다.
  4. bob으로 돌아와 상태를 DRAFT로 바꾸면 domain state에서 DENY다.
  5. 금액을 2천만원으로 바꾸면 step-up에서 DENY다.
  6. 패스키 추가 인증을 체크하면 ALLOW다.

cd spring-security-boot3
npm test
# 8개 결정 계약이 모두 통과해야 한다.

화면의 reason은 첫 실패 지점이다. 운영 감사에는 전체 검사와 정책 버전, 결정 ID를 남기되 비밀번호, cookie, Bearer token, 계약 본문을 넣지 않는다. 사용자에게는 상세 내부 정책을 그대로 노출하지 않는다.