身分識別和存取管理

本節中的主題說明如何在具有獨立管理叢集的 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 之間的驗證流程。綠色箭頭代表工作負載叢集、管理叢集與外部 IdP 之間的 Tanzu CLI 和 kubectl 流量。

Tanzu Kubernetes Grid 中的身分識別管理

身分識別管理元件

下圖顯示當您啟用身分識別管理時,Tanzu Kubernetes Grid 部署在管理叢集和工作負載叢集中的身分識別管理元件。

Tanzu Kubernetes Grid 中的身分識別管理架構

瞭解此圖:

  • 帶有紫色邊框的長方形顯示身分識別管理元件,其中包括管理叢集中的 Pinniped、Dex 和部署後工作,以及工作負載叢集中的 Pinniped 和部署後工作。Dex 僅針對 LDAP 提供者部署。如果您設定 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