IQL (Iru Query Language) は、マッピング用の Iru の式言語で、次のようないくつかの場所で使用されます。
- アプリケーションがサインオン時に受け取る属性とクレーム。
- 接続されたソースがディレクトリにマッピングするフィールド (属性マッピングを参照)。
- Auto Group ルールとリストフィルター。
データの参照
参照するものは、式が実行される場所によって異なります。-
アプリケーションマッピングは
userオブジェクトから始まります。そのフィールドはディレクトリのプロファイル属性です。デフォルトはこれを反映しています。OIDC アプリの subject のデフォルトはuser.idで、SAML アプリの Subject のデフォルトはuser.usernameです。 -
Directory Sync マッピングはソースのフィールド名を参照します。有効な IQL 識別子は、接続されたシステムから送られてくるとおりに直接記述します。有効な識別子は ASCII 文字またはアンダースコアで始まり、残りは ASCII 文字、数字、アンダースコアで構成されます。
それ以外の名前は、正確な名前で
__sourceから読み取られます。これには、スペース、記号、単一のフィールド名内のドット、ASCII 以外の文字、IQL キーワードが含まれます。たとえば、__source["Email - Work"]です。IQL で値を変換するを参照してください。
user.profile.team) でアクセスし、リストやマップには [...] でアクセスします (以下で説明)。
構成要素
リテラル
\n、\t、\\、\"、\uXXXX などの一般的なエスケープをサポートしています。
演算子
- 算術
- 比較
- 論理
- メンバーシップと選択
優先順位
結合が最も強いものから最も弱いものの順です。迷った場合は括弧を追加してください。文字列関数
文字列操作は、value.method(...) の形式で値に対するメソッドとして記述します。
条件式とデフォルト
条件演算子は、値が空である可能性がある場合にフォールバックを指定する最も簡単な方法です。オプション値
オプションヘルパーを使用すると、エラーを発生させることなく、欠落している可能性のある値を扱うことができます。optional は値を保持するか、空です。- 作成
- 安全にアクセス
- 値の取り出し
- 変換
ofNonZeroValue は次のものを空として扱います: 空の文字列 ""、0、false、空のリスト []、空のマップ {}、null。コメントと空白
空白は意味を持たず、// は行末まで続くコメントを開始します。
例
次のステップ
アプリケーションマッピング
IQL の値を、アプリケーションが受け取るアサーションまたはトークンにマッピングします。
属性マッピング
同じ IQL を使用して、接続されたソースをディレクトリにマッピングします。
自動グループ
プロファイル属性に対する IQL ルールでグループメンバーシップを駆動します。
プロファイル属性
式が値を取得する
user フィールド。