code

인증 대 권한 부여

codestyles 2020. 10. 3. 10:42
반응형

인증 대 권한 부여


웹 애플리케이션 컨텍스트의 차이점은 무엇입니까? 나는 약어 "auth"를 많이 본다. 그것은 의미합니까 인증 -entication 또는 인증 -orization? 아니면 둘 다입니까?


인증 은 누군가가 실제로 자신이 주장하는 사람임을 확인하는 과정입니다.

승인 은 누가 무엇을 할 수 있는지 결정하는 규칙을 의미합니다. 예를 들어 Adam은 데이터베이스를 만들고 삭제할 수있는 권한이있는 반면 Usama는 읽기 권한 만 있습니다.

두 개념은 완전히 직교하고 독립적이지만 둘 다 보안 설계의 핵심이며 둘 중 하나를 올바르게 가져 오지 못하면 타협의 여지가 열립니다.

웹 앱의 관점에서 말하자면, 인증은 로그인 자격 증명을 확인하여 사용자가 로그인 한 것으로 인식하는지 확인하는 것이고, 인증은 사용자가보기, 편집, 삭제를 허용할지 여부를 액세스 제어에서 조회 할 때입니다. 또는 콘텐츠를 만듭니다.


간단히 말해주세요. :-)

인증 = 로그인 + 비밀번호 (당신이 누구인지)

Authorization = 권한 (허용 된 작업)

짧은 "인증"은 첫 번째 또는 둘 모두를 가리킬 가능성이 높습니다.


인증 대 권한 부여는 다음 같이 설명 합니다.

인증 은 시스템이 사용자를 안전하게 식별 할 수있는 메커니즘입니다. 인증 시스템은 다음 질문에 대한 답변을 제공합니다.

  • 사용자는 누구입니까?
  • 사용자가 실제로 자신을 대표하는 사람입니까?

대조적으로 권한 부여 는 시스템이 제어하는 ​​리소스를 보호하기 위해 특정 인증 된 사용자가 가져야하는 액세스 수준을 시스템이 결정하는 메커니즘입니다. 예를 들어, 데이터베이스 관리 시스템은 특정 개인에게 데이터베이스에서 정보를 검색 할 수있는 기능을 제공하지만 데이터베이스에 저장된 데이터를 변경하는 기능은 제공하지 않고 다른 개인에게 데이터를 변경할 수있는 기능을 제공하도록 설계 될 수 있습니다. 인증 시스템은 다음 질문에 대한 답변을 제공합니다.

  • 사용자 X는 리소스 R에 액세스 할 권한이 있습니까?
  • 사용자 X는 작업 P를 수행 할 권한이 있습니까?
  • 사용자 X는 자원 R에서 작업 P를 수행 할 권한이 있습니까?

또한보십시오:


인증 및 승인보다 확인권한선호합니다 .

머리와 코드에서 "검증"과 "권한"을 생각하는 것이 더 쉽습니다.

  • 똑같이 들리지 마
  • 동일한 약어가 없습니다.

인증은 확인이고 인증은 권한을 확인합니다. 인증은 둘 중 하나를 의미 할 수 있지만 "사용자 인증"즉 "사용자 인증"으로 더 자주 사용됩니다.


나는 이것을 가장 간단한 말로 설명하기 위해 이미지를 만들려고 노력했다

1) 인증은 "당신은 당신이 누구입니까?"를 의미합니다.

2) 승인은 "당신이하려는 일을 할 수 있습니까?"를 의미합니다.

이것은 아래 이미지에서도 설명됩니다.

여기에 이미지 설명 입력

나는 그것을 가능한 한 최선의 용어로 설명하려고 노력했고 같은 이미지를 만들었습니다.


두 단어가 비슷하게 들리고 개념이 종종 밀접하게 관련되고 함께 사용되기 때문에 혼란은 이해할 수 있습니다. 또한 언급했듯이 일반적으로 사용되는 약어 Auth 는 도움이되지 않습니다.

다른 사람들은 이미 인증 및 권한 부여의 의미를 잘 설명했습니다. 다음은 두 가지를 명확하게 구분하는 데 도움이되는 간단한 규칙입니다.

  • 인증 enti 양이온의 유효성을 검사 아이디 enti 타이 (또는 진위 , 당신이 선호하는 경우)
  • 저자 화하여 유효성을 검사 저자의 성만, 액세스, 즉 오른쪽 가능성이 변경 뭔가를.

인증 은 선언 된 신원을 확인하는 프로세스입니다.

  • 예 : 사용자 이름 / 비밀번호

일반적으로 승인이 뒤 따르 는데, 이는 여러분이 이것을 할 수 있다는 것과 저것을 할 수있는 승인입니다.

  • 예 : 권한

@Kerrek의 답변에 추가;

인증은 일반화 된 형식입니다 (모든 직원이 기기에 로그인 할 수 있음)

인증은 전문화 된 형식입니다 (단, 관리자 만 머신에서 애플리케이션을 설치 / 제거 할 수 있음).


인증은 로그인 사용자 이름과 비밀번호를 확인하는 프로세스입니다.

승인은 무언가에 액세스 할 수 있는지 확인하는 프로세스입니다.


Authentication자신의 신원을 확인하는 것을 의미합니다. 인증은 사용자 이름 / 사용자 ID 및 암호와 같은 자격 증명을 확인하여 신원을 확인하는 것입니다. 그런 다음 시스템은 사용자가 자격 증명을 사용하고 있는지 확인합니다. 공용 또는 사설 네트워크에서 시스템은 로그인 암호를 통해 사용자 ID를 인증합니다. 일반적으로 인증은 사용자 이름과 암호로 수행되지만 다른 다양한 인증 방법이 있습니다.

Authorization시스템에 대한 액세스가 허용됨을 의미합니다. 권한 부여는 인증 된 사용자가 특정 리소스에 액세스 할 수 있는지 여부를 결정하는 프로세스입니다.

여기에 이미지 설명 입력

여기에서 더 많은 것을 읽으 십시오

참고 URL : https://stackoverflow.com/questions/6556522/authentication-versus-authorization

반응형