Il sistema CIM (Common Information Model) fornisce un'interfaccia alle applicazioni remote per monitorare le risorse hardware utilizzando un insieme di API standard. Per garantire la sicurezza dell'interfaccia CIM, fornire solo l'accesso minimo necessario per queste applicazioni remote. Se si esegue il provisioning di un'applicazione remota con un account root oppure di amministratore e l'applicazione è compromessa, anche l'ambiente virtuale potrebbe risultare compromesso.

CIM è uno standard aperto che definisce un framework per il monitoraggio delle risorse hardware senza agente e basate su standard degli host ESXi. Questo framework è composto da un CIM Object Manager, spesso denominato CIM Broker, e da un set di provider CIM.

I provider CIM supportano l'accesso di gestione ai driver dei dispositivi e all'hardware corrispondente. I fornitori di hardware, inclusi i produttori di server e i fornitori di dispositivi hardware, possono scrivere provider in grado di monitorare e gestire i propri dispositivi. VMware scrive provider che monitorano l'hardware del server, l'infrastruttura di storage di ESXi e le risorse specifiche della virtualizzazione. Questi provider vengono eseguiti nell'host ESXi. Si tratta di provider leggeri e concentrati su attività di gestione specifiche. Il broker CIM recupera informazioni da tutti i provider CIM e le presenta all'esterno utilizzando le API standard. L'API più comune è WS-MAN.

Non fornire credenziali root alle applicazioni remote che accedono all'interfaccia CIM. Creare invece un account utente vSphere meno riservato per queste applicazioni e utilizzare la funzione di ticket API di VIM per emettere un ID di sessione (denominato "ticket") per questo account utente senza privilegi per l'autenticazione in CIM. Se all'account è stata concessa l'autorizzazione a ottenere i ticket CIM, l'API VIM può fornire il ticket a CIM. Questi ticket vengono quindi forniti come ID utente e password per qualsiasi chiamata API CIM-XML. Per ulteriori informazioni, vedere il metodo AcquireCimServicesTicket().

Il servizio CIM viene avviato quando si installa un VIB CIM di terze parti, ad esempio quando si esegue il comando esxcli software vib install -n VIBname.

Se è necessario attivare manualmente il servizio CIM, eseguire il comando seguente:

esxcli system wbem set -e true

È inoltre possibile disattivare wsman (servizio WSManagement) in modo che sia in esecuzione solo il servizio CIM:

esxcli system wbem set -W false

Per verificare che wsman sia disattivato, eseguire il comando seguente:

esxcli system wbem get
…
WSManagement PID: 0
WSManagement Service: false

Per ulteriori informazioni sui comandi ESXCLI, vedere la Documentazione di ESXCLI. Per ulteriori informazioni sull'attivazione del servizio CIM, vedere l'articolo della Knowledge Base di VMware all'indirizzo https://kb.vmware.com/s/article/1025757.

Procedura

  1. Creare un account utente vSphere non root per le applicazioni CIM.
    Vedere l'argomento relativo all'aggiunta di utenti vCenter Single Sign-On in Autenticazione di vSphere. Il privilegio di vSphere richiesto per l'account utente è Host.CIM.Interazione.
  2. Utilizzare l'SDK di vSphere API desiderato per eseguire l'autenticazione dell'account utente su vCenter Server. Chiamare quindi AcquireCimServicesTicket() per restituire un ticket per l'autenticazione con ESXi come account di livello amministratore utilizzando la porta 5989 CIM-XML o le API della porta 433 WS-Man.
    Per ulteriori informazioni, vedere il Riferimento alle API dei servizi Web di vSphere.
  3. Rinnovare il ticket ogni due minuti in base alle esigenze.