Configurare dati live in Informazioni dettagliate sui contenitori

Per visualizzare i dati in tempo reale con Informazioni dettagliate sui contenitori dai cluster servizio Azure Kubernetes (servizio Azure Kubernetes), configurare l'autenticazione per concedere l'autorizzazione per accedere ai dati kubernetes. Questa configurazione di sicurezza consente l'accesso in tempo reale ai dati tramite l'API Kubernetes direttamente nel portale di Azure.

Questa funzionalità supporta i metodi seguenti per controllare l'accesso a log, eventi e metriche:

  • Servizio Azure Kubernetes senza autorizzazione del controllo degli accessi in base al ruolo (RBAC) abilitata
  • Servizio Azure Kubernetes abilitato con autorizzazione controllo degli accessi in base al ruolo di Kubernetes
  • Servizio Azure Kubernetes abilitato con Single Sign-On basato su Microsoft Entra SAML

Queste istruzioni richiedono l'accesso amministrativo al cluster Kubernetes. Se si sta configurando per l'uso di Microsoft Entra ID per l'autenticazione utente, è necessario anche l'accesso amministrativo a Microsoft Entra ID.

Questo articolo illustra come configurare l'autenticazione per controllare l'accesso alla funzionalità Dati live dal cluster:

  • Cluster del servizio Azure Kubernetes abilitato per il controllo degli accessi in base al ruolo
  • Cluster del servizio Azure Kubernetes integrato di Microsoft Entra

Modello di autenticazione

La funzionalità Dati live usa l'API Kubernetes, identica allo kubectl strumento da riga di comando. Gli endpoint dell'API Kubernetes usano un certificato autofirmato, che il browser non sarà in grado di convalidare. Questa funzionalità usa un proxy interno per convalidare il certificato con il servizio Servizio Azure Kubernetes, assicurando che il traffico sia attendibile.

Il portale di Azure chiede di convalidare le credenziali di accesso per un cluster Microsoft Entra ID. Reindirizza l'utente alla configurazione della registrazione client durante la creazione del cluster (e riconfigurata in questo articolo). Questo comportamento è simile al processo di autenticazione richiesto da kubectl.

Nota

L'autorizzazione per il cluster viene gestita da Kubernetes e il modello di sicurezza con cui è configurato. Gli utenti che accedono a questa funzionalità richiedono l'autorizzazione per scaricare la configurazione di Kubernetes (kubeconfig), simile all'esecuzione az aks get-credentials -n {your cluster name} -g {your resource group}di .

Questo file di configurazione contiene l'autorizzazione e il token di autenticazione per il ruolo utente del cluster servizio Azure Kubernetes, nel caso dei cluster di Controllo degli accessi in base al ruolo di Azure abilitati e dei cluster del servizio Azure Kubernetes senza l'autorizzazione del controllo degli accessi in base al ruolo di Kubernetes abilitata. Contiene informazioni su Microsoft Entra ID e dettagli di registrazione client quando il servizio Azure Kubernetes è abilitato con l'accesso Single Sign-On basato su Microsoft Entra SAML.

Gli utenti di questa funzionalità richiedono il ruolo utente del cluster Azure Kubernetes per accedere al cluster per scaricare kubeconfig e usare questa funzionalità. Gli utenti non richiedono l'accesso collaboratore al cluster per usare questa funzionalità.

Usare clusterMonitoringUser con cluster abilitati per il controllo degli accessi in base al ruolo di Kubernetes

Per eliminare la necessità di applicare altre modifiche di configurazione per consentire al cluster di associazione del ruolo utente kubernetes l'accesso utente alla funzionalità Dati live dopo aver abilitato l'autorizzazione del controllo degli accessi in base al ruolo di Kubernetes, il servizio Azure Kubernetes ha aggiunto un nuovo binding di ruoli del cluster Kubernetes denominato clusterMonitoringUser. Questa associazione di ruoli del cluster ha tutte le autorizzazioni necessarie per accedere all'API Kubernetes e agli endpoint per l'uso della funzionalità Dati live.

Per usare la funzionalità Live Data con questo nuovo utente, è necessario essere membri del ruolo Utente cluster o Collaboratore servizio Azure Kubernetes nella risorsa cluster del servizio Azure Kubernetes. Le informazioni dettagliate sui contenitori, se abilitate, sono configurate per l'autenticazione usando per clusterMonitoringUser impostazione predefinita. Se l'associazione clusterMonitoringUser di ruoli non esiste in un cluster, clusterUser viene invece usato per l'autenticazione. Il collaboratore consente di accedere a clusterMonitoringUser (se esistente) e servizio Azure Kubernetes utente del cluster consente di accedere a clusterUser. Uno di questi due ruoli offre accesso sufficiente per usare questa funzionalità.

Il servizio Azure Kubernetes ha rilasciato questa nuova associazione di ruoli a gennaio 2020, quindi i cluster creati prima di gennaio 2020 non lo hanno. Se si dispone di un cluster creato prima di gennaio 2020, il nuovo clusterMonitoringUser può essere aggiunto a un cluster esistente eseguendo un'operazione PUT nel cluster. In alternativa, è possibile eseguire qualsiasi altra operazione nel cluster che esegue un'operazione PUT nel cluster, ad esempio l'aggiornamento della versione del cluster.

Cluster Kubernetes senza Controllo degli accessi in base al ruolo di Kubernetes abilitato

Se si dispone di un cluster Kubernetes non configurato con l'autorizzazione del controllo degli accessi in base al ruolo di Kubernetes o integrato con l'accesso Single Sign-On di Microsoft Entra, non è necessario seguire questa procedura. Le autorizzazioni amministrative sono già disponibili per impostazione predefinita in una configurazione non controllo degli accessi in base al ruolo.

Configurare l'autorizzazione del controllo degli accessi in base al ruolo di Kubernetes

Quando si abilita l'autorizzazione del controllo degli accessi in base al ruolo di Kubernetes, clusterUser e cluster Amministrazione vengono usati per accedere all'API Kubernetes. Questa configurazione è simile all'esecuzione az aks get-credentials -n {cluster_name} -g {rg_name} senza l'opzione amministrativa. Per questo motivo, clusterUser deve essere concesso l'accesso agli endpoint nell'API Kubernetes.

I passaggi di esempio seguenti illustrano come configurare l'associazione di ruoli del cluster da questo modello di configurazione YAML.

  1. Copiare e incollare il file YAML e salvarlo come 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. Per aggiornare la configurazione, eseguire il comando kubectl apply -f LogReaderRBAC.yaml.

Nota

Se è stata applicata una versione precedente del file LogReaderRBAC.yaml al cluster, aggiornarla copiando e incollando il nuovo codice illustrato nel passaggio 1. Eseguire quindi il comando illustrato nel passaggio 2 per applicarlo al cluster.

Configurare l'autenticazione integrata di Microsoft Entra

Un cluster del servizio Azure Kubernetes configurato per l'uso di Microsoft Entra ID per l'autenticazione utente usa le credenziali di accesso della persona che accede a questa funzionalità. In questa configurazione è possibile accedere a un cluster del servizio Azure Kubernetes usando il token di autenticazione Microsoft Entra.

La registrazione del client Microsoft Entra deve essere riconfigurata per consentire al portale di Azure di reindirizzare le pagine di autorizzazione come URL di reindirizzamento attendibile. Agli utenti di Microsoft Entra ID viene quindi concesso l'accesso direttamente agli stessi endpoint API Kubernetes tramite ClusterRoles e ClusterRoleBindings.

Per altre informazioni sulla configurazione avanzata della sicurezza in Kubernetes, vedere la documentazione di Kubernetes.

Nota

Se si sta creando un nuovo cluster abilitato per il controllo degli accessi in base al ruolo di Kubernetes, vedere Integrare Microsoft Entra ID con servizio Azure Kubernetes e seguire la procedura per configurare l'autenticazione di Microsoft Entra. Durante i passaggi per creare l'applicazione client, nella sezione vengono evidenziati i due URL di reindirizzamento che è necessario creare per informazioni dettagliate sui contenitori corrispondenti a quelli specificati nel passaggio 3.

Riconfigurazione della registrazione client

  1. Individuare la registrazione client per il cluster Kubernetes in Microsoft Entra ID in Microsoft Entra ID> Registrazioni app nel portale di Azure.

  2. Nel riquadro sinistro selezionare Autenticazione.

  3. Aggiungere due URL di reindirizzamento a questo elenco come tipi di applicazione Web . Il primo valore dell'URL di base deve essere https://afd.hosting.portal.azure.net/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html. Il secondo valore dell'URL di base deve essere https://monitoring.hosting.portal.azure.net/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html.

    Nota

    Se si usa questa funzionalità in Microsoft Azure gestita da 21Vianet, il primo valore dell'URL di base deve essere https://afd.hosting.azureportal.chinaloudapi.cn/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html. Il secondo valore dell'URL di base deve essere https://monitoring.hosting.azureportal.chinaloudapi.cn/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html.

  4. Dopo aver registrato gli URL di reindirizzamento, in Concessione implicita selezionare le opzioni Token di accesso e token ID. Salvare quindi le modifiche.

È possibile configurare l'autenticazione con Microsoft Entra ID solo per l'accesso Single Sign-On durante la distribuzione iniziale di un nuovo cluster del servizio Azure Kubernetes. Non è possibile configurare l'accesso Single Sign-On per un cluster del servizio Azure Kubernetes già distribuito.

Importante

Se è stato riconfigurato Microsoft Entra ID per l'autenticazione utente usando l'URI aggiornato, cancellare la cache del browser per assicurarsi che il token di autenticazione aggiornato venga scaricato e applicato.

Concedere un'autorizzazione

A ogni account Microsoft Entra deve essere concessa l'autorizzazione per le API appropriate in Kubernetes per accedere alla funzionalità Dati live. I passaggi per concedere l'account Microsoft Entra sono simili ai passaggi descritti nella sezione Autenticazione controllo degli accessi in base al ruolo di Kubernetes. Prima di applicare il modello di configurazione YAML al cluster, sostituire clusterUser in ClusterRoleBinding con l'utente desiderato.

Importante

Se l'utente a cui si concede l'associazione di controllo degli accessi in base al ruolo kubernetes per si trova nello stesso tenant di Microsoft Entra, assegnare le autorizzazioni in base a userPrincipalName. Se l'utente si trova in un tenant Microsoft Entra diverso, eseguire una query per e usare la objectId proprietà .

Per altre informazioni sulla configurazione del cluster del servizio Azure Kubernetes ClusterRoleBinding, vedere Creare l'associazione del controllo degli accessi in base al ruolo di Kubernetes.

Passaggi successivi

Ora che è stata configurata l'autenticazione, è possibile visualizzare metriche ed eventi e log in tempo reale dal cluster.