2.5. 配置身份提供程序并授予集群访问权限
Red Hat OpenShift Service on AWS (ROSA )包括内置 OAuth 服务器。创建 ROSA 集群后,您必须将 OAuth 配置为使用身份提供程序。然后,您可以在配置的身份提供程序中添加成员以授予它们对集群的访问权限。
您还可以根据需要为身份提供程序用户授予具有 cluster-admin
或 dedicated-admin
特权的身份提供程序用户。
2.5.1. 配置身份提供程序 复制链接链接已复制到粘贴板!
您可以在 AWS (ROSA) 集群上为 Red Hat OpenShift Service 配置不同的身份提供程序类型。支持的类型包括 GitHub、GitHub Enterprise、GitLab、Google、LDAP、OpenID Connect 和 htpasswd 身份提供程序。
htpasswd 身份提供程序选项仅用于创建单一静态管理用户。htpasswd 不支持作为 Red Hat OpenShift Service on AWS 的通用身份提供程序。
以下流程将 GitHub 身份提供程序配置为示例。
前提条件
- 您有一个 AWS 帐户。
-
在您的工作站上安装和配置了最新的 Red Hat OpenShift Service on AWS (ROSA) CLI
rosa
。 -
您可以使用 ROSA CLI (
rosa
)登录到您的红帽帐户。 - 您创建了 ROSA 集群。
- 您有一个 GitHub 用户帐户。
流程
- 进入 github.com 并登录到您的 GitHub 帐户。
- 如果您没有用于置备 ROSA 集群的现有 GitHub 组织,请创建一个。按照 GitHub 文档中的步骤操作。
为集群配置 GitHub 身份提供程序,仅限于 GitHub 组织的成员。
使用互动模式配置身份提供程序:
rosa create idp --cluster=<cluster_name> --interactive
$ rosa create idp --cluster=<cluster_name> --interactive
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<cluster_name>
替换为集群的名称。
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 使用您的 GitHub 机构的名称替换
<github_org_name>
。
使用输出中的 URL 并选择 Register application,在 GitHub 组织中注册新的 OAuth 应用程序。通过注册应用程序,您可以启用 ROSA 中构建的 OAuth 服务器,以便验证您的 GitHub 组织的成员到集群中。
注意Register a new OAuth application GitHub 表单中的字段通过 ROSA CLI 定义的 URL 自动填充所需的值。
使用 GitHub OAuth 应用页面中的信息填充剩余的
rosa create idp
交互式提示。持续的输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意激活身份提供商配置的过程可能需要大约两分钟。如果您配置了
cluster-admin
用户,可以通过运行oc get pods -n openshift-authentication --watch
来监控使用更新的配置重新部署 OAuth pod。输入以下命令验证身份提供程序是否已正确配置:
rosa list idps --cluster=<cluster_name>
$ rosa list idps --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME TYPE AUTH URL github-1 GitHub https://oauth-openshift.apps.<cluster_name>.<random_string>.p1.openshiftapps.com/oauth2callback/github-1
NAME TYPE AUTH URL github-1 GitHub https://oauth-openshift.apps.<cluster_name>.<random_string>.p1.openshiftapps.com/oauth2callback/github-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
- 有关配置每个支持的身份提供程序类型的详细步骤,请参阅为 STS 配置身份提供程序
2.5.2. 授予用户对集群的访问权限 复制链接链接已复制到粘贴板!
您可以通过将 Red Hat OpenShift Service 添加到您配置的身份供应商,授予用户对 Red Hat OpenShift Service on AWS (ROSA) 集群的访问权限。
您可以为 ROSA 集群配置不同类型的身份提供程序。以下示例流程将用户添加到配置为集群身份的 GitHub 机构中。
前提条件
- 您有一个 AWS 帐户。
-
在您的工作站上安装和配置了最新的 Red Hat OpenShift Service on AWS (ROSA) CLI
rosa
。 -
您可以使用 ROSA CLI (
rosa
)登录到您的红帽帐户。 - 您创建了 ROSA 集群。
- 您有一个 GitHub 用户帐户。
- 您已为集群配置了 GitHub 身份提供程序。
流程
- 进入 github.com 并登录到您的 GitHub 帐户。
- 邀请需要访问您的 GitHub 机构 ROSA 集群的用户。按照 GitHub 文档中的邀请用户加入到您的机构 。
2.5.3. 为用户授予管理员权限 复制链接链接已复制到粘贴板!
将用户添加到配置的身份提供程序后,您可以在 AWS (ROSA) 集群中为 Red Hat OpenShift Service 授予用户 cluster-admin
或 dedicated-admin
权限。
前提条件
- 您有一个 AWS 帐户。
-
在您的工作站上安装和配置了最新的 Red Hat OpenShift Service on AWS (ROSA) CLI
rosa
。 -
您可以使用 ROSA CLI (
rosa
)登录到您的红帽帐户。 - 您创建了 ROSA 集群。
- 您已为集群配置了 GitHub 身份提供程序,并添加了身份提供程序用户。
流程
为身份提供程序用户配置
cluster-admin
权限:授予用户
cluster-admin
权限:rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
$ rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 使用身份提供程序用户和集群名称替换
<idp_user_name>
和<cluster_name>
。
输出示例
I: Granted role 'cluster-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
I: Granted role 'cluster-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证该用户是否被列为
cluster-admins
组的成员:rosa list users --cluster=<cluster_name>
$ rosa list users --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
ID GROUPS <idp_user_name> cluster-admins
ID GROUPS <idp_user_name> cluster-admins
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
为身份提供程序用户配置
dedicated-admin
权限:授予用户
dedicated-admin
权限:rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
$ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
I: Granted role 'dedicated-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
I: Granted role 'dedicated-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证该用户是否被列为
dedicated-admins
组的成员:rosa list users --cluster=<cluster_name>
$ rosa list users --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
ID GROUPS <idp_user_name> dedicated-admins
ID GROUPS <idp_user_name> dedicated-admins
Copy to Clipboard Copied! Toggle word wrap Toggle overflow