共用方式為


已啟用 Azure Arc 的 Kubernetes 叢集的 Azure RBAC

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

架構

顯示 Azure RBAC 架構的圖表。

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

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

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

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

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

下一步