已啟用 Azure Arc 的 Kubernetes 身分識別和存取概觀
您可以驗證、授權和控制對已啟用 Azure Arc 的 Kubernetes 叢集的存取。 本主題概述了使用已啟用 Arc 的 Kubernetes 叢集進行這項操作的選項。
下圖顯示這些不同選項的使用方式:
您也可以同時使用叢集連線和 Azure RBAC,如果這最適合您需求的話。
連線選項
規劃使用者如何驗證和存取已啟用 Arc 的 Kubernetes 叢集時,第一個決策為您是否想要使用叢集連線功能。
叢集連線
已啟用 Azure Arc 的 Kubernetes 叢集連線功能提供與叢集 apiserver
的連線。 此連線不需要在防火牆上啟用任何輸入連接埠。 在叢集上執行的反向 Proxy 代理程式,能運用輸出方式,安全啟動 Azure Arc 服務的工作階段。
透過叢集連線,您可以在 Azure 內或從網際網路存取已啟用 Arc 的叢集。 這項功能有助於啟用互動式偵錯和疑難排解案例。 當新使用者需要權限時,叢集連線也可能需要較少的更新互動。 本文所述的所有授權和驗證選項都適用於叢集連線。
如果您想要使用自訂位置,或從 Azure 入口網站檢視 Kubernetes 資源,則需要叢集連線。
如需詳細資訊,請參閱使用叢集連線以安全地連線到已啟用 Azure Arc 的 Kubernetes 叢集。
沒有叢集連線的 Microsoft Entra ID 和 Azure RBAC
如果不想要使用叢集連線,您可以驗證和授權使用者,讓他們可以使用 Microsoft Entra ID 和 Azure 角色型存取控制 (Azure RBAC) 存取連線的叢集。 在已啟用 Azure Arc 的 Kubernetes 上使用 Azure RBAC 可讓您控制對租用戶中使用者授與的存取權,進而使用熟悉的 Azure 身分識別和存取功能直接從 Azure 管理存取權。 您也可以在訂用帳戶或資源群組範圍設定角色,讓這些角色推出至該範圍內所有連線的叢集。
Azure RBAC 支援條件式存取,可讓您啟用 Just-In-Time 叢集存取,或限制對已核准用戶端或裝置的存取。
Azure RBAC 也支援直接通訊模式,此模式會使用 Microsoft Entra 身分識別直接從資料中心內存取已連線的叢集,而不是要求所有連線通過 Azure。
已啟用 Arc 的 Kubernetes 上的 Azure RBAC 目前處於公開預覽狀態。 如需詳細資訊,請參閱在已啟用 Azure Arc 的 Kubernetes 叢集上使用 Azure RBAC。
驗證選項
驗證是驗證使用者身分識別的流程。 對已啟用 Arc 的 Kubernetes 叢集進行驗證有兩個選項:叢集連線和 Azure RBAC。
Microsoft Entra 驗證
已啟用 Arc 的 Kubernetes 上的 Azure RBAC 功能可讓您使用 Microsoft Entra ID,以允許 Azure 租用戶中的使用者存取已連線的 Kubernetes 叢集。
您也可以搭配叢集連線使用 Microsoft Entra 驗證。 如需詳細資訊,請參閱 Microsoft Entra 驗證選項。
服務權杖驗證
使用叢集連線,您可以選擇透過服務帳戶進行驗證。
如需詳細資訊,請參閱服務帳戶權杖驗證選項。
授權選項
授權會授與已驗證的使用者執行所指定動作的權限。 使用已啟用 Azure Arc 的 Kubernetes,有兩個授權選項,兩者都會使用角色型存取控制 (RBAC):
- Azure 角色型存取控制 (Azure RBAC) 會使用 Microsoft Entra ID 和 Azure Resource Manager,提供 Azure 資源的精細存取管理。 這允許 Azure 角色指派 (例如追蹤所有已進行變更的活動記錄) 能夠與已啟用 Azure Arc 的 Kubernetes 叢集搭配使用的優點。
- Kubernetes 角色型存取控制 (Kubernetes RBAC) 可讓您透過 Kubernetes API 動態設定原則,以便使用者、群組和服務帳戶只能存取特定的叢集資源。
雖然 Kubernetes RBAC 僅適用於叢集內的 Kubernetes 資源,但 Azure RBAC 適用於跨 Azure 訂用帳戶的資源。
Azure RBAC 授權
Azure 角色型存取控制 (RBAC) 是建置於 Azure Resource Manager 和 Microsoft Entra ID 上的授權系統,其會提供精細的 Azure 資源存取管理。 使用 Azure RBAC,角色定義會概述要套用的權限。 您可以透過特定範圍的角色指派,將這些角色指派給使用者或群組。 範圍可以跨越整個訂用帳戶,也可以限制為資源群組或個別資源,例如 Kubernetes 叢集。
如果您使用沒有叢集連線的 Microsoft Entra 驗證,則 Azure RBAC 授權是您唯一的授權選項。
如果您使用叢集連線,搭配 Microsoft Entra 驗證,您可以選擇使用 Azure RBAC 來連線到叢集的 apiserver
。 如需詳細資訊,請參閱 Microsoft Entra 驗證選項。
Kubernetes RBAC 授權
Kubernetes RBAC 提供使用者動作的細微篩選。 使用 Kubernetes RBAC,您可為使用者或群組指派權限,使其能夠建立和修改資源,或檢視來自執行中應用程式工作負載的記錄。 您可以建立角色來定義權限,然後藉由角色繫結將這些角色指派給使用者。 權限的範圍可以限定為單一命名空間或跨越整個叢集。
如果您使用叢集連線,搭配服務帳戶權杖驗證選項,您必須使用 Kubernetes RBAC 來提供叢集 apiserver
的連線。 此連線不需要在防火牆上啟用任何輸入連接埠。 在叢集上執行的反向 Proxy 代理程式,能運用輸出方式,安全啟動 Azure Arc 服務的工作階段。
如果您使用叢集連線搭配 Microsoft Entra 驗證,則亦可選擇使用 Kubernetes RBAC,而不是 Azure RBAC。