今回は、vCenterのWebコンソールに存在はしているけどあまり使われている印象がないWindowsセッション認証を使用するための手順を記事にしていきたいと思います。
期待する目標
本手順で期待する目標は以下の通りです。
- vCenter ServerのWebコンソールにWindowsセッション認証を使用してSSOができる
vCenterのWindowsセッション認証とは
vCenterのWebコンソールにログインする際にいつもグレーアウトされているチェックボックスです。
通常であれば、administrator@vsphere.localとパスワードを入力してvCenterへアクセスします。
ただ、これだとadministratorのパスワードを知っている人は全員vCennterにアクセスでき、誰がvCenterにアクセスして変更作業を行ったのかわかりにくくなってしまいます。(アクセス元のIPを確認すればある程度は絞り込める。)
vCenterへアクセスする際にWindowsのドメインユーザでログインできれば誰がvCenterにアクセスしたか一目瞭然です。
また、PCにログインしているWindows認証情報を使用してSSOを行うため、ログインの面でも楽でよいです。(administartor@vsphere.localとタイピングするがめちゃくちゃ早くなるのは私だけではないはず)
前提条件
vCenterでWindowsセッション認証を使用するには以下のものが必要になります。
- ドメインに参加したWindows OS
- Active Directoryドメインサーバ
- SSOプラグインがインストール可能なWindows OS
Windowsセッション認証をするには、原則Windows OSが必要です。
また、vCenterがActive Directoryに参加する必要があるため、ドメインに参加が可能なユーザが必要になります。(場合によっては事前にコンピュータオブジェクトを作成しておく必要もある)
さらに、クライアント側に拡張プラグインをインストールする必要があるため、WindowsのPCが必要になります。
vCenter側とESXiホストのバージョンは以下の通りとなります。
- vCenter Version : 7.0.0 (ドメイン参加時に要再起動)
- ESXi Version : 6.5.0
Windowsセッション認証のみの利用だとvCenterだけでよいのですが、ESXi側もドメイン参加をしないとvCenterから仮想マシンの作成などの権限が付きませんでした。
そのため、vCenterのドメイン参加とESXiのドメイン参加を行う必要があります。
vCenter Server SSO設定
vCenterにログインして、Active Directoryドメインに参加を行っていきます。
vCenterのWebコンソールにログインし、[vSphere Client]-[管理]を選択します。
[管理]-[Single Sign-On]-[設定]を選択します。
[IDプロバイダ]タブより、[Active Directoryドメイン]-[ACTIVE DIRECTORYに参加]を選択します。
この時点では、vCenterはまだドメインに参加していない状態です。
既にドメイン参加している場合はスキップして問題ありません。
[Active Directoryドメインに参加]より、以下の設定を行います。
- ドメイン : Active Directoryドメイン名を指定
- 組織単位 : vCenterが所属するOUのパスを指定(任意)
- ユーザ名 : ドメイン参加を行うユーザ名を指定
- パスワード : ドメイン参加を行うユーザのパスワードを入力
設定が完了したら、[参加]を選択します。
なお、vCennterはドメイン参加後にvCenter Serverの仮想マシンを再起動する必要があります。
vCenterのドメイン参加が成功すると、成功する旨のメッセージが出るので確認します。
ドメイン参加ができない場合、オブジェクトの作成が事前に必要だったり、ドメイン参加用のユーザ情報が間違っていたり、OUの指定が間違っていたりする可能性があるため、要確認です。
vCenterのドメイン参加が完了したら、vCenterの仮想マシンを再起動します。
仮想マシンより、[アクション]-[電源]-[ゲストOSの再起動]を選択します。
vCenterを再起動すると、Webコンソールにもアクセスできなくなるため、vCenterの再起動が完了するまで待機します。
vCenterの再起動が完了したら、SSOができるvCenterにカスタマイズしていきます。
[vSphere Client]-[管理]-[Single Sign-On]-[設定]を選択します。
[IDプロバイダ]タブより、[IDソース]を選択し、[追加]を押下します。
[IDソースの追加]より、以下の設定を行います。
- IDソースタイプ : Active Directory (統合Windows認証)
- ドメイン名 : 任意のドメイン名を指定
- サービスプリンシパル名(SPN名)を使用 : ●
- サービスプリンシパル名 : <STS/ドメイン名>形式で入力
- ユーザ名 : SSOを行うIDを入力(<ユーザ名@形式>で指定)
- パスワード : ドメインユーザに対応するパスワードを指定
設定の完了後、[追加]を選択します。
[IDソース]に[Active Directory(統合Windows認証)]のIDソースが追加されていることを確認します。
SSOのIDソースが追加できたらドメインアカウントの権限を追加します。
[vCenter]-[権限]タブより、[+]ボタンを選択します。
[権限の追加]より、以下の設定を行います。
- ドメイン : SSOに設定したドメインを指定
- ユーザ/グループ : 権限を追加するユーザまたはグループを指定
- ロール : 割り当てる権限を指定
Active Directoryのグループを指定できることから、vCenterを触るユーザのSGを作成してグループに対して権限の割り当てを行うことで効率的に運用できそうです。
権限の追加が終わったら、追加したドメインユーザの権限が付与されていることを確認します。
以上でvCenterのSSO設定は完了です。
拡張認証プラグインのインストール
vCenterにSSOの設定が完了したら、Windowsセッション認証を使用するための追加ソフトウェアをインストールしていきます。
SSOを行う環境ではこの拡張認証プラグインのインストールが必須となります。
vCenterのログイン画面より、[拡張認証プラグインのダウンロード]を選択して、拡張認証プラグインをダウンロードします。
ダウンロードしたvCetener拡張認証プラグインのインストーラを実行します。
インストーラの実行時に警告表示が出るため、[OK]を選択します。
内容的に、インストールするときにクライアントで実行している拡張認証プラグインは閉じられます的なことが書いてあります。
警告の後には案内のメッセージが表示されます。
これは、2種類のインストールが実行されますとのことがかかれています。
[OK]を選択します。
[VMware Enhanced Authentication Plug-in 6.7.0のインストールウィザードへようこそ]より、[次へ]を選択します。
[使用許諾契約書]より、EULAをよく読み、同意ができる場合は[使用許諾契約に同意します]を選択して、[次へ]を押下します。
[インストール先フォルダ]より、インストール先フォルダを選択し、[次へ]を選択します。
[プラグインをインストールする準備ができました]より、[インストール]を選択します。
インストールが進むので、完了するまで待機します。
[インストール完了]より、[完了]を選択してインストールを完了させます。
続いて、[VMware Plug-in Serviceのインストールウィザードへようこそ]とPlug-in Serviceのインストーラが起動するため[次へ]を選択します。
[使用許諾契約書]より、EULAを読み同意できる場合は[使用許諾契約書に同意します]を選択して[次へ]を押下します。
[インストール先フォルダ]より、インストール先を選択して、[次へ]を押下します。
[プラグインをインストールする準備ができました]より、[インストール]を選択します。
インストールが進行するので、完了するまで待機します。
[インストール完了]より、[完了]を選択して、インストーラを完了させます。
vCenter Windowsセッション認証の確認
拡張認証プラグインのインストールが完了したら、動作確認を行っていきます。
vCenter ServerのWebコンソールにアクセスし、[Windowsセッション認証を使用]のチェックボックスを入れ、ユーザ名とパスワードは入力せずに、[ログイン]を選択します。
ログインを行うと、Chromeからアプリケーションを開くメッセージボックスが表示されるため、[vmware-cip-lancher.exeを開く]を選択します。
[VMware Enhanced Authentication Plug-in Access Control]というアプリケーションが開くため、ホスト名を確認して、[Allow]を選択します。
この時、WindowsにログインしているユーザとvCenterのSSOで設定したユーザが一致していないとログインできません。
ユーザ名とパスワードを入力せずにvCenterにログインできました。
vCenterのWebコンソール右上のアカウント情報を核にして、ドメインアカウントとしてログインできていることを確認します。
ただ、この状態だとvCenterの情報までは確認できるのですが、ESXiの情報が見れませんでした。
そのため、ESXiのドメイン参加も必要となります。(ESXiをドメインに参加させることで見えるようになった)
ESXiドメイン参加
ESXiにログインし、[管理]-[セキュリティとユーザ]-[認証]を選択し、[ドメインに参加]を選択します。
[ドメインに参加]より、以下の設定を行います。
- ドメイン名 : Active Directoryのドメイン名を指定
- 認証用プロキシの使用 : □ (任意)
- ユーザ名 : ドメイン参加用アカウントのユーザ名を指定
- パスワード : ドメイン参加用アカウントのパスワードを指定
設定が完了したら、[ドメインに参加]を選択します。
[ドメインメンバーシップのステータス]が[OK]となっていることを確認します。
以上でESXiのドメイン参加は完了です。
まとめ
今回は、あまり使われている印象がないvCenterのWidowsセッション認証プラグインを使用してvCenterにWindowsドメインユーザでSSOを行う方法を検証しました。
vCenterとActive Directoryが連携できることで、vCenterの権限管理が楽になるのではないでしょうか。
ただ、クライアント側にプラグインのインストールが必要ということと、SSOのためWindowsのドメインユーザと紐づけずに管理したいという場合は微妙な感じがします。
あと、1点気になったのが、拡張認証プラグインはv6.7だった点ですかね。
vCenterのバージョンは7.0なのですが、拡張認証プラグインの最新版は6.7なんですかね。
VMwareさん的にこの機能はあまり需要が無いのか、開発は活発ではなさそうです。。。
おまけ
本ブログではVMwareやWindows、Linuxのインストール手順等も公開しております。
インフラエンジニアとして有益な記事や無益なコンテンツも作成しておりますので、通勤時間や休憩時間、休日のスキマ時間等に合わせて読んでいただけると幸いです。
また、Youtubeで解説動画も鋭意作成中です。本ブログで記事にしているものも動画にしようと思っておりますので、よろしくお願いいたします。
willserverのnoteも開設したのでフォローお願いします。
コメント