身份验证与授权

时间:2011-07-02 10:44:20

标签: security authorization authentication

Web应用程序的上下文有何不同?我看到很多缩写“auth”。它代表身份验证 - 身份验证还是身份验证 -orization?或者两者兼而有之?

15 个答案:

答案 0 :(得分:777)

  

身份验证是确定某人确实是他们声称的人的过程。

     

授权是指确定允许执行哪些操作的规则。例如。 Adam可能被授权创建和删除数据库,   而Usama只被授权阅读。

这两个概念是完全正交且独立的,但两者都是安全设计的核心,如果不能正确使用这两个概念,就会开辟妥协的途径。

就网络应用程序而言,非常粗略地说,身份验证是指您检查登录凭据以查看您是否将用户识别为已登录,并且授权是指您在访问控制中查看是否允许用户查看,编辑,删除或创建内容。

答案 1 :(得分:617)

总之,请。 : - )

  

身份验证 =登录+密码(您是谁)

     

授权 =权限(您可以做的事情)

短" auth"最有可能是指第一个或两个。

答案 2 :(得分:77)

正如Authentication vs Authorization所说:

  

身份验证是一种机制   系统可以安全地识别   他们的用户。认证系统   提供问题的答案:

     
      
  • 谁是用户?
  •   
  • 用户真的是他/她代表自己的人吗?
  •   
     相比之下,

授权就是   系统确定的机制   什么级别的访问特定   经过身份验证的用户应该   由...控制的安全资源   系统。例如,一个数据库   管理系统可能是这样设计的   至于提供某些指定的   有能力的人   从数据库中检索信息   但不是改变数据的能力   存放在数据库中,同时给予   其他人的能力   改变数据。授权系统   提供问题的答案:

     
      
  • 用户X是否有权访问   资源R?
  •   
  • 是否授权用户X.   执行操作P?
  •   
  • 是用户X.   授权执行操作P   资源R?
  •   

另见:

答案 3 :(得分:29)

我更喜欢验证权限进行身份验证和授权。

在我的脑海和代码中更容易想到“验证”和“权限”,因为这两个词

  • 听起来不一样
  • 没有相同的缩写

身份验证是验证,授权是检查权限。 Auth可以指,但更常用作“用户身份验证”,即“用户身份验证”

答案 4 :(得分:9)

混淆是可以理解的,因为这两个词听起来很相似,并且因为这些概念通常密切相关并且一起使用。另外,如上所述,缩写 Auth 并没有帮助。

其他人已经很好地描述了身份验证和授权的含义。这是一个简单的规则,可以帮助两者明确分开:

  
      
  • 验证 enti 阳离子验证您的Id enti ty(或真实性,如果您愿意的话)
  •   
  • 作者会验证您的作者,即您有权访问并可能更改内容。
  •   

答案 5 :(得分:8)

我试图创建一个图像,用最简单的单词解释这个

1)认证意味着"你是说你是谁?"

2)授权意味着"你是否能够做你想做的事情?"。

这也在下图中描述。

enter image description here

我试图以最好的方式解释它,并创建了相同的图像。

答案 6 :(得分:3)

身份验证是验证声明身份的过程。

  • e.g。用户名/密码

通常后跟授权,这是您可以执行此操作的批准。

  • e.g。权限

答案 7 :(得分:2)

添加到@ Kerrek的回答;

身份验证是通用格式(所有员工都可以登录计算机)

授权是专业表格(但管理员只能在机器中安装/卸载应用程序)

答案 8 :(得分:2)

身份验证是验证登录用户名和密码的过程。

授权是验证您是否可以访问某些内容的过程。

答案 9 :(得分:1)

Authentication是一个验证过程:

    通过提供证明(秘密密钥,生物特征识别,短信...)来
  • 系统中的用户身份(用户名,登录名,电话号码,电子邮件...)。多因素身份验证作为扩展。
  • 使用digital signature的电子邮件检查
  • 校验和

AuthorizationAuthentication之后的下一步。它与资源的权限/角色/特权有关。 OAuth(开放式授权)是授权的示例

答案 10 :(得分:0)

Authentication表示确认您的身份。身份验证是关于验证您的凭据(例如用户名/用户ID和密码)以验证您的身份。然后,系统将检查您是否正在使用您的凭据。无论在公共网络还是专用网络中,系统都通过登录密码对用户身份进行身份验证。通常,身份验证是通过用户名和密码完成的,尽管还有其他多种身份验证方法。

Authorization意味着被允许访问系统。授权是确定经过身份验证的用户是否有权访问特定资源的过程。

enter image description here

了解更多here

答案 11 :(得分:0)

定义

  

身份验证-您是自称的人吗?

     

授权-您是否有权执行您要尝试执行的操作?

示例

一个网络应用使用Google Sign-In。用户成功登录后,Google会发回邮件:

  1. JWT令牌。可以对其进行验证和解码以获得身份验证信息。令牌是由Google签名的吗?用户的名字和电子邮件是什么?
  2. 访问令牌。这授权该网络应用代表用户访问Google API。例如,应用程序可以访问用户的Google日历事件吗?这些权限取决于请求的范围以及用户是否允许。

另外:

公司可能有一个管理仪表板,允许客户支持来管理公司的用户。该公司没有提供允许客户支持访问此仪表板的自定义注册解决方案,而是使用Google登录。

JWT令牌(从Google登录过程中接收到)被发送到公司的授权服务器,以确定用户是否拥有组织的托管域(email@company.com)的G Suite帐户?如果愿意,他们是否是为客户支持而创建的公司Google小组的成员?如果以上所有条件都是肯定的,我们可以考虑对它们进行认证

然后,公司的授权服务器向仪表板应用程序发送访问令牌。此访问令牌可用于向公司的资源服务器发出授权请求(例如,向向回发送公司所有用户的端点发出GET请求的功能)。

答案 12 :(得分:0)

我发现this article的类比确实帮助了我。

考虑一个人走到上锁的门为宠物提供照料 一家人度假时。该人需要:

  • 身份验证采用密钥形式。门上的锁只允许以正确的方式访问具有正确钥匙的人 系统仅向具有正确权限的用户授予访问权限 凭据。
  • 授权采用权限形式。进入室内后,该人有权进入厨房并打开橱柜 持有宠物食品。 该人可能无权进入 卧室小睡

因此,简而言之,身份验证与用户身份有关,而授权则与用户权限有关。

答案 13 :(得分:0)

想象一下您已经注册了一次技术会议。您到达并走到外面的登记表以获取会议徽章。您必须首先出示某种形式的身份证明,例如驾驶执照。您的驾驶执照可识别您(例如带有您的照片),并由受信任实体(DMV)分发。这是身份验证

此人将红色,蓝色或绿色的徽章交给您。在会议内部走来走去,一些展览用颜色编码。使用绿色徽章,您可以输入绿色展品,但不能输入蓝色或红色展品。徽章不是由DMV分发的,而是由会议本身分发的,以访问会议厅内的会议资源。

关于徽章的信息并不一定能识别您的身份(可以在上面印上您的名字,但是您可以轻松借用您朋友的蓝色徽章参观一个蓝色展览)-没有人​​会检查您的名字,只有颜色为蓝色)。徽章的颜色可让您访问展览。这是授权

答案 14 :(得分:0)

身份验证是识别有效用户的过程。

授权是验证用户访问级别的过程。

应用示例 用户 AB 都是 Inventory 应用程序的验证用户。 两个用户都可以访问 Stock,但 B 对问题项目有更多的授权。