Skip to content
himprover
GitHubVelog

[번역] 인증 vs 인가

Translate, Security4 min read

banner

이 게시물은 원본 아티클인 Authentication vs. Authorization 를 한글로 번역한 게시글입니다. 게시물 내용의 저작권은 원작자 Philip 에게 있습니다.

인증(Authentication)과 인가(Authorization)는 웹 어플리케이션을 만들 때 알아야 하는 중요한 보안 용어 입니다. 이 둘은 비슷해 보이지만 어플리케이션에서 보안을 보장하는 역할이 다릅니다. 이 개념을 조금 더 단순하게 알아봅시다.

인증(Authentication)

인증은 시스템에게 자신이 누구인지를 증명하는 것입니다. 이것은 사용자를 식별하는 단계입니다. 이것은 사용자, 로그인, 또는 세션일 수 있습니다. 시스템은 해당 개인이 주장하는 사람이 정말 맞는지 확인합니다. 대부분 usernamepassword를 사용하지만, 생체인증 검사나 2단계 보안 인증 등의 고급 방법을 사용하기도 합니다.

웹 사이트에 로그인하는 것을 떠올려보세요. 당신은 usernamepassword를 입력하고, 웹 사이트는 저장된 정보와 맞는지 확인합니다. 만약 일치한다면 인증이 완료되고, 시스템에게 성공적으로 당신의 신원을 증명한 것입니다.

인가(Authorization)

시스템이 당신이 누군지 알게 되면(고마워요 인증), 당신이 여기서 무엇을 할 수 있는지 알아야 합니다. 바로 여기에서 인가가 필요합니다. 인가는 모든 것이 권한과 관련되어 있습니다. 이는 당신이 시스템에서 접근할 수 있는 자료나 할 수 있는 행위를 결정합니다.

당신인 관리자가 아닐 때 컴퓨터를 사용한다고 생각해보세요. 당신은 문서 만들기 같은 행위는 할 수 있지만, 새로운 소프트웨어를 설치하는 것은 못하기도 합니다. 이것이 인가가 작동하는 예시입니다.

1

핵심적인 차이점

간단히 말해서, 인증은 당신이 누군지 입증하고, 인가는 당신이 시스템에서 뭘 할수 있는지 결정하는 것 입니다.

인증은 집에 들어갈 때 열쇠로 문을 여는 것이고, 인가는 그 안에서 당신이 어떤 방에만 갈 수 있는지 아는 것 입니다.

요약

인증과 인가는 웹 보안에서 중요합니다. 시스템이 이것을 잘 관리하지 많는다면 앞문을 활짝 열어놓은 것과 같습니다.

이러한 프로세스를 사용하는 방법은 어플리케이션의 요구 사항, 사용하는 도구, 그리고 얼마나 안전하게 하고 싶은지에 따라 다릅니다. JWT를 사용해 관리할 수도 있고, OAuth로 서드 파티 도구를 사용해 유저의 신상 정보 없이 접근할 수도 있습니다.

요약하자면, 안전한 웹 어플리케이션을 만들 때 인증과 인가의 차이점을 아는 것은 중요합니다. 이 둘은 다른 개념이지만 둘 다 웹 보안에서 중요한 요소입니다.