そうか、そうか

~とあるSIerの、哀と涙の軌跡~

問われるネーミングセンス?~DEMのポリシー名は大事だよ 編~

皆様ごきげんよう、私です。

 

週末、ランニングマシンを使って1時間ほど走るのですが、

正直、長距離走って退屈ですよね。

 

ダイエットのためとはいえ、1時間を走るためだけに使うというのは中々苦痛です。

と、いうわけでbluetoothのイヤホンを買いました!

 

Amazonでよく電気が走ってるアレです!中国製の質の悪いものかどうかを見分ける方法として、画像に電気が走ってるかどうかで判断する、というのがありましたが、まさしくそれですねw

 

f:id:gokusan:20220115163357p:plain

 

でも運動の時しか使わないので安いのでいいのです。

これで、運動中に音楽が聴けるぞー!と、うっきうきで装着し、走行し始めたのですが・・・

 

数分後・・・ポロッ!と耳から落ちました。

「ん?耳への押し込みが甘かったかな?」と思い、強めに押し込み再び走行を開始。

数分後・・・ポロッ!と耳から落ちました。

その後、ポロッ!しては、再装着を繰りかえしました。

 

私の耳の形状がおかしいのか、どうもうまく保持できません。

ランニングのように上限運動と振動が発生するものは、難しそうです。

あるいは、頭を極力動かさないように走れ、ということなのでしょうか?

強靭な体幹を求められているようです。

 

首からかける式に変えてみよう。

 

さて、今回は、Dynamic Environment Manager(以降DEM)の「ポリシー名」について、ご紹介したいと思います。(※短めです)

 

DEMって便利だな!

以前に、Horizon Clientのオプション制御を、GPOレジストリで制御するお話しについて投稿しました。

gokusan.hatenablog.com

ユーザーに提供する仮想デスクトップ環境を制御する方法として、様々な手段が用意されていますが、DEMもその中の一つです。

 

DEMでは、スマートポリシーと呼ばれるポリシーを定義し、様々な制御を行うことが可能です。

特定のIPアドレス端末や、グループ・OUに所属するユーザーに対してだけ、USBの利用を許可する、というような細かな条件式を使って、ポリシーの適用有無を制御することもできます。

f:id:gokusan:20220115180254p:plain

GPOでもWMIフィルターを使って似たようなことはできると思いますが、DEMの「条件」は非常に細やかかつ、わかりやすく作られており、管理インターフェースもGUIで提供されているため、とっつきやすいツールだと思います。

 

さて、そんな素晴らしいDEMなのですが、つい先日とある事象にドはまりしてしまいましたので、その事例をご紹介したいと思います。

 

んお?ポリシーが効かないでよ!

お客様から「DEMの制御が効いてないように見えるんだけどぉぉぉ!」

というお問い合わせを受けました。

 

ん?そんなバハマ!試験して確かにDEMの制御が行えてることは確認したはず…

 

そして現地に行って、DEMの状態を見せていただきました。

すると・・・

 

f:id:gokusan:20220115172820p:plain

f:id:gokusan:20220115172923p:plain

 

ふむふむ。

私が構築したときから、少し条件が増えていますね。

 

Horizonのデスクトップ環境で、特定ユーザーに対してのみUSB機器利用を許可する。

という制御をされたいようでした。

 

その時、作成いただいていたのが、↑のようなポリシーでした。

 

試しに、全然違うポリシーを作成して、動作確認してみたところ、動作に問題なし。

ということは、DEMの問題というより、お客様が作ったポリシーがおかしいのかな?と思い、確認してみたところ・・・全く、問題がありません。

 

f:id:gokusan:20220115173007p:plain

Broker_UserNameは、Connection Serverログインの際に使用したユーザー名です。

つまり、Connection ServerにUser001でログインし、仮想デスクトップを繋げれば、その仮想デスクトップでは、USBが使用できるはずです。

 

色々調べたのですが、

 

GPOは問題なし。

・他のポリシーを作って試したみたが、動作は正常なように見える(つまりDEMがぶっ壊れているわけではなさそう)

 

はて、何が問題なのでしょうか?

 

原因は、以外(?)なものだった

結論から言うと、DEMのスマートポリシー名が超重要でした。

ここに一つ、ケースを挙げてみたいと思います。

 

突然始まる実験(本題)

f:id:gokusan:20220115173648p:plain

ここに、矛盾した2つの設定を行ってみます。

USB_Allowは、全ユーザー/全端末でUSBの利用を有効化する設定です。

USB_Denyは、全ユーザー/全端末でUSBの利用を無効化する設定です。

 

いわゆる、

f:id:gokusan:20220115173906p:plain状態ですね。

さて、この設定の結果は、全ユーザー/全端末でUSBの利用を無効化されます。

つまり、USB_Denyが勝ちます

 

では、USB_Denyの勝因は何なんでしょうか?

 

次に、

f:id:gokusan:20220115174250p:plain

ポリシー名を少しだけ変えて同じ実験をしてみます。

USB99_Allowは、全ユーザー/全端末でUSBの利用を有効化する設定です。

USB01_Denyは、全ユーザー/全端末でUSBの利用を無効化する設定です。

 

さて、この設定の結果は、全ユーザー/全端末でUSBの利用を有効化されます。

つまり、今度はUSB99_Allowが勝ちました。

 

矛盾した設定を行ったときに湧き上がってくるのは、

DEMのポリシーは、どういった順序で評価される」のかという疑問です。

 

上の実験を見れば、もうお分かりですね?

 

これは、単純で「ポリシー名の並び」で決まっています。

アルファベットであれば、Aから評価され、Zが最後に評価されます。

数字であれば、0から評価され、9が最後に評価される、ということです。

 

これは、シンプルですが、非常に重要な問題です。

先のお客様先の設定でいうと、

f:id:gokusan:20220115175135p:plain

赤字の部位で、ポリシー名の並びが決まってしまっています。

Aから評価されるので、Allowポリシーは最初に評価され、最後に(Conditons設定なし=全ユーザー/全端末が対象)のDenyポリシーが評価されていることになります。

 

つまり、最後のDenyポリシーでAllowポリシーが上書きされちゃった形ですね。

 

最後に

・基本的にUSB利用は無効化する

・特定ユーザーのみUSB利用を有効化する

 

という方針であったため、

f:id:gokusan:20220115175525p:plain

 

名前順で最初に「全ユーザー/全端末を無効化」し、特定のユーザーのみ許可するポリシーが、無効化ポリシーより後に評価されるように名前決めをする。

いわゆる、「ホワイトリスト形式」になるように設定を行いました。

 

DEMのスマートポリシーは、作成後に名前変更可能ですが、名前付けは慎重に行う必要がありそうです。

 

適用順番がわからなくなったら、「Name」列をクリックしてポリシーをソートしてみましょう。

f:id:gokusan:20220115180029p:plain

 

ではでは~