使用keycloak建立与华为云的联邦身份认证
联合认证简介
当企业已有自己的身份认证系统,希望使用自己的身份认证系统登录华为云,而不需要在华为云中重新创建对应的IAM用户时,可以使用IAM提供的身份提供商(IdP)功能。通过该功能,企业用户不需要在华为云中重新创建用户,只需使用企业已有的用户名密码即可登录并使用华为云资源。利用身份提供商(IdP)机制,您可以向企业中的用户授予使用您账户中华为云资源的权限。
前提条件
企业管理员在华为云上注册了可用的帐号。
操作步骤
1、在keycloak上选择一个已创建好的realm
2、创建client
3、设置完上面的3项后,点击“save”按钮。
4、在华为云上创建身份提供商,具体可以参考:
https://support.huaweicloud.com/usermanual-iam/iam_08_0009.html
5、设置身份提供商的配置信息
身份提供商URL: https://localhost/auth/realms/hwsRealm
其中,localhost是域名,此处IAM页面不支持带端口号,可以通过keycloak的配置文件将其端口改成https默认的443,这样就不用带端口号了。hwsRealm是第1步中创建的realm的小写。
客户端ID:填写第2步中创建的client ID
授权请求Endpoint:https://localhost/auth/realms/hwsRealm/protocol/openid-connect/auth
浏览器访问https://localhost/auth/realms/hwsRealm/.well-known/openid-configuration,其中的authorization_endpoint字段对应的链接就是授权请求Endpoint
授权请求Scope:选择openid
授权请求Response type:选择id_token
授权请求Response mode: 选择 form_post,因为在第2步创建client时Valid Redirect URIs我们填的就是post方式的接口
签名公钥:先访问https://localhost/auth/realms/hwsRealm/.well-known/openid-configuration
然后访问其中的jwks_uri对应的地址:https://localhost/auth/realms/hwsRealm/protocol/openid-connect/certs
结果就是签名公钥。
6、设置身份提供商的规则
[
{
"remote": [
{
"type": "sub"
}
],
"local": [
{
"user": {
"name": "{0}_oidc"
}
},
{
"group": {
"name": "admin"
}
}
]
}
]
7、在华为云登录页登录
8、输入租户名,选择刚才创建的oidc身份提供商登录即可
- 点赞
- 收藏
- 关注作者
评论(0)