PHP,DDD,CQRS,Event Sourcing,Kubernetes,Docker,Golang

0%

IDaaS中的帐户映射和帐户关联概念

关于IDaaS就不多说了,主要是理解一下IDaaS中,如何与应用系统进行帐户关系上的处理。目前了解有三种,但主要还是关注帐户映射(Account Mapping)和帐户关联Account Linking)两种做法,还有一种好像是基于角色的帐户。

帐户映射(Account Mapping)

用户在IdP和SP处都拥有其帐户,IdP的帐户基于共有的属性来映射到SP中的帐户。这是一对一的帐户关系,是基于类似于email、DN(LDAP中的)、uid等这些在SP和IdP之间共有的属性。

帐户关联(Account Linking)

帐户关联是帐户映射的一种扩展形式,用户同样在多方拥有帐户,但是没有公用的属性来进行映射。这也是一对一的关系,与帐户映射类似。示例:用户在IdP的属性employeeNumber(或者其他属性)被连接到了SP中的不同属性(如uid或email)。

简单来说,帐户映射是两个系统之间使用共同知晓的,也是最常见关于用户的唯一标识,如email、手机号等。而帐户关联,是两个系统内部定义的对帐户的唯一标识,比如IdP复杂的使用了A+B+C等属性来确定帐户的唯一性,而SP仅使用了一个ID属性,那么两个系统之间的属性做关联就是帐户关联。

阿里云对帐户映射和帐户关联的定义

虽然阿里云没有明确篇幅介绍这两个概念,但从其他文档中可以得出他们的定义。

  • 帐户关联:传统的做法,需要接入应用中本身已存在用户的帐户,然后在IDaaS中把SP帐户与IdP帐户进行关联。这里肯定是采用两者帐户唯一标识进行的。
  • 帐户映射:需要应用中本身没有用户的帐户,因此将IdP帐户唯一标识给SP应用使用。