Livegegevens configureren in Container Insights

Als u livegegevens wilt weergeven met Container Insights van AKS-clusters (Azure Kubernetes Service), configureert u verificatie om toegang te verlenen tot uw Kubernetes-gegevens. Deze beveiligingsconfiguratie maakt realtime toegang tot uw gegevens mogelijk via de Kubernetes-API rechtstreeks in Azure Portal.

Deze functie ondersteunt de volgende methoden voor het beheren van de toegang tot logboeken, gebeurtenissen en metrische gegevens:

  • AKS zonder RBAC-autorisatie (Op rollen gebaseerd toegangsbeheer) van Kubernetes ingeschakeld
  • AKS ingeschakeld met Kubernetes RBAC-autorisatie
  • AKS ingeschakeld met eenmalige aanmelding op basis van Microsoft Entra SAML

Voor deze instructies is beheerderstoegang tot uw Kubernetes-cluster vereist. Als u Microsoft Entra ID configureert voor gebruikersverificatie, hebt u ook beheerderstoegang tot Microsoft Entra-id nodig.

In dit artikel wordt uitgelegd hoe u verificatie configureert voor het beheren van de toegang tot de functie Live Data vanuit het cluster:

  • AKS-cluster met Kubernetes RBAC-functionaliteit
  • Geïntegreerd AKS-cluster van Microsoft Entra

Verificatiemodel

De functie Live Data maakt gebruik van de Kubernetes-API, die identiek is aan het kubectl opdrachtregelprogramma. De Kubernetes-API-eindpunten maken gebruik van een zelfondertekend certificaat, dat uw browser niet kan valideren. Deze functie maakt gebruik van een interne proxy om het certificaat te valideren met de AKS-service, zodat het verkeer wordt vertrouwd.

In Azure Portal wordt u gevraagd uw aanmeldingsreferenties voor een Microsoft Entra ID-cluster te valideren. U wordt omgeleid naar de installatie van de clientregistratie tijdens het maken van het cluster (en opnieuw geconfigureerd in dit artikel). Dit gedrag is vergelijkbaar met het verificatieproces dat is vereist voor kubectl.

Notitie

Autorisatie voor uw cluster wordt beheerd door Kubernetes en het beveiligingsmodel waarmee het is geconfigureerd. Gebruikers die toegang hebben tot deze functie, hebben toestemming nodig om de Kubernetes-configuratie (kubeconfig) te downloaden. Dit is vergelijkbaar met de uitvoering az aks get-credentials -n {your cluster name} -g {your resource group}.

Dit configuratiebestand bevat het autorisatie- en verificatietoken voor de gebruikersrol Azure Kubernetes Service-cluster, in het geval van Azure RBAC-clusters en AKS-clusters zonder Kubernetes RBAC-autorisatie ingeschakeld. Het bevat informatie over Microsoft Entra ID en clientregistratiegegevens wanneer AKS is ingeschakeld met eenmalige aanmelding op basis van Microsoft Entra SAML.

Voor gebruikers van deze functie is de Gebruikersrol van het Azure Kubernetes-cluster vereist om toegang te krijgen tot het cluster om deze kubeconfig functie te downloaden en te gebruiken. Gebruikers hebben geen inzendertoegang tot het cluster nodig om deze functie te kunnen gebruiken.

ClusterMonitoringUser gebruiken met Kubernetes RBAC-clusters

Om te voorkomen dat u meer configuratiewijzigingen moet toepassen om de Kubernetes-gebruikersrolbinding clusterUser toegang te geven tot de functie Live Data nadat Kubernetes RBAC-autorisatie is ingeschakeld, heeft AKS een nieuwe Kubernetes-clusterrolbinding met de naam clusterMonitoringUser toegevoegd. Deze clusterrolbinding beschikt over alle benodigde machtigingen om toegang te krijgen tot de Kubernetes-API en de eindpunten voor het gebruik van de functie Live Data.

Als u de functie Live Data met deze nieuwe gebruiker wilt gebruiken, moet u lid zijn van de rol Azure Kubernetes Service-clustergebruiker of -inzender op de AKS-clusterresource. Container insights, indien ingeschakeld, is geconfigureerd voor verificatie met behulp van clusterMonitoringUser standaard. Als de clusterMonitoringUser rolbinding niet bestaat in een cluster, wordt clusterUser gebruikt voor verificatie. Inzender geeft u toegang tot clusterMonitoringUser (indien aanwezig) en azure Kubernetes Service-clustergebruiker geeft u toegang tot clusterUser. Elk van deze twee rollen biedt voldoende toegang om deze functie te gebruiken.

AKS heeft deze nieuwe rolbinding uitgebracht in januari 2020, dus clusters die vóór januari 2020 zijn gemaakt, hebben deze niet. Als u een cluster hebt dat vóór januari 2020 is gemaakt, kan de nieuwe clusterMonitoringUser worden toegevoegd aan een bestaand cluster door een PUT-bewerking uit te voeren op het cluster. U kunt ook elke andere bewerking uitvoeren op het cluster waarmee een PUT-bewerking op het cluster wordt uitgevoerd, zoals het bijwerken van de clusterversie.

Kubernetes-cluster zonder Kubernetes RBAC ingeschakeld

Als u een Kubernetes-cluster hebt dat niet is geconfigureerd met Kubernetes RBAC-autorisatie of geïntegreerd met eenmalige aanmelding van Microsoft Entra, hoeft u deze stappen niet uit te voeren. U hebt al beheerdersmachtigingen standaard in een niet-RBAC-configuratie.

Kubernetes RBAC-autorisatie configureren

Wanneer u Kubernetes RBAC-autorisatie inschakelt, worden clusterUser en cluster Beheer gebruikt voor toegang tot de Kubernetes-API. Deze configuratie is vergelijkbaar met uitvoeren az aks get-credentials -n {cluster_name} -g {rg_name} zonder de beheeroptie. Daarom moet clusterUser toegang krijgen tot de eindpunten in de Kubernetes-API.

In de volgende voorbeeldstappen ziet u hoe u clusterrolbinding configureert vanuit deze YAML-configuratiesjabloon.

  1. Kopieer en plak het YAML-bestand en sla het op als 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. Voer de opdracht kubectl apply -f LogReaderRBAC.yamluit om uw configuratie bij te werken.

Notitie

Als u een eerdere versie van het LogReaderRBAC.yaml-bestand hebt toegepast op uw cluster, werkt u het bij door de nieuwe code te kopiëren en plakken die wordt weergegeven in stap 1. Voer vervolgens de opdracht uit die wordt weergegeven in stap 2 om deze toe te passen op uw cluster.

Geïntegreerde Microsoft Entra-verificatie configureren

Een AKS-cluster dat is geconfigureerd voor het gebruik van Microsoft Entra ID voor gebruikersverificatie, gebruikt de aanmeldingsreferenties van de persoon die toegang heeft tot deze functie. In deze configuratie kunt u zich aanmelden bij een AKS-cluster met behulp van uw Microsoft Entra-verificatietoken.

Registratie van Microsoft Entra-clients moet opnieuw worden geconfigureerd om de Azure-portal toe te staan autorisatiepagina's om te leiden als een vertrouwde omleidings-URL. Gebruikers van Microsoft Entra ID krijgen vervolgens rechtstreeks toegang tot dezelfde Kubernetes-API-eindpunten via ClusterRoles en ClusterRoleBindings.

Raadpleeg de Kubernetes-documentatie voor meer informatie over geavanceerde beveiligingsinstellingen in Kubernetes.

Notitie

Als u een nieuw Kubernetes RBAC-cluster maakt, raadpleegt u Microsoft Entra-id integreren met Azure Kubernetes Service en volgt u de stappen voor het configureren van Microsoft Entra-verificatie. Tijdens de stappen voor het maken van de clienttoepassing markeert een opmerking in deze sectie de twee omleidings-URL's die u moet maken voor Container Insights die overeenkomen met de url's die zijn opgegeven in stap 3.

Herconfiguratie van clientregistratie

  1. Zoek de clientregistratie voor uw Kubernetes-cluster in Microsoft Entra-id onder Microsoft Entra-id> App-registraties in Azure Portal.

  2. Selecteer Verificatie in het linkerdeelvenster.

  3. Voeg twee omleidings-URL's toe aan deze lijst als webtoepassingstypen . De eerste basis-URL-waarde moet zijn https://afd.hosting.portal.azure.net/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html. De tweede basis-URL-waarde moet zijn https://monitoring.hosting.portal.azure.net/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html.

    Notitie

    Als u deze functie gebruikt in Microsoft Azure beheerd door 21Vianet, moet de eerste basis-URL-waarde zijn https://afd.hosting.azureportal.chinaloudapi.cn/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html. De tweede basis-URL-waarde moet zijn https://monitoring.hosting.azureportal.chinaloudapi.cn/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html.

  4. Nadat u de omleidings-URL's hebt geregistreerd, selecteert u onder Impliciete toekenning de opties toegangstokens en id-tokens. Sla de wijzigingen vervolgens op.

U kunt verificatie met Microsoft Entra ID alleen configureren voor eenmalige aanmelding tijdens de eerste implementatie van een nieuw AKS-cluster. U kunt eenmalige aanmelding niet configureren voor een AKS-cluster dat al is geïmplementeerd.

Belangrijk

Als u Microsoft Entra-id opnieuw hebt geconfigureerd voor gebruikersverificatie met behulp van de bijgewerkte URI, wist u de cache van uw browser om ervoor te zorgen dat het bijgewerkte verificatietoken wordt gedownload en toegepast.

Toestemming

Aan elk Microsoft Entra-account moet toestemming worden verleend voor de juiste API's in Kubernetes om toegang te krijgen tot de functie Live Data. De stappen voor het verlenen van het Microsoft Entra-account zijn vergelijkbaar met de stappen die worden beschreven in de sectie Kubernetes RBAC-verificatie . Voordat u de YAML-configuratiesjabloon toepast op uw cluster, vervangt u clusterUser onder ClusterRoleBinding door de gewenste gebruiker.

Belangrijk

Als de gebruiker waarvoor u de Kubernetes RBAC-binding verleent zich in dezelfde Microsoft Entra-tenant bevindt, wijst u machtigingen toe op userPrincipalNamebasis van . Als de gebruiker zich in een andere Microsoft Entra-tenant bevindt, moet u de objectId eigenschap opvragen en gebruiken.

Zie Kubernetes RBAC-binding maken voor meer hulp bij het configureren van uw AKS-cluster ClusterRoleBinding.

Volgende stappen

Nu u verificatie hebt ingesteld, kunt u metrische gegevens en gebeurtenissen en logboeken in realtime vanuit uw cluster bekijken.