Konfigurace živých dat v Přehledech kontejnerů

Pokud chcete zobrazit živá data pomocí přehledů kontejnerů z clusterů Azure Kubernetes Service (AKS), nakonfigurujte ověřování tak, aby udělil oprávnění pro přístup k datům Kubernetes. Tato konfigurace zabezpečení umožňuje přístup k datům v reálném čase prostřednictvím rozhraní KUBERNEtes API přímo na webu Azure Portal.

Tato funkce podporuje následující metody řízení přístupu k protokolům, událostem a metrikám:

  • AKS bez povolení řízení přístupu na základě role (RBAC) Kubernetes
  • Povolení AKS s autorizací RBAC Kubernetes
  • Povolení AKS s jednotným přihlašováním založeným na Microsoft Entra SAML

Tyto pokyny vyžadují přístup správce ke clusteru Kubernetes. Pokud konfigurujete použití Microsoft Entra ID pro ověřování uživatelů, potřebujete také přístup pro správu k Microsoft Entra ID.

Tento článek vysvětluje, jak nakonfigurovat ověřování pro řízení přístupu k funkci Live Data z clusteru:

  • Cluster AKS s podporou RBAC Kubernetes
  • Integrovaný cluster AKS od Microsoftu Entra

Režim ověřování

Funkce Live Data používá rozhraní API Kubernetes, které je identické s nástrojem příkazového kubectl řádku. Koncové body rozhraní API Kubernetes používají certifikát podepsaný svým držitelem, který váš prohlížeč nebude moct ověřit. Tato funkce používá interní proxy server k ověření certifikátu ve službě AKS a zajišťuje, že provoz je důvěryhodný.

Azure Portal vás vyzve k ověření přihlašovacích údajů pro cluster Microsoft Entra ID. Během vytváření clusteru vás přesměruje na nastavení registrace klienta (a v tomto článku se překonfiguruje). Toto chování se podobá procesu ověřování, který kubectlvyžaduje .

Poznámka:

Autorizaci ke clusteru spravuje Kubernetes a model zabezpečení, se kterým je nakonfigurovaný. Uživatelé, kteří přistupují k této funkci, vyžadují oprávnění ke stažení konfigurace Kubernetes (kubeconfig), která se podobá spuštění az aks get-credentials -n {your cluster name} -g {your resource group}.

Tento konfigurační soubor obsahuje autorizační a ověřovací token pro roli uživatele clusteru Azure Kubernetes Service v případě povolených azure RBAC a clusterů AKS bez povolené autorizace RBAC Kubernetes. Obsahuje informace o ID Microsoft Entra a podrobnostech o registraci klienta, pokud je povolená služba AKS s jednotným přihlašováním založeným na Microsoft Entra SAML.

Uživatelé této funkce vyžadují, aby role uživatele clusteru Azure Kubernetes přistupovala ke clusteru, aby si stáhli a používali kubeconfig tuto funkci. Uživatelé k použití této funkce nevyžadují přístup přispěvatele ke clusteru.

Použití clusterMonitoringUser s clustery s podporou RBAC Kubernetes

Aby se po povolení autorizace RBAC Kubernetes vyloučila potřeba použít další změny konfigurace, které umožní clusteru clusterurole uživatele Kubernetes po povolení autorizace RBAC Kubernetes, služba AKS přidala novou vazbu role clusteru Kubernetes s názvem clusterMonitoringUser. Tato vazba role clusteru má všechna potřebná oprávnění k přístupu k rozhraní Kubernetes API a koncovým bodům pro použití funkce Live Data.

Pokud chcete používat funkci Live Data s tímto novým uživatelem, musíte být členem role uživatele nebo přispěvatele clusteru Azure Kubernetes Service u prostředku clusteru AKS. Pokud je služba Container Insights povolená, je ve výchozím nastavení nakonfigurovaná tak, aby se ověřila clusterMonitoringUser . Pokud vazba clusterMonitoringUser role v clusteru neexistuje, použije se místo toho clusterUser k ověřování. Přispěvatel vám poskytne přístup clusterMonitoringUser (pokud existuje) a uživatel clusteru Azure Kubernetes Service vám poskytne přístup ke clusteruUser. Každá z těchto dvou rolí poskytuje dostatečný přístup k použití této funkce.

Služba AKS vydala tuto novou vazbu rolí v lednu 2020, takže clustery vytvořené před lednem 2020 ji nemají. Pokud máte cluster vytvořený před lednem 2020, můžete nový clusterMonitoringUser přidat do existujícího clusteru provedením operace PUT v clusteru. Nebo můžete v clusteru provést jakoukoli jinou operaci, která provádí operaci PUT v clusteru, například aktualizaci verze clusteru.

Cluster Kubernetes bez povoleného RBAC Kubernetes

Pokud máte cluster Kubernetes, který není nakonfigurovaný s autorizací RBAC Kubernetes nebo integrovaným s jednotným přihlašováním Microsoft Entra, nemusíte postupovat podle těchto kroků. Oprávnění správce už máte ve výchozím nastavení v konfiguraci jiného typu než RBAC.

Konfigurace autorizace RBAC Kubernetes

Když povolíte autorizaci RBAC Kubernetes, clusterUser a cluster Správa se použijí pro přístup k rozhraní API Kubernetes. Tato konfigurace se podobá spuštění az aks get-credentials -n {cluster_name} -g {rg_name} bez možnosti správy. Z tohoto důvodu musí mít clusterUser udělený přístup ke koncovým bodům v rozhraní Kubernetes API.

Následující příklad kroků ukazuje, jak nakonfigurovat vazbu role clusteru z této konfigurační šablony YAML.

  1. Zkopírujte a vložte soubor YAML a uložte ho jako LogReaderRBAC.yaml.

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
       name: containerHealth-log-reader
    rules:
        - apiGroups: ["", "metrics.k8s.io", "extensions", "apps"]
          resources:
             - "pods/log"
             - "events"
             - "nodes"
             - "pods"
             - "deployments"
             - "replicasets"
          verbs: ["get", "list"]
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
       name: containerHealth-read-logs-global
    roleRef:
       kind: ClusterRole
       name: containerHealth-log-reader
       apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: User
      name: clusterUser
      apiGroup: rbac.authorization.k8s.io
    
  2. Pokud chcete aktualizovat konfiguraci, spusťte příkaz kubectl apply -f LogReaderRBAC.yaml.

Poznámka:

Pokud jste v clusteru použili předchozí verzi souboru LogReaderRBAC.yaml , aktualizujte ho zkopírováním a vložením nového kódu uvedeného v kroku 1. Potom spusťte příkaz zobrazený v kroku 2, abyste ho použili na cluster.

Konfigurace integrovaného ověřování Microsoft Entra

Cluster AKS nakonfigurovaný tak, aby pro ověřování uživatelů používal ID Microsoft Entra, používá přihlašovací údaje osoby, která k této funkci přistupuje. V této konfiguraci se můžete přihlásit ke clusteru AKS pomocí ověřovacího tokenu Microsoft Entra.

Registrace klienta Microsoft Entra musí být překonfigurovaná tak, aby portál Azure Portal přesměrovává autorizační stránky jako důvěryhodnou adresu URL pro přesměrování. Uživatelům z ID Microsoft Entra se pak udělí přístup přímo ke stejným koncovým bodům rozhraní API Kubernetes prostřednictvím rolí clusteru a clusteruRoleBindings.

Další informace o pokročilém nastavení zabezpečení v Kubernetes najdete v dokumentaci k Kubernetes.

Poznámka:

Pokud vytváříte nový cluster s podporou RBAC Kubernetes, přečtěte si téma Integrace ID Microsoft Entra se službou Azure Kubernetes Service a podle kroků nakonfigurujte ověřování Microsoft Entra. Během kroků pro vytvoření klientské aplikace se v této části zvýrazní dvě adresy URL pro přesměrování, které je potřeba vytvořit pro přehledy kontejnerů odpovídající těm, které jsou uvedené v kroku 3.

Rekonfigurace registrace klienta

  1. Vyhledejte registraci klienta pro váš cluster Kubernetes v ID Microsoft Entra v části Microsoft Entra ID> Registrace aplikací na webu Azure Portal.

  2. V levém podokně vyberte Ověřování.

  3. Přidejte do tohoto seznamu dvě adresy URL pro přesměrování jako typy webových aplikací. První základní hodnota adresy URL by měla být https://afd.hosting.portal.azure.net/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html. Druhá základní hodnota adresy URL by měla být https://monitoring.hosting.portal.azure.net/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html.

    Poznámka:

    Pokud používáte tuto funkci v Microsoft Azure provozovaném společností 21Vianet, měla by být https://afd.hosting.azureportal.chinaloudapi.cn/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.htmlprvní základní hodnota adresy URL . Druhá základní hodnota adresy URL by měla být https://monitoring.hosting.azureportal.chinaloudapi.cn/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html.

  4. Po registraci adres URL pro přesměrování v části Implicitní udělení vyberte možnosti Přístupové tokeny a tokeny ID. Potom změny uložte.

Ověřování pomocí Microsoft Entra ID pro jednotné přihlašování můžete nakonfigurovat pouze během počátečního nasazení nového clusteru AKS. Pro cluster AKS, který je už nasazený, nemůžete nakonfigurovat jednotné přihlašování.

Důležité

Pokud jste překonfigurovali MICROSOFT Entra ID pro ověřování uživatelů pomocí aktualizovaného identifikátoru URI, vymažte mezipaměť prohlížeče, aby se zajistilo, že se aktualizovaný ověřovací token stáhne a použije.

Udělení oprávnění

Každý účet Microsoft Entra musí mít udělená oprávnění k příslušným rozhraním API v Kubernetes pro přístup k funkci Live Data. Postup udělení účtu Microsoft Entra je podobný krokům popsaným v části ověřování RBAC Kubernetes. Před použitím šablony konfigurace YAML pro váš cluster nahraďte clusterUser v části ClusterRoleBinding požadovaným uživatelem.

Důležité

Pokud uživatel, kterému udělíte vazbu RBAC Kubernetes, je ve stejném tenantovi Microsoft Entra, přiřaďte oprávnění na userPrincipalNamezákladě . Pokud je uživatel v jiném tenantovi Microsoft Entra, zadejte dotaz na vlastnost a použijte ji objectId .

Další pomoc s konfigurací clusteru AKS ClusterRoleBinding najdete v tématu Vytvoření vazby RBAC Kubernetes.

Další kroky

Teď, když jste nastavili ověřování, můžete zobrazit metriky a události a protokoly v reálném čase z clusteru.