身份认证(authentication)与授权(authorization)有什么区别?

关注者
6
被浏览
13,684

5 个回答

作为该领域从业了近5年的人,很开心有人关注到这个话题。话不多说,直奔主题。

身份认证和访问控制的英文名字是Identity and Access Management,是属于安全领域所要关注的范畴。咱们仔细来看,这里面涉及到三个方面的子内容,分别是账号(Account)、认证(Authentication)和授权(Authorization)。

账号(Account)是什么呢 ?这个在生活中很常见。比如大学里的选课系统,我们在使用之前都要首先有一个账号。这个账号可以是手机号,也可以是邮箱,或者是学号。这个账号就是在我们在选课系统中的身份标记。由于每个人在选课系统中都要有自己的账号,所以选课系统自然就要提供对所有账号的管理能力。比如如何注册账号、如何修改密码、如何设置个人基本信息等。可见:

Account is an identity flag by which a person can access a software system。

有了账号并不代表可以进入系统,还得有凭证。凭证是什么?密码就是凭证的一种。这就好比亲朋好友都知道我家的门在哪里,但是只有有钥匙的人才能进入我家。所以,仅仅有选课系统的账号是不够的,还得有这个账号对应的密码,注意是对应的密码。这样,在进入选课系统前,我们会向系统展示我们的账号以及所持有的与之对应的密码(即登录的过程),选课系统会验证密码是否正确。上面的这个过程叫什么呢?猜对了,叫身份认证。 什么是认证(Authentication)?

Authentication is the process of verifying the identity of a user—knowing that the user is who they claim to be.

现在我们已经通过正确的账号和密码登录成功了。但是,有些老师的课程实在太火,报名的同学太多。而能选到课的学生是有限的,怎么办?当然是去调高某一个课程的人数限制。“调高课程人数限制”这个事情,普通的学生能操作吗?当然不能,需要教务处的老师去操作。我们会发现,选课系统中学生只能做一些基础的操作,而教务处老师可以做更加“为所欲为”的操作。这种决定谁能做什么事的过程就是权限管理,也就是访问授权的过程。 何为授权(Authorization)?

Authorization is the process of verifying that a user has the right to perform some action, such as selecting a course or adding a course.

到这里,我们定义了Account、Authentication和Authorization。实际上,一些场景下还会涉及到 审计(Audit)。 在上面的选课系统中,为了防止教务处的老师滥用职权帮助特定学生选课,可以记录整个系统的操作日志,以记录下哪些账号在某些时刻做了哪些操作,然后在需要的时候进行审查。这个过程被称为审计。 什么是审计(Audit)呢?

Audit is the examination or inspection of various actions of accounts to make sure that all operations are following documented regulations.

上面详细的介绍了账号、认证、授权、审计这四个方面。回到问题本身,身份认证和访问控制有什么区别呢?由于身份认证和访问控制(IAM)经常同时出现,导致很多人在概念上混淆。实际上,两者分别是代表两个方向,只是经常组CP罢了。

结合我上面的介绍,身份认证实际上就是解决Authentication的问题,而解决Authentication肯定需要先有Account,而访问控制实际上是解决Authorization的问题。另外, 实际应用中,有些人也喜欢把涉及到Account、Authentication、Authorization和Audit这些方面的系统称为IDM系统(Identity Management)

经过笔者的调查,发现业内有如下常用叫法:

3A:Authentication、Authorization、Accounting

4A:Account、Authentication、Authorization、Audit

Accounting和Audit都是指带审计之类的事情,大概是中文翻译的不同。

我是分割线——————————————————————————

随着云计算的发展,企业基础IT和安全设施的改造会越来越涉及到4A领域的改造。很高兴关注这个领域的人越来越多。想获取更多的内容,就关注我吧。