对接 Azure AD
如果您在 Azure 中托管了一个 Active Directory(AD) 实例,您可以参考本文将 Azure AD 对接至平台,以允许您的用户使用 Microsoft 账号登录平台。
前提条件
-
请提前从 Azure AD 的配置页面获取以下字段信息:
- clientID
- clientSecret
- tenant
- redirectURI
-
确保执行命令的 global 集群的控制节点上已部署了 dex 服务。
提示:平台部署时,会默认为 global 集群部署 dex 服务。
操作步骤
-
使用 root 权限的账号,登录 global 集群中部署了 dex 服务的控制节点。
-
执行命令行,基于 clientID、clientSecret、tenant、redirectURI 字段配置,生成经过 base64 加密过的 config 字段值。
命令行示例如下,执行时,请输入字段的实际取值:
$ echo '{"clientID":"abde786d-eaa6-4ea5-88f2-69ebc4f14d11","clientSecret":"LmVgiceuCn1tbf?UAW4dry55oU?ppg@/", "tenant": "1aeac33e-b82d-4f70-918f-96e4b6a39e6b", "redirectURI": "https://192.168.16.52/dex/callback"}' | base64
输出的 config 字段值示例如下:
eyJjbGllbnRJRCI6ImFiZGU3ODZkLWVhYTYtNGVhNS04OGYyLTY5ZWJjNGYxNGQxMSIsImNsaWVudFNlY3JldCI6IkxtVmdpY2V1Q24xdGJmP1VBVzRkcnk1NW9VP3BwZ0AvIiwgInRlbmFudCI6ICIxYWVhYzMzZS1iODJkLTRmNzAtOTE4Zi05NmU0YjZhMzllNmIiLCAicmVkaXJlY3RVUkkiOiAiaHR0cHM6Ly8xOTIuMTY4LjE2LjUyL2RleC9jYWxsYmFjayJ9Cg==
注意:输出的 config 字段值可能会换行显示,输入时需要将字段值拼接成为一行。
-
执行命令行,创建 Microsoft 类型的 dex Connector。
命令行示例及关键参数说明如下,执行时,请输入字段的实际取值:
$ cat <<EOF | kubectl apply -f - apiVersion: dex.coreos.com/v1 kind: Connector metadata: name: microsoft namespace: cpaas-system config: eyJjbGllbnRJRCI6ImFiZGU3ODZkLWVhYTYtNGVhNS04OGYyLTY5ZWJjNGYxNGQxMSIsImNsaWVudFNlY3JldCI6IkxtVmdpY2V1Q24xdGJmP1VBVzRkcnk1NW9VP3BwZ0AvIiwgInRlbmFudCI6ICIxYWVhYzMzZS1iODJkLTRmNzAtOTE4Zi05NmU0YjZhMzllNmIiLCAicmVkaXJlY3RVUkkiOiAiaHR0cHM6Ly8xOTIuMTY4LjE2LjUyL2RleC9jYWxsYmFjayJ9Cg== id: microsoft name: microsoft type: microsoft EOF
参数说明:
-
kind:必须为
Connector
。 -
type:必须为
microsoft
。 -
id 和 metadata.name 必须一致。
-
metadata.namespace:为系统命名空间的名称,请根据实际情况填写,默认为
cpaas-system
。 -
name:为 IDP 配置的显示名称,同时也是登录按钮的名称。
-
config:上一步骤中生成的字段值。如果输出的值换行显示,需要在此处输入时手动拼接为一行。
-
结果验证
完成上述步骤后,有以下两种方式验证对接是否成功:
-
在平台登录页,若出现以上述配置中 name 的字段值命名的登录方式按钮,则表明对接成功。
-
使用管理员账号登录平台,在左侧导航栏中单击 平台管理 > 用户角色管理 > IDP 配置 进入 IDP 配置列表页面,若已存在类型为 MICROSOFT 的 IDP,则表明对接成功。