グループルールを作成する

グループルールを作成してユーザーをグループに割り当てたり、グループから除外したりできます。基本条件またはOkta Expression Languageを使用してルールを作成できます。

Workday、Active Directory、またはその他のソースに起因する属性を評価する場合は、まずそれらをOktaユーザープロファイル属性リストにマップする必要があります。

グループルールを作成する

  1. Admin Consoleで、[Directory(ディレクトリ)][Groups(グループ)]に移動します。
  2. [Rules(ルール)]タブを選択し、[Add Rule(ルールの追加)]をクリックします。
  3. ルールの名前を入力します。
  4. IF条件については、次のいずれかのオプションを選択します。
    • [Use basic condition(基本条件を使用)]:ドロップダウンリストからオプションを選択し、文字列属性のみを使用してルールを作成します。単純なルールを作成するには、この方法を使用します。たとえば、単一の属性や1つまたは複数のグループのみから作成するルールです。
    • [Use Okta Expression Language (advanced)(Okta Expression Languageを使用:上級)]:カスタム式を用いて複雑なルールを作成する場合はこのオプションを選択します。
    • 次の項目を使用してルールを作成できます。
      • One or more(1つまたは複数)の属性
      • One or more(1つまたは複数)のグループ
      • 属性およびグループのCombinations(組み合わせ)
    • 「Okta Expression Languageについて」を参照してください。
  1. [Then Assign to(割り当て先)]に、ルール条件を満たした場合にユーザーが割り当てられるグループを1つまたは複数入力します。
  2. 重要:ユーザーは最大100個のグループに割り当てることができます。
  3. [Except The following users(以下のユーザーを除く)]に、ルールから除外するユーザーの名前を入力します。
  4. 重要:

    • 最大100人のユーザーをルールから除外できます。
    • ルール管理対象ユーザーをグループから手作業で削除した場合、そのユーザーはそのルールの[Except The following users(以下のユーザーを除く)]フィールドに自動的に追加されます。

  5. [Save(保存)]をクリックします。

ルールを作成して保存すると、そのルールはデフォルトでinactive(非アクティブ)になります。アクティブ化すると、ルールはorg全体に適用されます。その後、インポート、直接更新、またはその他の変更を通じてユーザーのプロファイルがアップデートされたときに新しいルールがそのユーザーに対して実施されます。ルールによってユーザーが[Pending(保留)]または[inactive(非アクティブ)]状態になることはありません。グループルールの作成中に間違いを犯した場合、グループルールは無効と見なされ、[Active(アクティブ)]状態になりません。

Okta Expression Languageについて

Okta Expression Languageを使用して、グループルールにカスタム式を追加できます。カスタム式を使用すると、1つ以上の属性を参照して条件を絞り込むことができます。「Okta Expression Language」を参照してください。

制約

グループルールの条件には次の制約があります。

  • 式ではOkta Expression Languageを使用する必要があります。
  • 式では有効な構文と論理演算子を使用する必要があります。
  • 式はブーリアンに評価される必要があります。
  • 式に割り当て(= )演算子を含めることはできません。
  • 式で使用されるユーザー属性では使用可能なOktaユーザー属性しか参照できません。
  • グループ属性とユーザー属性のみがサポートされます。
  • アプリケーション属性はサポートされません。

サポートされる関数

Okta Expression Languageでは、次のようなほとんどの関数がサポートされます。

  • ブーリアン演算子:ANDOR!NOT
  • 算術演算子:<><=>=
  • 等価性チェック:==

有効な条件式の例

ユーザーが以下のタイプの属性を持つと仮定します。

  • firstName(文字列)
  • lastName(文字列)
  • city(文字列)
  • salary (整数)
  • isContractor(ブール値)
  • 次の場合

    条件式

    割り当てるグループ(またはアクション)

    指定String.stringContains(user.firstName, "dummy")dummyUsers
    指定user.city == "San Francisco"sfo
    指定user.salary > 1000000expensiveEmployee
    指定! user.isContractorfullTimeEmployees
    指定user.salary > 1000000 AND !user.isContractorexpensiveFullTimeEmployee