인증이란 요청자가 누구인지 확인하는 신원 확인 절차입니다.
인가란 인증된 사용자가 특정 요청에 대한 자원을 가질 수 있는 권한을 점검하는 절차입니다.
보통 인증 후 인가 작업이 수행됩니다.
HTTP 401과 403 상태 코드의 차이는 무엇인가요?
401 Unauthorized는 유효한 인증 정보가 없어 먼저 인증이 필요한 경우이고, 403 Forbidden은 서버가 사용자를 식별했더라도 해당 자원에 접근할 권한이 없는 경우입니다. 이름과 달리 401은 인증 실패, 403은 주로 인가 실패에 대응합니다.
인증만 성공하면 모든 자원에 접근할 수 있나요?
아닙니다. 인증은 사용자의 신원을 확인할 뿐이며, 각 요청에서는 역할이나 권한, 자원의 소유 관계 같은 정책을 기준으로 별도의 인가 검사를 해야 합니다. 예를 들어 로그인한 일반 사용자가 관리자 API에 접근하는 것은 인가 단계에서 거부해야 합니다.
RBAC와 ABAC의 차이는 무엇인가요?
RBAC는 관리자·사용자 같은 역할에 권한을 부여하고 사용자에게 역할을 할당하는 방식입니다. ABAC는 사용자, 자원, 요청 시간이나 위치 같은 속성과 정책을 조합하여 권한을 판단하므로 더 세밀하지만 정책 관리가 복잡해질 수 있습니다.