デバイスのExpression Languageの属性

Okta Expression Languageを使用してデバイスのカスタム式を作成するときは、Oktaのデバイスプロファイルに存在する以下の属性を参照できます。

属性の名前とタイプ

説明

プラットフォーム

例

device.assurance.screenLockType

タイプ(Type):String

デバイスの画面ロックタイプの値を取得します。

すべてのプラットフォーム

NONE:デバイスにパスコードが設定されていません。

PASSCODE:デバイスにパスコードまたはパスワードのみが設定されています。生体認証は設定されていません。

BIOMETRIC:パスコードと生体認証がデバイスに設定されています。( Linuxでは利用できません)。

device.caller.binaryIdentifier

タイプ(Type):String

Okta FastPassの呼び出しを許可するアプリを識別します。

macOS、Windows

例:Google Chromeまたは3AQ936H96.org.mozilla.firefox

アプリの正確なバイナリ識別子は、システムログで調べることができます。

device.caller.bindingType

タイプ(Type):String

認証に使用されるバインディング方法を取得します。

macOS, Windows, Linux

LOOPBACK:ループバックバインディングを使用します。

APPLE_SSO_EXTENSION:バインディングにAppleのSSO拡張機能を使用します(macOSのみ)。

device.caller.validationStatus

タイプ(Type):String

バイナリが署名済みかどうかを示します。

macOS、Windows

バイナリが署名済みの場合はSUCCESSを返します。

device.id

タイプ(Type):String

Oktaがデバイスに割り当てる一意の識別子を取得します。

すべてのプラットフォーム

Okta FastPassに登録されているデバイスでユーザーがOkta FastPassを使用して認証した場合に、Oktaがデバイスに割り当てた識別子を返します。

この属性は、ユーザーがパスワードまたはその他のAuthenticatorで認証した場合、あるいはデバイスがOkta FastPassに登録されていない場合は、値は返しません。

device.provider.oktaVerify.version

タイプ(Type):String

デバイスのOkta Verifyのバージョン値を取得します。

versionGreaterThanおよびversionLessThan関数を使用して、Okta Verifyバージョンレベルと比較します。

正確なOkta Verifyバージョンと比較するには、==を使用します。

すべてのプラットフォーム

device.provider.oktaVerify.version.versionGreaterThan('9.43') == true

device.provider.oktaVerify.version.versionLessThan('9.42.0') == true

device.provider.oktaVerify.version == '9.46.1.2025.710.1826'

device.profile.diskEncryptionType

タイプ(Type):String

デバイスプロファイルのディスク暗号化タイプの値を取得します。

すべてのプラットフォーム

NONE:暗号化が設定されていません。(すべてのプラットフォーム)。

FULL:ディスクは完全に暗号化されています(Android、iOS)。

USER:暗号化キーはユーザーまたはプロファイルに関連付けられています(Android)。

ALL_INTERNAL_VOLUMES:すべての内部ディスクが暗号化されています(macOS、Windows、Linux)

SYSTEM_VOLUME:システムボリュームのみ暗号化されています(macOS、Windows、Linux)

device.profile.displayName

タイプ(Type):String

デバイスプロファイルの表示名属性の値を取得します。

4バイトのUTF-8文字はサポートされません。

すべてのプラットフォーム

DESKTOP-BE6IL05、XYZ S21

device.profile.integrityDebug

タイプ(Type):Boolean

デバッガーが検出されたかどうかを示します。

Android、iOS

trueまたはfalse

device.profile.integrityEmulator

タイプ(Type):Boolean

デバイスがエミュレーターとして動作するかどうかを示します。

Android、iOS

trueまたはfalse

device.profile.integrityHook

タイプ(Type):Boolean

内部関数またはランタイムフックが検出されたかどうかを示します。

Android、iOS

trueまたはfalse

device.profile.integrityJailbreak

タイプ(Type):Boolean

モバイルデバイスがジェイルブレイクまたはルート化されているかどうかを示します。

Android、iOS

trueまたはfalse

device.profile.integrityRepackage

タイプ(Type):Boolean

未知のサードパーティがモバイルデバイスアプリを再パッケージ化したかどうかを示します。

Android、iOS

trueまたはfalse

device.profile.managed

タイプ(Type):Boolean

デバイスプロファイルの管理対象属性の値を取得します。

すべてのプラットフォーム

trueまたはfalse

device.profile.manufacturer

タイプ(Type):String

デバイスプロファイルのメーカー属性の値を取得します。

すべてのプラットフォーム

VMware, Inc.

Samsung

device.profile.model

タイプ(Type):String

デバイスプロファイルのモデル属性の値を取得します。

すべてのプラットフォーム

VMware7,1

SM-G991U1

device.profile.osVersion

タイプ(Type):String

デバイスプロファイルのオペレーティングシステムのバージョン属性の値を取得します。

versionGreaterThanまたはversionLessThan関数を使用して、OSのバージョンを比較します。

すべてのプラットフォーム

10.0.18362

30

device.profile.osVersion.versionGreaterThan('14.2.1') == true

device.profile.platform

タイプ(Type):String

デバイスプロファイルのオペレーティングシステムの値を取得します。

ChromeOSを含むすべてのプラットフォーム

IOS、 ANDROID、 LINUX、 WINDOWS、 MACOS、 MOBILE_OTHER、 DESKTOP_OTHER、または CHROMEOS

device.profile.registered

タイプ(Type):Boolean

デバイスプロファイルの登録済み属性の値を取得します。

すべてのプラットフォーム

true

device.profile.secureHardwarePresent

タイプ(Type):Boolean

デバイスプロファイルのセキュアハードウェア存在属性の値を取得します。

これによりチップの有無を確認します(形式:Trusted Platform Module(TPM)またはSecure Enclave)。セキュアハードウェアにトークンがあるかどうかは確認されません。

すべてのプラットフォーム

trueまたはfalse

device.profile.serialNumber

タイプ(Type):String

デバイスプロファイルのシリアル番号属性の値を取得します。

Linuxでは、この属性はnullを返します。

Linuxを除く(MDMを介した)すべてのプラットフォーム

VMware-56 5d e2 35 bd d8 66 75-5a bc 10 06 4c 6a fb 85

device.profile.sid

タイプ(Type):String

デバイスプロファイルのセキュリティ識別子(SID)属性の値を取得します。これはWindowsデバイスでのみ使用できます。

Windows

S-1-5-21-1016203815-1917570059-4244971090-500

device.profile.tpmPublicKeyHash

タイプ(Type):String

デバイスプロファイルのTrusted Platform Module(TPM)公開鍵ハッシュ属性の値を取得します。

Windows

18e3b568aeb17b4e75f3838d6b01ffe63c52d976950943a10968761b5bfe3f4d

device.profile.udid

タイプ(Type):String

デバイスプロファイルの一意のデバイスID(UDID)属性の値を取得します。

AndroidとiOS、macOSでは、この属性は特定の管理対象シナリオでのみ使用できます。

Linuxでは、値が /etc/machine-idから取得されるため、この属性は常に存在します。

Android、iOS、macOS、Linux

35E24D56-D8BD-7566-1ABC-10064C6AFB85

デバイスアクセス属性

次の表に、デバイスアクセスの属性を示します。

属性の名前とタイプ

説明

プラットフォーム

例

device.provider.deviceAccess.joined

タイプ(Type):Boolean

デバイスがOktaに参加していて、デバイスバウンドSSOのような高度な機能を使用できるかどうかを示します。

「Device-Bound Single Sign-On」を参照してください。

macOS、Windows

trueまたはfalse

device.provider.deviceAccess.joined == true

演算子(Operators)

カスタム式で演算子を使用して決定を処理します。カスタム式では任意のOkta Expression Language演算子を使用できます。次の表に、よく使用される演算子を示します。

演算子 説明
&& AND関数を示します。
|| OR関数を示します。
! NOT関数を示します。
<、>、<=、および>= 関係演算子を示します。
== 等しいかどうかをチェックします。
!= 不等式をチェックします。

Okta Expression Language関数の完全なリストについては、「Okta Expression Language」を参照してください。

重要な考慮事項

  • カスタム式にデバイス条件を含める場合は、必ずdevice.profile.registered == trueを含めてください。
  • 一般に、デバイス属性はOkta FastPassが有効になっている場合にのみ使用できます。
  • デバイス属性を評価できるのは、Okta Verifyがインストールされている場合のみです。