OpenShift 4 - 为 RHACS 配置 OpenShift 和 KeyCloak 身份认证

《OpenShift / RHEL / DevSecOps 汇总目录》
说明:本文已经在 RHACS 4.1.2 + RHSSO 7.6 的环境中验证

文章目录

  • 安装 RHACS 和 RHSSO
  • 为 RHACS 配置基于 OpenShift 的认证方式
  • 为 RHACS 配置基于 KeyCloak 的认证方式
    • 设置 Realm 和 user
    • 配置 RHACS 的 Auth Provider
  • 参考

安装 RHACS 和 RHSSO

可参考以下博文安装 RHACS 和 RHSSO:

  • 《OpenShift Security (2) - 安装 Red Hat Advanced Cluster Security(RHACS)》
  • 《OpenShift 4 - 配置基于 Red Hat SSO 的 Identity Providers(附视频)》

为 RHACS 配置基于 OpenShift 的认证方式

  1. 在 RHACS 控制台中进入 Access Control,然后在 Create auth provider 下拉菜单中选中 OpenShift Auth。
    OpenShift 4 - 为 RHACS 配置 OpenShift 和 KeyCloak 身份认证_第1张图片
  2. 在 Create OpenShift Auth Provider 页面中提供 Name,可将 Minimum access role 选为 None。然后如下图添加一个 Rules,将 Value 设为 OpenShift 已有的一个用户,然后将 Role 设为 Admin。
    OpenShift 4 - 为 RHACS 配置 OpenShift 和 KeyCloak 身份认证_第2张图片
  3. 在配置好后可以在创建好的 Auth provider 进行测试,测试时选中 openshift-auth。在弹出窗口如果使用在上一步 Rules 指定的用户登录,则可看到以下成功提示:
    OpenShift 4 - 为 RHACS 配置 OpenShift 和 KeyCloak 身份认证_第3张图片
    如在弹出窗口如果使用 OpenShift 的其他用户登录,则可看到以下提示,说明该用户无权登录 RHACS。
    OpenShift 4 - 为 RHACS 配置 OpenShift 和 KeyCloak 身份认证_第4张图片

为 RHACS 配置基于 KeyCloak 的认证方式

设置 Realm 和 user

  1. 在 Keycloak 中创建名为 rhacs 的 realm。
    OpenShift 4 - 为 RHACS 配置 OpenShift 和 KeyCloak 身份认证_第5张图片
  2. 点击上图 realm 设置页面的 Endpoints 后的链接,在弹出窗口中记下 issuer 对应的地址。
    “issuer”:“https://keycloak-rhsso.apps.cluster-rmk8c.rmk8c.sandbox85.opentlc.com/auth/realms/rhacs”
  3. 在 realm 的 clients 中进入 account, 打开 Implicit Flow Enabled 选项,并在 Valid Redirect URIs 中增加以下 2 行 (请用自己的 RHACS 控制台访问地址替换链接中的内容)。
    https://central-stackrox.apps.cluster-rmk8c.rmk8c.sandbox85.opentlc.com/auth/response/oidc
    https://central-stackrox.apps.cluster-rmk8c.rmk8c.sandbox85.opentlc.com/sso/providers/oidc/callback
    OpenShift 4 - 为 RHACS 配置 OpenShift 和 KeyCloak 身份认证_第6张图片
  4. 在 rhacs realm 中的 Users 里添加一个用户 acsadmin,并设置密码。另外请记录下该用户的 ID。
    OpenShift 4 - 为 RHACS 配置 OpenShift 和 KeyCloak 身份认证_第7张图片

配置 RHACS 的 Auth Provider

  1. 进入 RHACS 的 Access Control,然后在 Create auth provider 下拉菜单中选中 OpenID Connect。
  2. 在以下 OpenID Connect provider 配置页面中将 Name 设为 keycloak-auth,再为 Issuer 提供在 Keycloak 配置过程中获得的 Issuer 地址,然后选中 Donot use Client Secret 选项。注意:蓝色部分的 2 个 callback URLs 就是前面在 Keycloak 中的 Valid Redirect URIs 配置地址。
    OpenShift 4 - 为 RHACS 配置 OpenShift 和 KeyCloak 身份认证_第8张图片
  3. 可将 Minimum access role 选为 None,然后在 Rules 中使用 userid 和前面在 Keycloak 获得的用户 ID 对应RHACS 的 Admin 角色。
  4. 设置完后可以对 Auth Provider 进行测试,测试时选中 keycloak-auth。
    OpenShift 4 - 为 RHACS 配置 OpenShift 和 KeyCloak 身份认证_第9张图片
    OpenShift 4 - 为 RHACS 配置 OpenShift 和 KeyCloak 身份认证_第10张图片
  5. 测试成功后将显示一下提示,即登录用户 ID 对应的 Admin 角色。
    OpenShift 4 - 为 RHACS 配置 OpenShift 和 KeyCloak 身份认证_第11张图片

参考

https://cloud.redhat.com/blog/red-hat-advanced-cluster-security-a-guide-to-authentication

你可能感兴趣的:(openshift,java,数据库)