コンテンツまでスキップ

【Okta】Multiple identifiersを使ってUsername属性以外で柔軟なログイン体験を実現する方法

はじめに

こんにちは、ネクストモード株式会社テクニカルサポート担当です。

前回の記事『【Okta】Username属性のEmail形式制限を解除して柔軟なログイン体験を実現する』では、Oktaログインで使用される「Username」属性についてご紹介しました。本記事では「Multiple identifiers」機能を活用し、「Username」属性以外の情報でもログインできるようにする方法をご紹介します。

 

設定方法

設定はDirectory > Profile EditorからOktaのUser(default)をクリックします。

Okta管理画面でProfile Editorを開いています。

 

OktaのUser(default)プロファイルから「Add Attribute」ボタンをクリックします。

OktaのUser(default)プロファイルを表示しています。

 

ここでは社員番号を想定したカスタム属性を以下のように作成します。

Multiple identifiersを利用するには、Data typeは「string」、Restrictionは「Value must be unique for each user」を選択し、User permissionは「Hide」以外に設定する必要があります。

なお、Oktaには標準で「Employee number」属性が用意されていますが、この属性はRestrictionを変更できないため、新たに「Employee number(unique)」というカスタム属性を作成しています。

カスタム属性を追加設定しています。

 

次に、Security > User profile policies内のDefault Policyの編集ボタンをクリックします。

User profile policiesを開いています。

 

Identificationタブを開き、「Add identifier」ボタンをクリックします。

Identificationタブを表示しています。

 

「Attribute」欄で先ほど作成したカスタム属性「Employee number(unique)」を選択し、「Save」をクリックします。

Add identifierの画面を表示しています。

 

これにより、UsernameとEmployee number(unique)が下図のように設定されました。

User profile policiesに指定したカスタム属性が追加されている画面です。

 

任意のユーザーのプロファイルを開き、Employee number(unique)欄に社員番号の値を設定します。

ユーザープロファイルで追加したカスタム属性に値を設定している画面です。

 

ユーザーのログイン体験

ログイン画面では、ユーザー名の欄に社員番号を入力して次へ進むことができます。

ユーザーとしてカスタム属性の値でログインを行なっている画面です。

 

Okta FastPassなどの通常の認証方法を使用してログインできます。

ログイン途中の画面です。

 

ログ確認結果

ログを確認すると、TargetのAlternateIdフィールドに社員番号が記録されていることがわかります。

ログを表示している画面です。

 

注意事項

Multiple identifiersを活用すると、ユーザーはデフォルトの「Username」以外に管理者が設定した別の属性でもログインできるようになります。単一の属性レベルでは一意であっても、利用可能な属性全体で一意でない場合は、User profile policiesで設定されたPriorityが高い属性から順に判定されます。

異なるユーザー間で属性値が重複すると(例:ユーザーAの属性1とユーザーBの属性2が同じ値)、正しいユーザーとしてログインできなくなる可能性があります。そのため、属性の設計や設定する値については慎重に検討しましょう。

User profile policiesの画面でPriorityに注目している画面です。

 

まとめ

今回の記事では、Oktaの「Multiple identifiers」機能を使用して、Username属性以外でもログインを可能にする方法を紹介しました。この機能を活用することで、メールアドレスだけでなく、社員番号など組織内で一意に定められた識別子でもログインできるようになります。ユーザーは覚えやすい情報でシステムにアクセスでき、より直感的で柔軟なログイン体験が実現します。また、企業内のシステム統合や既存の識別子を活かした認証基盤の構築にも役立ちます。

ただし、この機能を導入する際には、選択した属性の一意性を確保し、慎重に設計する必要があります。属性間で値が重複すると、意図しないユーザーとしてログインされる可能性があるため、実装前に十分な検証を行うことをお勧めします。