身份和访问管理

本节中的主题介绍了如何在具有独立管理集群的 Tanzu Kubernetes Grid (TKG) 中配置身份和访问管理。

要启用和配置身份与访问管理,请遵循以下链接的主题:

  1. 配置身份管理
  2. 配置 RBAC

关于身份和访问管理

Tanzu Kubernetes Grid (TKG) 使用 Pinniped 对身份和访问管理实施身份验证和授权。

身份验证

Tanzu Kubernetes Grid 使用 Pinniped (Kubernetes 集群的开源身份验证服务)实施用户身份验证。Pinniped 允许您将外部 OpenID Connect (OIDC) 或 LDAP 身份提供程序 (IdP) 插入工作负载集群,以便您可以控制用户对这些集群的访问。对于 LDAP 身份验证,Pinniped 使用 Dex 作为连接到上游 LDAP IdP 的端点。如果使用 OIDC,Pinniped 会提供自己的端点,因此不需要 Dex。如果启用身份管理,Pinniped 和 Dex 会自动作为管理集群中的集群内服务运行。有关如何在 Tanzu Kubernetes Grid 中启用身份管理的说明,请参见配置身份管理

管理集群和工作负载集群之间的身份验证流程包括:

  • Tanzu Kubernetes Grid管理员在管理集群上启用和配置身份管理,并指定外部 LDAP 或 OIDC IdP。
  • 身份验证服务组件使用管理员指定的 LDAP 或 OIDC IdP 详细信息部署到管理集群中。
  • 管理员创建工作负载集群。工作负载集群从管理集群继承身份验证配置。
  • 管理员创建角色绑定,以将给定用户与工作负载集群上的给定角色相关联。
  • 管理员向用户提供工作负载集群的 kubeconfig
  • 用户使用 kubeconfig 连接到工作负载集群,例如,通过运行 kubectl get pods --kubeconfig
  • 管理集群使用 IdP 对用户进行身份验证。
  • 工作负载集群允许或拒绝 kubectl get pods 请求,具体取决于用户角色的权限。

在下图中,蓝色箭头表示工作负载集群、管理集群和外部 IdP 之间的身份验证流。绿色箭头表示 Tanzu CLI 和工作负载集群、管理集群和外部 IdP 之间的 Tanzu CLI 和 kubectl 流量。

Tanzu Kubernetes Grid中的身份管理

身份管理组件

下图显示了启用身份管理时,Tanzu Kubernetes Grid 部署在管理集群和工作负载集群中的身份管理组件。

Tanzu Kubernetes Grid中的身份管理体系结构

了解此图:

  • 紫色边框长方形显示身份管理组件,其中包括管理集群中的 Pinniped、Dex 和部署后作业,以及工作负载集群中的 Pinniped 和部署后作业。在 Tanzu Kubernetes Grid v1.3.0 中,Pinniped 使用 Dex 作为 OIDC 和 LDAP 提供程序的端点。在 v1.3.1 及更高版本中,仅为 LDAP 提供程序部署 Dex。如果在 v1.3.1 及更高版本中配置 OIDC 提供程序,Pinniped 将直接与您的提供程序进行通信,而无需通过 Dex。

  • 灰色边框长方形显示 Tanzu Kubernetes Grid 用于控制身份管理组件生命周期的组件,其中包括 Tanzu CLI、tanzu-addons-managerkapp-controller

  • 绿色边框长方形显示为管理集群创建的 Pinniped 附加项密钥。

  • 管理集群中的橙色边框长方形显示为工作负载集群创建的 Pinniped 附加项密钥。密钥将镜像到工作负载集群。

在内部,Tanzu Kubernetes Grid 将身份管理组件部署为自动管理的软件包,pinniped。此软件包包含 pinniped 附加项。部署已启用身份管理的管理集群或将其作为部署后步骤启用时,Tanzu CLI 将为管理集群中的 pinniped 附加项创建 Kubernetes 密钥。tanzu-addons-manager 将读取包含 IdP 配置信息的密钥,并指示 kapp-controller 使用密钥中的配置信息配置 pinniped 附加项。

Tanzu CLI 会为从管理集群部署的每个工作负载集群创建单独的 pinniped 附加项密钥。所有密钥都存储在管理集群中。有关详细信息,请参见自动管理的软件包

授权

Tanzu Kubernetes Grid 使用基于角色的访问控制 (RBAC) 授权。有关如何配置 RBAC 的说明,请参见配置 RBAC

高级配置和故障排除

check-circle-line exclamation-circle-line close-line
Scroll to top icon