問われるネーミングセンス?~DEMのポリシー名は大事だよ 編~
皆様ごきげんよう、私です。
週末、ランニングマシンを使って1時間ほど走るのですが、
正直、長距離走って退屈ですよね。
ダイエットのためとはいえ、1時間を走るためだけに使うというのは中々苦痛です。
と、いうわけでbluetoothのイヤホンを買いました!
Amazonでよく電気が走ってるアレです!中国製の質の悪いものかどうかを見分ける方法として、画像に電気が走ってるかどうかで判断する、というのがありましたが、まさしくそれですねw
でも運動の時しか使わないので安いのでいいのです。
これで、運動中に音楽が聴けるぞー!と、うっきうきで装着し、走行し始めたのですが・・・
数分後・・・ポロッ!と耳から落ちました。
「ん?耳への押し込みが甘かったかな?」と思い、強めに押し込み再び走行を開始。
数分後・・・ポロッ!と耳から落ちました。
その後、ポロッ!しては、再装着を繰りかえしました。
私の耳の形状がおかしいのか、どうもうまく保持できません。
ランニングのように上限運動と振動が発生するものは、難しそうです。
あるいは、頭を極力動かさないように走れ、ということなのでしょうか?
強靭な体幹を求められているようです。
首からかける式に変えてみよう。
さて、今回は、Dynamic Environment Manager(以降DEM)の「ポリシー名」について、ご紹介したいと思います。(※短めです)
DEMって便利だな!
以前に、Horizon Clientのオプション制御を、GPOとレジストリで制御するお話しについて投稿しました。
ユーザーに提供する仮想デスクトップ環境を制御する方法として、様々な手段が用意されていますが、DEMもその中の一つです。
DEMでは、スマートポリシーと呼ばれるポリシーを定義し、様々な制御を行うことが可能です。
特定のIPアドレス端末や、グループ・OUに所属するユーザーに対してだけ、USBの利用を許可する、というような細かな条件式を使って、ポリシーの適用有無を制御することもできます。
GPOでもWMIフィルターを使って似たようなことはできると思いますが、DEMの「条件」は非常に細やかかつ、わかりやすく作られており、管理インターフェースもGUIで提供されているため、とっつきやすいツールだと思います。
さて、そんな素晴らしいDEMなのですが、つい先日とある事象にドはまりしてしまいましたので、その事例をご紹介したいと思います。
んお?ポリシーが効かないでよ!
お客様から「DEMの制御が効いてないように見えるんだけどぉぉぉ!」
というお問い合わせを受けました。
ん?そんなバハマ!試験して確かにDEMの制御が行えてることは確認したはず…
そして現地に行って、DEMの状態を見せていただきました。
すると・・・
ふむふむ。
私が構築したときから、少し条件が増えていますね。
Horizonのデスクトップ環境で、特定ユーザーに対してのみUSB機器利用を許可する。
という制御をされたいようでした。
その時、作成いただいていたのが、↑のようなポリシーでした。
試しに、全然違うポリシーを作成して、動作確認してみたところ、動作に問題なし。
ということは、DEMの問題というより、お客様が作ったポリシーがおかしいのかな?と思い、確認してみたところ・・・全く、問題がありません。
Broker_UserNameは、Connection Serverログインの際に使用したユーザー名です。
つまり、Connection ServerにUser001でログインし、仮想デスクトップを繋げれば、その仮想デスクトップでは、USBが使用できるはずです。
色々調べたのですが、
・GPOは問題なし。
・他のポリシーを作って試したみたが、動作は正常なように見える(つまりDEMがぶっ壊れているわけではなさそう)
はて、何が問題なのでしょうか?
原因は、以外(?)なものだった
結論から言うと、DEMのスマートポリシー名が超重要でした。
ここに一つ、ケースを挙げてみたいと思います。
突然始まる実験(本題)
ここに、矛盾した2つの設定を行ってみます。
USB_Allowは、全ユーザー/全端末でUSBの利用を有効化する設定です。
USB_Denyは、全ユーザー/全端末でUSBの利用を無効化する設定です。
いわゆる、
状態ですね。
さて、この設定の結果は、全ユーザー/全端末でUSBの利用を無効化されます。
つまり、USB_Denyが勝ちます。
では、USB_Denyの勝因は何なんでしょうか?
次に、
ポリシー名を少しだけ変えて同じ実験をしてみます。
USB99_Allowは、全ユーザー/全端末でUSBの利用を有効化する設定です。
USB01_Denyは、全ユーザー/全端末でUSBの利用を無効化する設定です。
さて、この設定の結果は、全ユーザー/全端末でUSBの利用を有効化されます。
つまり、今度はUSB99_Allowが勝ちました。
矛盾した設定を行ったときに湧き上がってくるのは、
「DEMのポリシーは、どういった順序で評価される」のかという疑問です。
上の実験を見れば、もうお分かりですね?
これは、単純で「ポリシー名の並び」で決まっています。
アルファベットであれば、Aから評価され、Zが最後に評価されます。
数字であれば、0から評価され、9が最後に評価される、ということです。
これは、シンプルですが、非常に重要な問題です。
先のお客様先の設定でいうと、
赤字の部位で、ポリシー名の並びが決まってしまっています。
Aから評価されるので、Allowポリシーは最初に評価され、最後に(Conditons設定なし=全ユーザー/全端末が対象)のDenyポリシーが評価されていることになります。
つまり、最後のDenyポリシーでAllowポリシーが上書きされちゃった形ですね。
最後に
・基本的にUSB利用は無効化する
・特定ユーザーのみUSB利用を有効化する
という方針であったため、
名前順で最初に「全ユーザー/全端末を無効化」し、特定のユーザーのみ許可するポリシーが、無効化ポリシーより後に評価されるように名前決めをする。
いわゆる、「ホワイトリスト形式」になるように設定を行いました。
DEMのスマートポリシーは、作成後に名前変更可能ですが、名前付けは慎重に行う必要がありそうです。
適用順番がわからなくなったら、「Name」列をクリックしてポリシーをソートしてみましょう。
ではでは~