WindowsのFeature Update、パッチ適用状況に応じたアクセス制御 - カスタム設定
目次
前回のブログでは、Oktaのデバイス保証機能を利用したWindowsのFeature Updateやパッチの適用状況に応じたアクセス制御について、下記のような方法をご紹介しました。
- Feature Updateのバージョンを利用したアクセス制御
- 累積パッチのバージョンを利用したアクセス制御
- Windows 10、Windows 11、それぞれのFeature Updateのバージョンを利用したアクセス制御
- Windows 10、Windows 11、それぞれの累積パッチのバージョンを利用したアクセス制御
- Windows 10、Windows 11、それぞれのFeature Update、累積パッチの動的バージョン指定によるアクセス制御
デバイス保証機能についてや、上記の基本的な各種アクセス制御方法については、前回のブログをご参照ください。
前回のブログ
・WindowsのFeature Update、パッチ適用状況に応じたアクセス制御 - 基本
組織のポリシーによっては、上記の基本的な制御設定ではご要件を満たせないケースもあるのではないでしょうか。
例えば、下記のようにWindows 11において、複数のFeature Updateのバージョンを提供しており、それぞれに累積パッチのバージョンを管理されているケースが考えられます。
- Windows 11
- 22H2 (OS Build 10.0.22621)
- 累積パッチバージョン: KB5041585 (22621.4037)
- 23H2 (OS Build 10.0.22631)
- 累積パッチバージョン: KB5041585 (22631.4037)
- 22H2 (OS Build 10.0.22621)
Okta Expression Languageを利用したカスタム設定
このようなケースにおいては、Okta Expression Languageを利用したカスタム設定により、ご要件に応じたアクセス制御の設定が可能です。
Okta Expression Languageは、端末上にインストールされたOkta Verifyアプリケーションが取得した端末のOSバージョンの情報を参照し、条件判定を実施できます。
・Okta Expression Languageによるデバイス属性の参照
今回は、下記の組織のポリシーを満たす条件をOkta Expression Languageで構成してみます。
- Windows 11 - 22H2 とWindows 11 - 23H2を管理しており、それぞれ2024年8月13日の累積パッチ KB5041585 が適用されていること
このポリシーのOSバージョンは下記になります。
- Windows 11 - 22H2 (KB5041585) : 10.0.22621.4037
- Windows 11 - 23H2 (KB5041585) : 10.0.22631.4037
これをOkta Expression Languageで構成するとこうなります。
(!device.profile.osVersion.versionLessThan('10.0.22621.4037’) && !device.profile.osVersion.versionGreaterThan('10.0.22621.4037’)) ||
(!device.profile.osVersion.versionLessThan('10.0.22631.4037’) &&
!device.profile.osVersion.versionGreaterThan('10.0.22631.4037’))
- OSバージョンは、「device.profile.osVersion」で参照可能です。
- 参照したOSバージョンを、「versionLessThan」、「versionGreaterThan」関数で判定します。
- 各判定式の先頭で「!」により否定をしています。
Okta Expression Languageの構成をまとめると、下記のようになります。
・OSバージョンが10.0.22621.4037未満ではないこと、かつ10.0.22621.4037を超えないこと。
もしくは、OSバージョンが10.0.22631.4037未満ではないこと、かつ10.0.22631.4037を
超えないこと。
作成したOkta Expression Languageの活用方法
作成したOkta Expression Languageは、認証ポリシーで条件として活用できます。
- Windows端末のアクセス制御になりますので、「IF」セクションの、「Device Platform is」で、「One of the following platforms」を選択し、「Windows」を設定します。
- 「IF」セクションの、「The following custom expression is true」部分のテキストエリアに作成したOkta Expression Languageを設定します。
カスタム設定の運用方法
ここまでで、組織のポリシーに準拠した Windows 11 - 22H2とWindows 11 - 23H2、ともに2024年8月13日の累積パッチ KB5041585 が適用されている端末がアクセス可能な認証ポリシーが設定できました。
その後の運用としては、組織のポリシーとして適用が必要なパッチが変更されるタイミングで、認証ポリシーのOkta Expression Languageを更新するかたちとなります。
例えば、組織のポリシーで、2024年9月10日のKB5043076が適用されていることを必須とするタイミングで、下記のようなOkta Expression Languageを作成し認証ポリシーの更新を行います。
- Windows 11
- 22H2 (OS Build 10.0.22621)
- 累積パッチバージョン: KB5043076 (22621.4169)
- 23H2 (OS Build 10.0.22631)
- 累積パッチバージョン: KB5043076 (22631.4169)
- 22H2 (OS Build 10.0.22621)
- Okta Expression Language
- (!device.profile.osVersion.versionLessThan('10.0.22621.4169’) && !device.profile.osVersion.versionGreaterThan('10.0.22621.4169’)) ||(!device.profile.osVersion.versionLessThan('10.0.22631.4169’) && !device.profile.osVersion.versionGreaterThan('10.0.22631.4169’))
運用を考えるうえで、毎回手動で認証ポリシーのOkta Expression Languageを更新いただくのは、設定変更の負担の増加や設定ミスにも繋がる可能性がありますので、Workflowsを利用した設定更新の自動化を行っていただくことも可能です。
最後に
本投稿では、Windows端末のFeature Updateや累積パッチ適用状況に応じたアクセス制御のカスタム設定での実施方法をご紹介しました。Okta Expression Languageを利用することで、組織のポリシーに応じた柔軟なアクセス制御が可能になります。今回の内容が、運用を考える上で参考になれば幸いです。