在企业IT的复杂世界中,管理系统和数据的访问至关重要。身份与访问管理(IAM)是一种安全学科,它使正确的个人能够在正确的时间出于正确的原因访问正确的资源。让我们探讨企业环境中IAM的ABCDE框架,其中每个字母代表系统的一个关键组成部分。
image.png :::info 使用 ABCDE 来对身份与访问管理进行分类,我从来没有见过,因此我感觉自己就是第一个提出者。😀

我第一次正式提出是在《身份认证那些事儿 - Jeff Tian的文章 - 知乎 》,时间在 2024 年 1 月份。但是那篇文章说得比较多,今天专门再强调一下这个分类。 :::

A

A代表API(应用程序编程接口)或者 App。

API是数字通信的构建块,允许不同的应用程序相互通信。在IAM中,API用于管理认证和授权过程,使服务之间的交互无缝且安全。它们在自动化IAM任务中扮演着关键角色,例如配置用户账户和管理访问权限。

在微服务架构中,一个微服务或者一个微应用,都会向外暴露 API,服务与服务之间,要进行认证互信,在常见的 Peer Authentication 和 Request Authentication 分类中,属于 Peer Authentication。这一块儿,可以基于开源解决方案 https://backstage.io/ 来构建自己公司内部的集中式产品/应用目录。
image.png

除此之外,后面要讨论的 BCDE 都属于 Request Authentication。

B

B 代表商业伙伴,即 Business Partners。

商业伙伴是需要访问公司系统的外部实体。IAM解决方案必须能够管理伙伴身份,并控制他们的访问权限。这通常涉及设置安全的B2B(企业对企业)门户,并确保合作伙伴只能访问其角色所必需的数据和资源。

实现上可以构建一个业务伙伴合作网络(Partner Network),以实现互信。具体实现可以参考 authing.cn 的 APN (Authing Partner Network, Authing 合作网络): https://www.authing.co/apn
image.png

:::info 知乎就使用了 authing.cn :::

C

C 代表消费者/客户

客户是任何业务的核心,为他们提供安全的服务访问至关重要。IAM系统需要在提供用户友好体验的同时保护客户数据。这包括实施支持自助服务功能、社交登录选项和多因素认证的消费者身份与访问管理(CIAM)解决方案。

Simon Moffat 的《Consumer Identity & Access Management Design Fundamentals》一书专门针对此分类进行了详细的讨论。
image.png

image.png

D

D代表开发者

开发者是构建和维护业务运行系统的个体。针对开发者的IAM关注于确保他们能够正确访问正确的工具和资源。这包括管理凭证、执行最小权限访问和监控活动以预防内部威胁。

除此之外,企业要构建生态,就需要为开发者提供一个平台。比如微信的开放平台、抖音的开放平台等等。要做好开放平台,就得做好面向开发者的身份认证与访问管理。

其实除了面向消费者/客户之类的产品可以赚钱,面向开发者的平台也可以是一门好生意,因此这个类别不容忽视哦。比如苹果,比如微信等等,其 2D 的业务如下图所示。
image.png

E

E代表员工

员工是公司系统的内部用户。针对员工的IAM涉及管理他们的整个生命周期,从入职到离职。这包括创建用户账户、分配角色和权限,以及当员工离开公司或变更角色时撤销访问权限。

很多公司在这一块儿都使用了微软的 Entra ID (之前叫 Azure AD),不过越来越多的中国公司在使用企业微信。

结论

企业IAM的ABCDE强调了管理多样化身份和访问需求的重要性。通过理解和实施针对API、商业伙伴、消费者、开发者和员工的健壮IAM实践,组织可以保护其资产并确保运营效率。随着数字化景观的发展,IAM策略也必须演变,以应对不断变化的安全挑战。

记住,有效的IAM不仅仅是关于技术;它还关乎人、流程和政策共同工作,以保护组织最宝贵的信息。


想了解更多关于企业IAM解决方案的信息吗?欢迎来知乎向我咨询。