スマートカードのidpUser式
スマートカードIDプロバイダー(IdP)を作成するときには、idpuserの属性の1つを[IdP Username(IdPユーザー名)]フィールドの値として指定する必要があります。この値は関連するユーザーの検索に使用されます。[IdP Username(IdPユーザー名)]フィールドには、Okta Expression Language式を含めることもできます。[IdP Username(IdPユーザー名)]に式が含まれている場合、式の評価結果がユーザーの照合に使用されます。このページでは、スマートカードIdPで式を使用する前に式を作成してテストするプロセスについて説明します。
IdPで使用するX509証明書のユーザー名フィールドにはスペースを使用できます。スペースをプレフィックスやサフィックスの文字として使用してはいけません。これにより、OktaはUniversal Directoryのカスタム属性を使ってユーザー名を変換できるようになります。
開始する前に
スマートカードIdPが「スマートカードIDプロバイダーを追加する」の指示に従って事前に作成されていることを確認します。
テスト属性を作成する
テスト属性は、式の結果を作成して検証するために使用されます。テスト属性を使用すると、実際のデータが上書きされるのを防ぐことができます。
-
Admin Consoleで、 に移動します。
- [プロファイルエディター]ペインで[ユーザー]タブを選択してから、[Identity Providers(IDプロバイダー)]を選択します。
- 以前に作成したスマートカードIdPの名前をクリックして開きます。[プロファイル]ページが表示されます。
- [Attributes(属性)]セクションで、[Add Attribute(属性を追加)]をクリックします。
- [属性を追加]ダイアログに次の値を入力します。
- Display name(表示名):「Test Attribute(テスト属性)」などの名前を入力します。
- Variable name(変数名):「testAttribute」などの変数名を入力します。
- 属性タイプがstringであることを確認してから、[Save(保存)]をクリックします。
式を設定する
以前に追加した属性を使用して、次の式を作成します。式は文字列を返し、1つの値に評価して、IdPの[Match against(照合対象)] フィールドの値と照合する必要があります。
-
Admin Consoleで、 に移動します。
- [Identity Providers(IDプロバイダー)]を選択します。
- 以前に作成したIdPを選択します。
- [Mapping(マッピング)]をクリックします。
- 属性値の値を表す式を入力します。たとえば、メールアドレスからアットマーク(@)の前にあるコンテンツを返すには、次の表現を使用します:
String.substringBefore(appuser.subjectAltNameEmail, "@"))。
テストの例では、idpuserの代わりにappuserを使用してください。idpuserはテストでは使用できません。
appuserはテストにのみ使用してください。それには、現在サポートされているすべてのidpuserフィールドが含まれています。
IDプロバイダーでこの式を使用する場合は、必ずappuserのすべてのインスタンスをidpuserに置き換えてください。式の詳細と例については、「式」を参照してください。
- [Save Mappings(マッピングを保存)]をクリックします。必要に応じて、式のエラーを修正します。
- プレビューのセクションでユーザーを選択してから、[Enter(入力)]をクリックします。
- 結果を調べて、式が期待値を返したことを確認します。必要に応じて繰り返します。
- 完了したら[Exit Preview(プレビューを終了)]をクリックします。
- 完成した式をコピーして、IdPで使用します。
- [Cancel(キャンセル)]をクリックします。
- テスト属性を削除します。
式をidpUserとして指定する
-
Admin Consoleで、 に移動します。
- PIVスマートカードIdPを含む行で、 をクリックします。
- [IdP Username(IdPユーザー名)]フィールドで現在のコンテンツを選択し、置き換える値を貼り付けます。
- [Update Identity Provider(IDプロバイダーを更新)]をクリックします。