CIM(공통 정보 모형, Common Information Model) 시스템은 표준 API 집합을 사용하여 하드웨어 리소스를 모니터링하는 원격 애플리케이션용 인터페이스를 제공합니다. CIM 인터페이스의 보안을 유지하려면 이러한 원격 애플리케이션에 필요한 최소한의 액세스 권한만 제공합니다. 루트 또는 관리자 계정으로 원격 애플리케이션을 프로비저닝하며 애플리케이션이 손상된 경우 가상 환경이 손상될 수 있습니다.

CIM은 ESXi 호스트의 하드웨어 리소스를 에이전트 없이 표준에 따라 모니터링하기 위한 프레임워크를 정의하는 개방형 표준입니다. 이 프레임워크는 CIM 개체 관리자(CIM 브로커라고도 함)와 일련의 CIM 제공자로 구성됩니다.

CIM 제공자는 디바이스 드라이브 및 기본 하드웨어에 대한 관리 액세스를 지원합니다. 서버 제조업체 및 하드웨어 디바이스 벤더를 포함한 하드웨어 벤더는 디바이스를 모니터링 및 관리하는 제공자를 쓸 수 있습니다. VMware는 서버 하드웨어, ESXi 스토리지 인프라 및 가상화 관련 리소스를 모니터링하는 제공자를 씁니다. 이러한 제공자는 ESXi 호스트 내부에서 실행되며 경량이고 특정 관리 작업에 초점을 맞춥니다. CIM 브로커는 모든 CIM 제공자로부터 정보를 가져오고 표준 API를 사용하여 이를 외부에 표시합니다. 가장 일반적인 API는 WS-MAN입니다.

원격 애플리케이션에는 CIM 인터페이스에 액세스하기 위한 루트 자격 증명을 제공하지 마십시오. 대신 이러한 애플리케이션에 권한이 낮은 vSphere 사용자 계정을 만들고 VIM API 티켓 기능을 사용하여 권한이 낮은 사용자 계정에 sessionId( "티켓"이라고 함)를 발행하여 CIM에 인증합니다. 계정에 CIM 티켓을 얻을 수 있는 권한이 부여되면 VIM API는 티켓을 CIM에 제공할 수 있습니다. 이러한 티켓은 CIM-XML API 호출에 대해 사용자 ID와 암호로 제공됩니다. 자세한 내용은 AcquireCimServicesTicket() 메서드를 참조하십시오.

CIM 서비스는 타사 CIM VIB를 설치할 때, 예를 들어 esxcli software vib install -n VIBname 명령을 실행할 때 시작됩니다.

CIM 서비스를 수동으로 활성화해야 하는 경우에는 다음 명령을 실행합니다.

esxcli system wbem set -e true

필요한 경우 CIM 서비스만 실행되도록 wsman(WSManagement 서비스)를 비활성화할 수 있습니다.

esxcli system wbem set -W false

wsman이 비활성화되었는지 확인하려면 다음 명령을 실행합니다.

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

ESXCLI 명령에 대한 자세한 내용은 "ESXCLI 설명서" 를 참조하십시오. CIM 서비스를 활성화하는 방법에 대한 자세한 내용은 https://kb.vmware.com/s/article/1025757에서 VMware 기술 자료 문서를 참조하십시오.

프로시저

  1. CIM 애플리케이션에 대해 루트가 아닌 vSphere 사용자 계정을 생성합니다.
    " vSphere 인증" 에서 vCenter Single Sign-On 사용자 추가에 대한 항목을 참조하십시오. 사용자 계정에 필요한 vSphere 권한은 Host.CIM.Interaction입니다.
  2. 원하는 vSphere API SDK를 사용하여 vCenter Server에 사용자 계정을 인증합니다. 그런 다음, AcquireCimServicesTicket()을 호출하여 티켓을 반환하고 CIM-XML 포트 5989 또는 WS-Man 포트 433 API를 사용하여 ESXi를 관리자 수준 계정으로 인증합니다.
    자세한 내용은 " vSphere Web Services API 참조" 를 참조하십시오.
  3. 필요에 따라 2분마다 티켓을 갱신합니다.