AKS 的身分識別和存取管理考慮
本文提供使用 Azure Kubernetes Service (AKS) 時身分識別和存取管理的設計考慮和建議。 身分識別和存取管理有多個層面,包括叢集身分識別、工作負載身分識別和操作員存取。
設計考量
- 決定要使用的叢集身分識別( 受控識別 或服務 主體 )。
- 決定如何驗證叢集存取:根據用戶端憑證或透過 Microsoft Entra ID 。
- 決定 多租使用者叢集 ,以及如何在 Kubernetes 中設定角色型存取控制 (RBAC)。
- 判斷 AKS 登陸區域的 自訂 Azure RBAC 角色 許可權。
- 決定網站可靠性工程 (SRE) 角色需要哪些許可權,讓該角色能夠管理及疑難排解整個叢集。
- 決定 SecOps 所需的許可權。
- 決定登陸區域擁有者所需的許可權。
- 決定應用程式小組部署至叢集所需的許可權。
- 決定是否需要工作負載身分識別( Microsoft Entra 工作負載 ID )。 您可能需要這些服務,例如 Azure 金鑰保存庫 整合和 Azure Cosmos DB。
設計建議
- 叢集身分識別。
- 針對 AKS 叢集使用您自己的 受控識別 。
- 定義 AKS 登陸區域的自訂 Azure RBAC 角色,以簡化叢集受控識別所需許可權的管理。
- 叢集存取。
- 使用 Kubernetes RBAC 搭配 Microsoft Entra ID 來 限制許可權 ,並將系統管理員許可權降到最低。 這樣做有助於保護設定和秘密存取。
- 使用 AKS 管理的 Microsoft Entra 整合 ,讓您可以使用 Microsoft Entra 識別碼進行驗證和操作員和開發人員存取。
- 在 Kubernetes 中定義必要的 RBAC 角色和角色系結。
- 使用 Kubernetes 角色和角色系結 至 Microsoft Entra 群組,以進行網站可靠性工程 (SRE)、SecOps 和開發人員存取。
- 請考慮使用 適用于 Kubernetes 的 Azure RBAC,以跨 Azure 資源、AKS 和 Kubernetes 資源進行統一管理和存取控制。 啟用適用于 Kubernetes 的 Azure RBAC 時,您不需要個別管理 Kubernetes 的使用者身分識別和認證。 Microsoft Entra 主體將由 Azure RBAC 獨佔驗證,但 Kubernetes RBAC 會獨佔驗證一般 Kubernetes 使用者和服務帳戶。
- 視需要授與 SRE 完整存取權。
- 在 Azure 登陸區域中 使用 Microsoft Entra ID 和 身分識別和存取管理中的 Privileged Identity Management。
- 針對 Kubernetes 使用 Microsoft Entra 工作負載 ID。 當您實作此同盟時,開發人員可以使用原生 Kubernetes 服務帳戶和同盟來存取由 Microsoft Entra ID 管理的資源,例如 Azure 和 Microsoft Graph。