グループルールを作成する
グループルールを作成してユーザーをグループに割り当てたり、グループから除外したりできます。基本条件またはOkta Expression Languageを使用してルールを作成できます。
Workday、Active Directory、またはその他のソースに起因する属性を評価する場合は、まずそれらをOktaユーザープロファイル属性リストにマップする必要があります。
グループルールを作成する
- Admin Consoleでに移動します。
- ルール(Rules)タブを選択し、ルールの追加(Add Rule)をクリックします。
- ルールの名前を入力します。
- IF条件については、次のいずれかのオプションを選択します。
- 基本条件を使用(Use basic condition):ドロップダウンリストからオプションを選択し、文字列属性のみを使用してルールを作成します。1つの属性や、1つ以上のグループから作成する場合など、簡単なルールを作成する場合はこの方法を使用します。
- OktaExpression Language:上級を使用する(Use Expression Language (advanced)):カスタム式を用いて複雑なルールを作成する場合はこのオプションを選択します。
- 次の項目を使用してルールを作成できます。
- 1つまたは複数の(One or more)属性
- 1つまたは複数の(One or more)グループ
- 属性およびグループの組み合わせ(Combinations)
- Okta Expression Languageについてを参照してください。
- 割り当て先(Then Assign to)に、ルール条件を満たした場合にユーザーが割り当てられるグループを1つまたは複数入力します。 注:
ユーザーは最大100個のグループに割り当てることができます。
- 以下のユーザーを除く(Except The following users)に、ルールから除外するユーザーの名前を入力します。 注:
最大100人のユーザーをルールから除外できます。
ルール管理対象ユーザーをグループから手作業で削除した場合、そのユーザーはそのルールの以下のユーザーを除く(Except The following users)リストに自動的に追加されます。
- 保存(Save)をクリックします。
グループルールによってソースグループでユーザーが追加または削除されると、ターゲットグループも更新されます。ただし、ターゲットグループを手動で変更した場合は、ソースグループは変更されません。
ルールを作成して保存すると、そのルールはデフォルトで非アクティブ(Inactive)になります。アクティブ化すると、ルールはorg全体に適用されます。その後、インポート、直接更新、またはその他の変更を通じてユーザーのプロファイルが更新されたときに新しいルールがそのユーザーに対して実施されます。ルールによって、保留(Pending)または非アクティブ(Inactive)状態のユーザーが移動されることはありません。グループルールの作成中に間違いを犯した場合、グループルールは無効と見なされ、アクティブ(Active)状態になりません。
Okta Expression Language
Okta Expression Languageを使用して、グループルールにカスタム式を追加できます。カスタム式を使用すると、1つ以上の属性を参照して条件を絞り込むことができます。 Okta Expression Languageを参照してください。
たとえば、グループルールにユーザーステータス(user.getInternalProperty("status"))を適用して、グループメンバーシップを管理できます。このルールがアクティブ化されると、指定したステータスを持つすべてのユーザーがターゲットグループに含まれます。この関数でサポートされる値を確認するには、OktaユーザーIDとステータスを参照してください。
ユーザーステータスが指定されている場合、そのユーザーステータスのユーザーのみがターゲットグループに含まれます。ユーザーステータスが指定されていない場合、アクティブなユーザーのみがターゲットグループに含まれます。
制約
グループルールの条件には次の制約があります。
- 式ではOkta Expression Language(OEL)を使用する必要があります。
- 式では有効な構文と論理演算子を使用する必要があります。
- 式はブーリアンに評価される必要があります。
- 式に割り当て(
=)演算子を含めることはできません。 - 式で使用されるユーザー属性では使用可能なOktaユーザー属性しか参照できません。
- グループ属性とユーザー属性のみがサポートされます。
- アプリケーション属性はサポートされません。
サポートされる関数
Okta Expression Languageでは、次のようなほとんどの関数がサポートされます。
- ブーリアン演算子:
AND、OR、!(NOT) - 算術演算子:
<、>、<=、>= - 等価性チェック:
==
有効な条件式の例
ユーザーが以下のタイプの属性を持つと仮定します。
-
firstName(文字列) -
lastName(文字列) -
city(文字列) -
salary(整数) -
isContractor(ブール値)
次の表では、OELを使用した式の例をいくつか示します。あるユーザーについて式がtrueに評価されると、指定した割り当てが実行されます。
|
暗黙的(If) |
条件式 |
割り当てるグループ(またはアクション) |
|---|---|---|
| If | String.stringContains(user.department, "Sales") |
Sales |
| If | user.city == "San Francisco" |
SFOffice |
| If | user.salary > 1000000 |
expensiveEmployee |
| If | ! user.isContractor |
fullTimeEmployees |
| If | user.salary > 1000000 AND !user.isContractor |
expensiveFullTimeEmployee |