このページでは、カスタム アクセスレベルの Common Expression Language (CEL)式のビルドに使用されるオブジェクトと属性について詳しく説明します。例を紹介します。
CEL の詳細については、CEL 言語の定義 をご覧ください。
オブジェクト 
Access Context Manager には、アクセスレベル属性を含む 4 つのオブジェクトを提供します。
  
    
      
        オブジェクト
       
     
   
  
    
      
        origin 
       
      
        リクエストの送信元を識別する属性が含まれます。
       
     
    
      
        request.auth 
       
      
        リクエストの認証と認証の側面を識別する属性が含まれます。
       
     
    
    
      request.time 
     
    
    時刻ベースの属性が含まれています。この属性を使用して、時刻、曜日、特定の日付範囲に基づいてリソースへのアクセスを制限できます。 
     
    
      
        levels 
       
      
        他のアクセスレベルの依存関係を定義する属性が含まれます。
       
     
    
      
        device 
       
      
        リクエストの送信元のデバイスを記述する属性が含まれます。
       
     
   
origin の属性 
このセクションでは、origin オブジェクトでサポートされる属性について表示します。
  
    
      属性
       
     
   
  
    
      
        ip
       
      
        
          
            型 
             
            文字列
             
           
          
            
              説明 
             
            
              
                リクエストの送信元 IP アドレス。IP アドレスを判別できない場合、origin.ip はエラーと評価されます。文字列を比較するのではなく、inIpRange を使用して、送信元 IP アドレスが特定の IP アドレス範囲内にあるかどうか確認することをおすすめします。
              
                警告:  origin.ip と空の文字列を比較しないでください。動作は未定義になります。 
              
                例: 
              
              
                
inIpRange ( origin.ip ,   [ "203.0.113.24" ])  
              
             
           
        
       
     
    
      
        region_code
       
      
        
          
            型 
             
            文字列
             
           
          
            
              説明 
             
            
              
                リクエスト送信元の国またはリージョンの ISO 3166-1 alpha-2 コード 。リージョン コードを判別できない場合、origin.region_code はエラーと評価されます。
              
                警告:  origin.region_code と空の文字列を比較しないでください。動作は未定義になります。 
              
                例: 
              
              
                
origin.region_code   ==   "GB" 
origin.region_code   in   [ "US" ,   "FR" ,   "JP" ]  
              
             
           
        
       
     
   
request.auth の属性 
このセクションでは、request.auth オブジェクトでサポートされる属性について表示します。
  
    
      属性
       
     
   
  
    
      
        principal
       
      
        
          
            型 
             
            文字列、リスト(文字列)
             
           
          
            説明 
             
            
              リクエストを発行したユーザーの一意の ID。
              
              
                request.auth.principal の値は、1 つ以上の固有のユーザー ID である必要があります。UUID は Admin SDK Directory API  を使用して取得できます。
              値は次の形式にする必要があります。
                https://accounts.google.com/UUID 
              ここで、UUID  はユーザーの UUID です。
              
                例: 
              
              
                
request.auth.principal   ==   "https://accounts.google.com/1134924314572461055" 
request.auth.principal   in   [ "https://accounts.google.com/1134924314572461055" ,   "https://accounts.google.com/3134824314572461115" ]  
              
             
           
        
       
     
    
      
        claims.crd_str.pwd
       
      
        
          
            型 
             
            ブール値
             
           
          
            
              説明 
             
            
              
                ユーザーはパスワードで認証されます。
              
                例: 
              
              
                
request.auth.claims.crd_str.pwd   ==   true  
              
           
           
        
       
     
      
      
        claims.crd_str.push
       
      
        
          
            型 
             
            ブール値
             
           
          
            
              説明 
             
            
              
                モバイル デバイスへのプッシュ通知でユーザーは認証されます。
              
              
                例: 
              
              
                
request.auth.claims.crd_str.push   ==   true  
              
             
           
        
       
     
      
      
        claims.crd_str.sms
       
      
        
          
            型 
             
            ブール値
             
           
          
            
              説明 
             
            
              
                ユーザーは、SMS または通話に送信されたコードを使用して認証されます。
              
                例: 
              
              
                
request.auth.claims.crd_str.sms   ==   true  
              
             
           
        
       
     
      
      
        claims.crd_str.swk
       
      
        
          
            型 
             
            ブール値
             
           
          
            
              説明 
             
            
              
                2 段階認証プロセスには、スマートフォンなどのソフトウェアキーをセキュリティ キーとして使用します。
              
              
                例: 
              
              
                
request.auth.claims.crd_str.swk   ==   true  
              
             
           
        
       
     
      
      
        claims.crd_str.hwk
       
      
        
          
            型 
             
            ブール値
             
           
          
            
              説明 
             
            
              
                2SV には Google Titan キーなどのハードウェア キーを使用します。
              
              
                例: 
              
              
                
request.auth.claims.crd_str.hwk   ==   true  
              
             
           
        
       
     
     
      
        claims.crd_str.otp
       
      
        
          
            型 
             
            ブール値
             
           
          
            
              説明 
             
            
              
                ユーザーは、ワンタイム パスワード方式(Google 認証システムとバックアップ コード)で認証されます。
              
                例: 
              
              
                
request.auth.claims.crd_str.otp   ==   true  
              
             
           
        
       
     
    
      
        claims.crd_str.mfa
       
      
        
          
            型 
             
            ブール値
             
           
          
            
              説明 
             
            
              
                ユーザーは、このテーブル(pwdを除く)のメソッドのいずれかで認証されます。
              
                例: 
              
              
                
request.auth.claims.crd_str.mfa   ==   true  
              
           
           
        
       
     
    
    
認証情報の安全度のポリシーの詳細については、認証情報の安全度のポリシーを構成する をご覧ください。
request.time の属性 
このセクションでは、request.time オブジェクトでサポートされる属性について表示します。
  
    
      属性
       
     
   
  
    
      
        getFullYear()
       
      
        
          
            型 
             
            文字列
             
           
          
            説明 
             
            
              
                年(例: 2023)を取得します。
              
                例: 
              
              
                request.time.getFullYear("America/Los_Angeles") == 2024
              
             
           
        
       
     
    
      
        getMonth()
       
      
        
          
            型 
             
            文字列
             
           
          
            説明 
             
            
              
                月(0(1 月)~ 11(12 月))を取得します。
              
                例: 
              
              
                request.time.getMonth("America/Los_Angeles") == 0(1 月)
              
             
           
        
       
     
    
      
        getDate()
       
      
        
          
            
              タイプ 
             
            文字列
             
           
          
            説明 
             
            
              
                1 ~ 31 の範囲で、月の何日目かを取得します。
              
                例: 
              
              
                request.time.getDate("America/Los_Angeles") == 1
              
             
           
        
       
     
    
      
        getDayOfMonth()
       
      
        
          
            型 
             
            文字列
             
           
          
            説明 
             
            
              
                月の何日目か(0 ~ 30、0 は 1 日目)を取得します。
              
                例: 
              
              
                request.time.getDayOfMonth("America/Los_Angeles") == 0(月の 1 日)
              
             
           
        
       
     
    
      
        getDayOfWeek()
       
      
        
          
            
              タイプ 
             
            文字列
             
           
          
            説明 
             
            
              
                曜日を 0(日曜日)から 6(土曜日)までの値で取得します。
              
                例: 
              
              
                request.time.getDayOfWeek("America/Los_Angeles") == 1(月曜日)
              
             
           
        
       
     
    
      
        getDayOfYear()
       
      
        
          
            
              タイプ 
             
            文字列
             
           
          
            説明 
             
            
              
                年の経過日数を 0 ~ 365 の範囲で取得します。
              
                例: 
              
              
                request.time.getDayOfYear("America/Los_Angeles") == 0(1 月 1 日)
              
             
           
        
       
     
    
      
        getHours()
       
      
        
          
            
              タイプ 
             
            文字列
             
           
          
            説明 
             
            
              
                午前 0 時から午後 11 時までの時間を取得します。
              
                例: 
              
              
                request.time.getHours("America/Los_Angeles") == 19(午後 7 時)
              
             
           
        
       
     
    
      
        getMinutes()
       
      
        
          
            
              タイプ 
             
            文字列
             
           
          
            説明 
             
            
              
                0 ~ 59 の範囲で、時間の分を取得します。
              
                例: 
              
              
                request.time.getMinutes("America/Los_Angeles") == 30
              
             
           
        
       
     
   
levels 属性 
このセクションでは、levels オブジェクトでサポートされる属性について表示します。
  
    
      属性
       
     
   
  
    
      
        level name 
       
      
        
          
            型 
             
            ブール値
             
           
          
            説明 
             
            
              level name  は、既存のアクセスレベルの名前に対応します。
              
              使用する場合は、カスタム アクセスレベルの他の要件に加えて、指定したアクセスレベルの条件も満たしている必要があります。
              例: 
              
              
                
levels.allow_corp_ips   
              
              ここで、allow_corp_ips  はアクセスレベルの名前です。
              
             
           
        
       
     
   
device 属性 
このセクションでは、device オブジェクトでサポートされる属性について表示します。リクエスト内の識別子に関連付けられているデバイスが見つからなかった場合、次の属性はすべてエラーと評価されます。
  
    
      
        属性
       
     
   
  
    
      
        encryption_status
       
      
        
          
            型 
             
            enum
             
           
          
            説明 
             
            
              デバイスの暗号化ステータスを示します。
              
              列挙値: 
              
              
                
enum   DeviceEncryptionStatus   { 
   // The encryption status of the device is not specified or not known. 
   ENCRYPTION_UNSPECIFIED   ==   0 ; 
   // The device does not support encryption. 
   ENCRYPTION_UNSUPPORTED   ==   1 ; 
   // The device supports encryption, but is currently unencrypted. 
   UNENCRYPTED   ==   2 ; 
   // The device is encrypted. 
   ENCRYPTED   ==   3 ; 
}  
              
              例: 
              
              
                
device.encryption_status   ==   DeviceEncryptionStatus.ENCRYPTED  
              
             
           
        
       
     
    
      
        is_admin_approved_device
       
      
        
          
            型 
             
            ブール値
             
           
          
            説明 
             
            
              デバイスがドメイン管理者によって承認されているかどうかを示します。
              例: 
              
              
                
device.is_admin_approved_device   ==   true  
              
             
           
        
       
     
    
    
      
        is_corp_owned_device
       
      
        
          
            型 
             
            ブール値
             
           
          
            説明 
             
            
              組織がデバイスを所有しているかどうかを示します。
              
              例: 
              
              
                
device.is_corp_owned_device   ==   true  
              
             
           
        
       
     
    
    
      
        is_secured_with_screenlock
       
      
        
          
            型 
             
            ブール値
             
           
          
            説明 
             
            
              デバイスで画面ロック機能が有効になっているかどうかを示します。
              
              例: 
              
              
                
device.is_secured_with_screenlock   ==   true  
              
             
           
        
       
     
    
    
      
        os_type
       
      
        
          
            型 
             
            enum
             
           
          
            説明 
             
            
              デバイスが使用しているオペレーティング システムを特定します。
              
              列挙値: 
              
              
                
enum   OsType   { 
   // The operating system of the device is not specified or not known. 
   OS_UNSPECIFIED   ==   0 ; 
   // A desktop Mac operating system. 
   DESKTOP_MAC   ==   1 ; 
   // A desktop Windows operating system. 
   DESKTOP_WINDOWS   ==   2 ; 
   // A desktop Linux operating system. 
   DESKTOP_LINUX   ==   3 ; 
   // An Android operating system. 
   ANDROID   ==   4 ; 
   // An iOS operating system. 
   IOS   ==   5 ; 
   // A desktop ChromeOS operating system. 
   DESKTOP_CHROME_OS   ==   6 ; 
}  
              
              例: 
              
              
                
device.os_type   ==   OsType.DESKTOP_MAC 
device.os_type   ! =   OsType.OS_UNSPECIFIED  
              
             
           
        
       
     
    
      
        vendors
       
      
        
          
            型 
             
            map<string, Vendor> vendors;
             
           
          
            説明 
             
            
             
             
              
  
    
      
     
        プレビュー版
     
       
     
    
    
      
     
       
          このプロダクトまたは機能は
       
        サービス固有の規約 の対象となります。
       
        一般提供前のプロダクトと機能は「現状のまま」で提供されるものであり、サポートが制限されることがあります。 
      詳細については、リリース ステージの説明 をご覧ください。
 
   
              
                vendors オブジェクトは、サードパーティのセキュリティ ベンダーやエンドポイント管理ベンダーが提供するデータへのアクセスに使用されます。各ベンダーは、is_compliant_device、is_managed_device、device_health_score の 3 つの共有トップレベル属性を入力できます。
              
                さらに、ベンダーは、data 属性を使用して参照される独自のキーと値を提供できます。data 属性で使用可能なキーはベンダーごとに異なります。ポリシー エクスプレッションの Key-Value を比較する際は、一貫性があることを確認してください。たとえば、Key-Value が文字列またはブール値になると予想される場合は、対応するポリシー エクスプレッションの文字列またはブール値と比較してください。値が整数の場合は、ポリシー エクスプレッションで 2 倍の数値と比較する必要があります。
              
              デバイスの状態 を参照するには、key-acme の形式を使用します。ここで、acme は組織の顧客 ID です。お客様 ID は GET https://www.googleapis.com/admin/directory/v1/customers/my_customer URL から取得できます。レスポンスの ID フィールドには、文字 C で始まる顧客 ID が含まれます。お客様 ID には、文字 C を除く、文字 C の後の文字列を使用します。
              
                注:  利用可能なベンダーとベンダー固有のキーの完全なリストはありません。
               
              列挙値: 
              
              
                
// Health score of the device as provided by the vendor (possibly third party). 
enum   DeviceHealthScore   { 
   // The health score for the device is not specified or unknown. 
   DEVICE_HEALTH_SCORE_UNSPECIFIED   =   0 ; 
   // The health of the device is very poor. 
   VERY_POOR   =   1 ; 
   // The health of the device is poor. 
   POOR   =   2 ; 
   // The health of the device is ok. 
   NEUTRAL   =   3 ; 
   // The health of the device is good. 
   GOOD   =   4 ; 
   // The health of the device is very good. 
   VERY_GOOD   =   5 ; 
}  
              
              
                例: 
              
              
                
device.vendors [ "some_vendor" ] . is_compliant_device   ==   true  
              
              
                
device.vendors [ "some_vendor" ] . is_managed_device   ==   true  
              
              
                
device.vendors [ "some_vendor" ] . device_health_score   ==   DeviceHealthScore.VERY_GOOD  
              
              
                
device.vendors [ "some_vendor" ] . data [ "is_device_compromised" ]   ==   true  
              
              
                
device.vendors [ "some_vendor" ] . data [ "some_num" ]   ==   1.0  
              
              
                注:  is_device_compromised は、ベンダーによって定義されたキーを表す例にすぎません。 
             
           
        
       
     
    
      
        android_device_security.verified_boot
       
      
        
       
     
    
      
        android_device_security.cts_profile_match
       
      
        
          
            型 
             
            ブール値
             
           
          
            
              説明 
             
            
              
                デバイスが CTS プロファイル コンプライアンス に合格するかどうか。
              
                例: 
              
              
                
device.android_device_security.cts_profile_match   ==   true  
              
             
           
        
       
     
    
      
        android_device_security.verify_apps_enabled
       
      
        
          
            型 
             
            ブール値
             
           
          
            
              説明 
             
            
              
                デバイスで Google Play プロテクト の [アプリの確認] が有効になっているかどうか。
              
                例: 
              
              
                
device.android_device_security.verify_apps_enabled   ==   true  
              
             
           
        
       
     
    
      
        android_device_security.has_potentially_harmful_apps
       
      
        
          
            型 
             
            ブール値
             
           
          
            
              説明 
             
            
              デバイスで有害な可能性があるアプリ が見つかったかどうかを示します。
              
                例: 
              
                
device.android_device_security.has_potentially_harmful_apps   ==   true  
             
           
        
       
     
    
      
        ios_device_security.is_device_jailbroken
       
      
        
          
            型 
             
            ブール値
             
           
          
            
              説明 
             
            
              
                iOS デバイスが制限解除 された事が判明しているかどうか。
              
              
                例: 
              
              
                
device.ios_device_security.is_device_jailbroken   ==   true  
              
             
           
        
       
     
    
      
        verified_chrome_os
       
      
        
          
            型 
             
            ブール値
             
           
          
            
              説明 
             
            
              検証済みの Chrome OS  のデバイスからリクエストが送られたものかどうかを示します。
              
              
                例: 
              
              
                
device.verified_chrome_os   ==   true  
              
             
           
        
       
     
    
      
        chrome.management_state
       
      
        
          
            型 
             
            文字列
             
           
          
            
              説明 
             
            
              
                ブラウザはブラウザレベルまたはプロファイル レベルで管理されているか、企業の正しいドメインの元で管理されていますか。
              
                ポリシーが一元的に管理、プッシュされており、管理対象ブラウザまたはプロファイルのドメインがサーバー側の想定ドメインと一致すると、ブラウザは管理対象とみなされます。
              
              利用可能な Chrome 管理の状態は次のとおりです。
            
               
               
             
            
              
                状態 
               
             
            
              
                MANAGED 
                ブラウザまたはプロファイルがお客様によって管理されています。 
               
              
                UNMANAGED 
                ブラウザまたはプロファイルがお客様によって管理されていません。 
               
              
                MANAGED_BY_OTHER_DOMAIN 
                ブラウザまたはプロファイルが他のお客様によって管理されています。 
               
              
                PROFILE_MANAGED 
                プロファイルはお客様が管理します。 
               
              
                BROWSER_MANAGED 
                ブラウザはお客様が管理します。 
               
             
          
              
              
                例: 
              
              
                
device.chrome.management_state   in 
     [ 
         ChromeManagementState.CHROME_MANAGEMENT_STATE_BROWSER_MANAGED , 
         ChromeManagementState.CHROME_MANAGEMENT_STATE_PROFILE_MANAGED , 
     ]  
              
             
           
        
       
     
    
      
        chrome.versionAtLeast
       
      
        
          
            型 
             
            文字列
             
           
          
            
              説明 
             
            
              
                ブラウザが特定の最小バージョン以上ですか。
              
                例: 
              
              
                
device.chrome.versionAtLeast ( "88.0.4321.44" )  
              
             
           
        
       
     
    
      
        chrome.is_realtime_url_check_enabled
       
      
        
          
            型 
             
            ブール値
             
           
          
            
              説明 
             
            
              
                リアルタイム URL チェック コネクタが有効になっていますか。
              
                例: 
              
              
                
device.chrome.is_realtime_url_check_enabled   ==   true   |   false  
              
             
           
        
       
     
    
      
        chrome.is_file_upload_analysis_enabled
       
      
        
          
            型 
             
            ブール値
             
           
          
            
              説明 
             
            
              
                ファイル アップロード分析コネクタが有効になっていますか。
              
                例: 
              
              
                
device.chrome.is_file_upload_analysis_enabled   ==   true   |   false  
              
             
           
        
       
     
    
      
        chrome.is_file_download_analysis_enabled
       
      
        
          
            型 
             
            ブール値
             
           
          
            
              説明 
             
            
              
                ファイル ダウンロード分析コネクタが有効になっていますか。
              
                例: 
              
              
                
device.chrome.is_file_download_analysis_enabled   ==   true   |   false  
              
             
           
        
       
     
    
      
        chrome.is_bulk_data_entry_analysis_enabled
       
      
        
          
            型 
             
            ブール値
             
           
          
            
              説明 
             
            
              
                一括テキスト(貼り付け)分析コネクタが有効になっていますか。
              
                例: 
              
              
                
device.chrome.is_bulk_data_entry_analysis_enabled   ==   true   |   false  
              
             
           
        
       
     
    
      
        chrome.is_security_event_analysis_enabled
       
      
        
          
            型 
             
            ブール値
             
           
          
            
              説明 
             
            
              
                セキュリティ イベント レポート コネクタが有効になっていますか。
              
                例: 
              
              
                
device.chrome.is_security_event_analysis_enabled   ==   true   |   false  
              
             
           
        
       
     
   
関数 
Access Context Manager は、カスタム アクセスレベルの CEL 式で次の関数が使用できます。
  
    
      関数
       
     
   
  
    
      
        inIpRange(address, [subnets])
       
      
        
          
            型 
             
            
              (string, list(string)) -< boolean
             
           
          
            説明 
             
            
              
                IP アドレスが指定したサブネットの 1 つに属するかを確認します。
              
              
                警告:  この関数を使用して、送信元 IP アドレスが特定のプライベート IP サブネット内にあるかどうかを確認しないでください。Google 内のプライベート IP アドレスは変更される場合があります。 
              
                例: 
              
              
                
inIpRange ( origin.ip ,   [ "192.0.2.0/24" ,   "198.51.100.0/24" ,   "203.0.113.0/24" ])  
              
             
           
        
       
     
    
      
        device.versionAtLeast(minVersion)
       
      
        
          
            型 
             
            
              DeviceType.(string)-> boolean 
           
          
            説明 
             
            
              
                デバイスのオペレーティング システムが少なくとも特定のバージョンかどうかを確認します。この関数は、device.os_type 属性と一緒に使用することをおすすめします。
              例: 
              
              
                
device.versionAtLeast ( "10.0" )   ==   true  
              
             
           
        
       
     
    
      
        certificateBindingState(origin, device)
       
      
        
          
            型 
             
            
              (Peer, DeviceType) -> integer
             
           
          
            説明 
             
            
              発信元に関連付けられたクライアント証明書がデバイスと一致し、状態を報告するかを確認します。
              関数から返される状態は、次のいずれかになります。
              
                
                  CertificateBindingState.CERT_MATCHES_EXISTING_DEVICE
                 
                
                  CertificateBindingState.CERT_NOT_MATCHING_EXISTING_DEVICE
                 
                
                  CertificateBindingState.CERT_STATE_UNKNOWN
                 
               
              
                例: 
              
              
                
certificateBindingState ( origin ,   device )   ==   CertificateBindingState.CERT_MATCHES_EXISTING_DEVICE  
              
             
           
        
       
     
    
      
        startsWith()
       
      
        
          
            
              タイプ 
             
            string.(string) -> bool 
           
          
            
              説明 
             
            
              文字列オペランドが接頭辞引数で始まるかどうかをテストします。
              
                例: 
              
              
                
"Sample string" . startsWith ( "Sample" )  
              
             
           
        
       
     
    
      
        endsWith()
       
      
        
          
            
              タイプ 
             
            string.(string) -> bool 
           
          
            
              説明 
             
            
              文字列オペランドが接尾辞引数で終わるかどうかをテストします。
              
                例: 
              
              
                
"Sample string" . endsWith ( "string" )  
              
             
           
        
       
     
        
      
        origin.clientCertFingerprint()
       
      
        
          
            
              タイプ 
             
            
              Origin.() -> string
             
           
          
            
              説明 
             
            
              発信元に関連付けられた証明書のフィンガープリントを返します。これをマクロで使用してデバイス証明書をテストできます。
              
                例: 
              
              
                
// Checks if the enterprise certificate associated with the origin matches the device. 
device.certificates.exists ( cert ,   cert.is_valid  &&  cert.cert_fingerprint   ==   origin.clientCertFingerprint ())  
              
             
           
        
       
     
   
CEL 式のマクロ 
カスタム アクセスレベルの CEL 式では、次のマクロを使用できます。
  
    マクロ 
    説明 
   
  
    has(e.f) 
    フィールドが使用可能かどうかをテストします。詳しくは、フィールドの選択 をご覧ください。例:
has({"key": "value"}.key)
has(device.vendors.some_vendor)
 
  
  
    e.all(x, p) 
    述語が、リスト e のすべての要素を保持しているか、マップ e のキーを保持しているかをテストします。ここで、x は、要素またはキーにバインドされる p で使用する識別子です。all() マクロは、要素ごとの述語結果を and(&&)演算子で結合します。そのため、述語のいずれかが false と評価されると、このマクロは他の述語のエラーを無視して false と評価されます。例:
  すべての要素が 1 より大きいとは限らないため、false を返します。 
    [1,2,3].all(x, x > 1)
   
  
    e.exists(x, p) 
    all() マクロと似ていますが、述語結果を or(||)演算子で結合します。例:リストに 1 を超える要素が少なくとも 1 つ存在するため、true が返されます。 
        [1,2,3].exists(x, x > 1)
      
      デバイスに関連付けられているエンタープライズ証明書が発行者と一致するかどうかを確認します。 
     device.certificates.exists(cert, cert.is_valid && cert.issuer == "EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN")
 
       
  
    e.exists_one(x, p) 
    exists() マクロと類似していますが、要素またはキーの述語が 1 つだけ true と評価され、残りが false と評価される場合にのみ true と評価されます。ブール値の結果の他の結合が false と評価され、述語エラーがあるとマクロでエラーが発生します。例: 
複数の要素が 1 より大きいため、false が返されます。[1,2,3].exists_one(x, x > 1)
 
       
CEL 式の例 
このセクションでは、カスタム アクセスレベルの作成に使用される CEL 式の例を示します。
例 1 
device.encryption_status   ==   DeviceEncryptionStatus.ENCRYPTED  &&  ( origin.region_code   in   [ "US" ]   ||   device.is_admin_approved_device )  
この例は、リクエストを許可するために次の条件を満たす必要があるアクセスレベルを表します。
リクエストの送信元デバイスが暗号化されている。
 
次のうち 1 つ以上に該当する。
 
 
例 2 
( device.os_type   ==   OsType.DESKTOP_WINDOWS  &&  device.is_corp_owned_device )   ||   ( device.os_type   ==   OsType.DESKTOP_MAC  &&  device.is_admin_approved_device  &&  device.versionAtLeast ( "10.11.0" ))  
この例は、リクエストを許可するために次の条件を満たす必要があるアクセスレベルを表します。
例 3 
( certificateBindingState ( origin ,   device )   ==   CertificateBindingState.CERT_MATCHES_EXISTING_DEVICE )  
この例は、リクエストを許可するために次の条件を満たす必要があるアクセスレベルを表します。
certificateBindingState 拡張関数は、要求時に提示された証明書が、デバイスがエンドポイント検証 に登録されたときに登録されたデバイス証明書の1つと一致することを判別する。