已啟用 Azure Arc 的 Kubernetes 叢集上的 Azure RBAC (預覽)

Kubernetes ClusterRoleBinding 和 RoleBinding 物件類型有助於原生定義 Kubernetes 中的授權。 透過 Azure RBAC,您可以使用 Azure 中的 Microsoft Entra ID 和角色指派來控制叢集上的授權檢查。 這可讓 Azure 角色指派的優點 (例如顯示對 Azure 資源的所有 Azure RBAC 變更的活動記錄) 能夠與已啟用 Azure Arc 的 Kubernetes 叢集一起使用。

重要

已啟用 Azure Arc 的 Kubernetes 預覽功能可在自助服務選擇基礎上取得。 預覽會以「現狀」和「可供使用時」提供,其其不受服務等級協定和有限瑕疵擔保所保護。 客戶支援部門會盡最大努力,支援部分已啟用 Azure Arc 的 Kubernetes 預覽功能。

架構

Diagram showing Azure RBAC architecture.

為了將所有授權存取檢查路由傳送至 Azure 中的授權服務,叢集上會部署 Webhook 伺服器 (防護)。

叢集的 apiserver 會設定為使用 Webhook 權杖驗證Webhook 授權,以便將 TokenAccessReviewSubjectAccessReview 要求路由傳送至防護 Webhook 伺服器。 TokenAccessReviewSubjectAccessReview 要求會由傳送至 apiserver 的 Kubernetes 資源要求所觸發。

接著,防護會對 Azure 中的授權服務發出 checkAccess 呼叫,以查看提出要求的 Microsoft Entra 實體是否有相關資源的存取權。

如果該實體具有允許此存取的角色,則會從授權服務中將 allowed 回應傳送給防護。 接著,防護會將 allowed 回應傳送給 apiserver,讓發出呼叫的實體能夠存取所要求的 Kubernetes 資源。

如果該實體沒有允許此存取的角色,則會從授權服務中將 denied 回應傳送給防護。 防護會將 denied 回應傳送給 apiserver,以針對所要求的資源向發出呼叫的實體提供 403 禁止錯誤。

下一步