Google、オープンソースの高速で安全な式言語「Common Expression Language」を発表RPCのルーティングやセキュリティポリシーの定義など、多様な用途に対応

Googleは、パフォーマンスが重視されるアプリケーションにおいて、高速かつポータブルで安全に実行できる汎用の式言語「Common Expression Language」を発表した。

» 2024年06月24日 08時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 Googleは2024年6月18日(米国時間)、パフォーマンスが重視されるアプリケーションにおいて、高速かつポータブルで安全に実行できる汎用(はんよう)の式言語「Common Expression Language」(CEL)を発表した。

 CELは、式の評価に共通のセマンティクスを実装するオープンソースの非チューリング完全言語であり、異なるアプリケーションの相互運用を容易にする。

 CELは単独で使用することも、大規模なプロダクトに組み込むこともできる。リモートプロシージャコール(RPC)のルーティングからセキュリティポリシーの定義まで、さまざまなアプリケーションに適している。拡張可能でプラットフォームに依存せず、1回のコンパイル/評価のワークフロー向けに最適化されている。

CELの記述例

 Googleによると、CELは、式が頻繁に評価されるが、変更の頻度が低いアプリケーションで最も効率的に使用されるという。例えば、セキュリティポリシーに照らしてHTTPリクエストを評価することは、CELの優れたユースケースだ。CELセキュリティポリシー式では、式を検証するための1回限りの構成コストが発生し、その後はごくわずかなコストで非常に頻繁に評価される。

 CELでは、単一行の関数またはラムダ式に似た式が評価される。CELはブール値(True/False)の決定によく使用されるが、JSONやプロトコルバッファーメッセージなどのより複雑なオブジェクトを作成することもできる。

 CELはGoogleの社内外で広く使用されており、「Kubernetes」では、コストが高くつく本番環境の構成ミスを防ぐために使用されており、「Google Cloud IAM(Identity and Access Management)」では、CELを使ってきめ細かな認可を可能にしている。

CELの記述例(提供:Google) CELの記述例(提供:Google)

CELの4つのメリット

 GoogleはCELの特徴として、以下の4つを挙げている。

  • 高速:CELは、アプリケーションのパフォーマンス低下につながる動作を防止するため、ナノ秒単位またはマイクロ秒単位で評価される
  • ポータブル:さまざまなシステムにわたって共通の構文を使用し、開発者フレンドリーな軽量化が図れる
  • 拡張可能:サブセット化と拡張をサポートし、組み込みが容易で、構成やポリシーの要件に合わせて調整できる
  • 安全:非チューリング完全であり、ホストアプリケーションから提供されるデータにのみアクセスする

CELを選ぶ理由

 多くのサービスやアプリケーションは、ロールベースのアクセス制御(RBAC)のような宣言型の構成を評価する。ほとんどの場合、宣言型の構成で十分だが、より表現力が必要な場合があり、そこでCELが役立つ。例えば、属性ベースのアクセス制御(ABAC)でCEL式を使用することで、RBACを拡張し、より強力なアクセス制御が可能になる。

CELの基本コンセプト

 CELでは、式はユーザーが記述し、サービスによって定義される環境に対してコンパイルされる。コンパイルステップでは、プロトコルバッファー形式で抽象構文木(AST)が生成される。コンパイルされた式は、可能な限り高速に評価を維持できるように、後で使用するために保存される。コンパイルされた1つの式をさまざまな入力で評価できる。

 式は「解析」「チェック」「評価」の3つのフェーズで処理される。CELの最も一般的な使用パターンは、設定時に式を解析し、ASTを保存した後、実行時にASTの取得と評価を繰り返すというものだ。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。