인증 - 사용자가 누구인지 확인하는 과정
인가 - 사용자가 특정 자원에 접근할 권한이 있는지 확인하는 과정
인증 - 사용자의 신원을 검증하는 과정
ex - 웹사이트에 로그인할 때 아이디와 비밀번호를 입력받아 해당 사용자가 누구인지 검증하는 것이 이에 해당됨
인증 방식엔 비밀번호 기반, 생체 인증, OTP 인증 등이 있음
최근엔 보안 강화를 위해 MFA(다중 요소 인증)도 널리 사용됨
인가 - 인증을 통해 신원이 식별된 사용자가 특정 리소스에 접근할 수 있는 권한을 갖고 있는지 확인하는 과정
ex- 회사 내부 시스템에서 일반 직원은 고객 데이터를 조회할 수 없지만, 관리자 계정은 조회할 수 있도록 설정하는 것이 인가의 한 예
일반 직원이 고객 데이터에 접근하지 못하는 이유는 인증에는 성공, 권한이 부족하여 인가에 실패하기 때문
RBAC(Role-Based Access Control), ABAC(Attribute-Based Access Control), ReBAC(Relationship-Based Access Control)이 있음
RBAC는 사용자 역할에 따라 접근 권한을 부여하는 방식, 조직 내에서 필요한 역할들을 생성하고 각 역할 별로 어떤 자원에 접근이 가능하며 어떤 행동이 가능한지를 설정
ABAC는 사용자의 속성을 기반으로 접근 권한을 결정하는 방식, 보다 세밀한 제어 가능
ReBAC는 사용자 및 자원 간의 관계를 기반으로 접근 권한을 결정하는 방식