
'authz'는 "authorization"의 약어로, 시스템에서 주체(사용자, 서비스 등)가 어떤 자원에 대해 어떤 행위를 할 수 있는지를 결정하고 제어하는 기능을 말합니다. 주요 내용: - 목적: 누가(또는 무엇이) 어떤 자원(resource)에 대해 어떤 행동(action)을 할 수 있는지 허용·거부하는 것(권한 부여). - 인증(authn)과의 차이: 인증은 '누구인지 확인'(로그인)이고, 권한 부여(authz)는 '그 사람이 무엇을 할 수 있는지 결정'합니다. - 구성 요소: 보통 정책(policy), 역할(role), 권한(permission), 의사결정 지점(PDP: Policy Decision Point)과 집행 지점(PEP: Policy Enforcement Point)으로 나뉩니다. - 일반적 모델: ACL(Access Control List), RBAC(Role-Based Access Control), ABAC(Attribute-Based Access Control) 등. - 토큰·프로토콜 연계: OAuth2의 권한 부여(Authorization) 개념, 액세스 토큰의 스코프(scope)가 authz 정보를 담는 예가 흔합니다. OpenID Connect는 주로 인증에 쓰이고, 권한은 OAuth2로 처리하는 경우가 많습니다. - 구현 도구/표준 예: XACML, OPA(Open Policy Agent), Keycloak, Casbin 등. 요약: authz는 인증 후에 "무엇을 허용할 것인가"를 결정하고 적용하는 모든 메커니즘과 규칙을 가리키는 용어입니다.