Oktaで正規表現を使用してグループをフィルタリングする方法

Single Sign-On
Okta Classic Engine

Overview

この記事では、Oktaで正規表現フィルターを使用して特定のグループをアプリケーションに送信する方法について説明します。正規表現フィルターを使用してユーザーが割り当てられているグループを送信する方法の例も紹介します。

Applies To

Cause

ユーザーがグループ属性ステートメントを必要とするアプリケーションを持っている場合、フィルターで特定のプレフィックスを使用するグループのセットと、プレフィックスのない1つの個別のグループに結果を制限する必要があります。

Solution

正規表現フィルターを使用して特定のグループをアプリケーションに送信するには、以下の手順に従います。

  1. Okta Admin Consoleにアクセスします。 
  2. グループ属性ステートメントを必要とするアプリケーションを選択します。
  3. [サインオン]タブをクリックし、[高度なサインオン設定]セクションで[編集]を選択します。
  4. 下にスクロールして[グループ属性ステートメント]セクションに移動し、[別途追加]をクリックします。
  5. グループ属性ステートメントの名前を入力します。
  6. [正規表現に一致]フィールドに、アプリケーションに送信するグループに一致する正規表現フィルターを入力します。
  7. たとえば、グループA、B、C、Dを送信するには、次の正規表現フィルターを使用します。
    .*groupA.*|.*groupB.*|.*groupC.*|.*groupD.*
  8. グループ属性ステートメントへの変更を保存し、それをアプリケーションに割り当てます。

ユーザーが割り当てられているすべてのグループを送信するには、次の正規表現フィルターを使用します。

.*

Oktaで正規表現フィルターを使用する場合、任意の文字を一致させるにはドット(.)を使用し、複数の正規表現パターンを区切るにはパイプ(|)を使用する必要があります。また、正規表現パターンがOktaに表示されるグループ名と正確に一致するようにしてください。SAML属性を構成する 

または、特定のグループを送信する必要がない場合は、次の表現を使用して、「Group」または「Other_Group」(これらの値は目的のグループ名に置き換えてください)で始まる同じ属性を持つ複数のグループを送信できます。

(Group+(.))|(Other_Group+(.)))

注:正規表現はStartsWithではなくMatchesである必要があります。結果の値は、StartsWith条件として動作します。

以下では、正規表現.*がSAML統合で使用される場合のグループ属性ステートメントにおけるグループフィルターの動作について説明します。

  • 正規表現.*グループ属性ステートメントグループフィルターに入力された場合、アサーションにはユーザーに割り当てられたすべてのグループが含まれます。

  • この選択は、ネイティブOktaグループとインポートされたActive Directoryグループの両方で構成されます。

  • Active Directoryグループのみが必要な場合は、特定の命名規則に一致する正規表現(例:AD_.*)を入力します。

    • または、^(?!groupName$).*を使用します。これは、「正確な文字列groupName除くすべてに一致する」という意味です。これにより、すべてのユーザーのアサーションから、そのグループが即座に除外されます。groupNameを、除外すべきグループに置き換えます。

Recommended content

No recommended content found...