身份验证和授权之间有什么区别?

时间:2020-01-09 10:37:15  来源:igfitidea点击:

身份验证和授权有什么区别?
为什么理解两者之间的差异很重要?
身份验证与授权的区别是什么?
它们有什么区别?

认证方式

身份验证会验证"您是谁"。
例如,您可以使用ssh客户端登录到Unix服务器,或者使用POP3和SMTP客户端访问电子邮件服务器。
通常,PAM(可插拔身份验证模块)用作高级应用程序编程接口(API)中的低级身份验证方案,从而允许依赖于身份验证的程序独立于基础身份验证方案编写。

授权书

授权会验证"您有权执行的操作"。
例如,允许您通过ssh客户端登录Unix服务器,但无权访问浏览器/data2或任何其他文件系统。
成功进行身份验证后,将进行授权。
可以在文件系统级别或使用各种应用程序级别的配置选项(例如chroot(2))来控制授权。

通常,连接尝试必须由系统进行身份验证和授权。
通过这两个因素,您可以轻松找出为什么接受或拒绝连接尝试的原因。

示例:身份验证和授权

允许名为Hyman的用户使用OpenSSH ssh客户端/服务器模块安全地登录www.theitroad.local服务器。
在此示例中,身份验证是一种机制,通过该机制,在www.theitroad.local上运行的系统可以安全地标识用户Hyman。
身份验证系统提供以下问题的答案:

  • 谁是用户Hyman?
  • 用户Hyman真的代表他自己是谁吗?

在www.theitroad.local上运行的服务器取决于仅Hyman用户知道的一些唯一信息。
它可能像密码,公钥身份验证一样简单,也可能像基于Kerberos的系统一样复杂。
在所有情况下,用户Hyman都需要某种秘密才能通过ssh客户端登录www.theitroad.local服务器。
为了验证名为Hyman的用户的身份,运行在www.theitroad.local上的身份验证系统将挑战Hyman提供其唯一信息(他的密码或指纹等),如果身份验证系统可以验证共享机密已正确显示,则认为用户插孔已通过身份验证。

Hyman已通过身份验证?接下来是什么?

授权。

在www.theitroad.local上运行的Unix服务器确定称为Hyman的特定经过身份验证的用户应具有的访问级别。
例如,Hyman可以使用GNU gcc编译器来编译程序,但不允许上载或下载文件。
所以

  • 用户Hyman是否有权访问称为ABC的资源?
  • 用户插孔是否有权执行XYZ操作?
  • 是否授权用户插孔对资源R执行操作P?
  • 用户Hyman是否有权下载或上传文件?
  • 是否授权用户Hyman将补丁程序应用到Unix系统?
  • 用户Hyman是否有权进行备份?

在此示例中,Unix服务器使用身份验证和授权的组合来保护系统。
该系统确保声称是Hyman的用户才是真正的Hyman,从而防止未经授权的用户访问运行在Unix服务器www.theitroad.local上的安全资源。

处理大型Linux/Unix设置

大型Linux/UNIX安装,配有中央LDAP目录服务器以对用户进行身份验证。
用户必须针对所有服务(例如Squid代理,Wi-Fi,SMTP,POP3电子邮件服务器等)提供用户名和密码。
LDAP目录允许您获取所需信息,例如员工编号,电子邮件地址,部门代码等。
该目录提供了附加的数据查找和搜索功能。

OpenLDAP和Fedora目录服务器(FDS)是适用于Linux和Unix操作系统的LDAP(轻型目录访问协议)服务器。

Kerberos是一种网络身份验证协议。
它旨在通过使用密钥加密为客户端/服务器应用程序提供强身份验证。
可以从麻省理工学院免费获得此协议。

红帽目录服务器是符合LDAP的服务器,可集中用户身份和应用程序信息。
它提供了独立于操作系统的基于网络的注册表,用于存储应用程序设置,用户配置文件,组数据,策略和访问控制信息。