CIM (Common Information Model) システムは、一連の標準 API を使用してリモート アプリケーションからハードウェア レベルで管理できるインターフェイスを提供します。CIM インターフェイスのセキュリティを確保するため、これらのリモート アプリケーションには必要最小限のアクセス権のみを付与します。root または管理者アカウントを使用してリモート アプリケーションをプロビジョニングした場合に、アプリケーションが侵害されると、仮想環境も侵害される恐れがあります。

CIM はオープンな標準で、ESXiホストでエージェントレス、標準ベースのハードウェア リソース監視を行うフレームワークを定義します。このフレームワークは、CIM オブジェクト マネージャ (通常は CIM ブローカーと呼ばれます) と一連の CIM プロバイダで構成されます。

CIM プロバイダは、デバイス ドライバと基盤となるハードウェアへの管理アクセスをサポートします。サーバ メーカーやハードウェア デバイス ベンダーなどのハードウェア ベンダーは、自社のデバイスを監視および管理するプロバイダを作成できます。VMware は、サーバ ハードウェア、ESXiストレージ インフラストラクチャ、および仮想化固有のリソースを監視するプロバイダを作成します。これらのプロバイダは軽量で、特定の管理タスクに特化してESXiホスト内で実行されます。CIM ブローカはすべての CIM プロバイダから情報を取得し、標準 API を使用してその情報を外部に開示します。最も一般的な API は WS-MAN です。

CIM インターフェイスにアクセスするリモート アプリケーションには root 認証情報を提供しないでください。代わりに、これらのアプリケーション用に権限の小さな vSphere ユーザー アカウントを作成し、VIM API チケット関数を使用して、この権限の小さなユーザー アカウントに CIM を認証するためのセッション ID(「チケット」)を発行します。このアカウントに CIM チケットを取得するための権限が付与されている場合、VIM API はチケットを CIM に提供できます。これらのチケットは、任意の CIM-XML API 呼び出しに対するユーザー ID とパスワードの両方として提供されます。詳細については、AcquireCimServicesTicket()メソッドを参照してください。

サードパーティの CIM VIB をインストールすると(esxcli software vib install -n VIBname コマンドを実行した場合など)、CIM サービスが開始します。

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/kb/1025757にある VMware ナレッジベースの記事を参照してください。

手順

  1. CIM アプリケーション用に root 以外の vSphere ユーザー アカウントを作成します。
    vSphere の認証』で、vCenter Single Sign-On ユーザーを追加する方法のトピックを参照してください。ユーザー アカウントに必要な vSphere の権限は、 Host.CIM.Interaction です。
  2. 選択した vSphere API SDK を使用して、vCenter Serverに対してユーザー アカウントを認証します。次に、CIM-XML ポート 5989 または WS-Man ポート 433 の API を使用して管理者レベル アカウントとして AcquireCimServicesTicket()を呼び出し、ESXi を認証するためのチケットを返します。
    詳細については、『 vSphere Web Services API リファレンス』を参照してください。
  3. 必要に応じて、2 分ごとにチケットを更新します。