2.7.3 属性/グループ/ロールのマッピング
外部IdPユーザーとOps Iユーザーを連携させるため、外部IdPユーザーの属性情報をもとに、Ops Iユーザーの属性情報、グループ、およびロールのマッピングを行います。
マッピングは、OIDCまたはSAMLの接続設定ごとに複数のマッピングの設定を登録することが可能です。
マッピングの設定はOps Iセキュリティ管理者が実施します。
以下の属性項目はOps Iのユーザープロファイルの必須項目のため、マッピングの設定または自動でのマッピングによって、必ず値を設定する必要があります。値が不足していた場合はログインエラーとなります。
- メールアドレス
- 名前(名)
- 苗字(姓)
マッピングは[接続設定の詳細]画面のマッピングタブで行います。詳細については「マッピングタブ」を参照してください。OIDCの接続設定については「OIDCの接続設定手順」と「OIDCの追加」、SAMLの接続設定については「SAMLの接続設定手順」と「SAMLの追加」を参照してください。
(1)属性情報の取得と設定先
外部IdPユーザーの属性情報の取得と設定先について説明します。
【属性情報の取得】
マッピングのもととなる外部IdPユーザーの属性情報は以下から取得します。
- OIDCの場合
OIDCでユーザー属性にあたるClaimを、IDトークンまたはUserInfoエンドポイントから取得します。
OIDCの接続設定の[スコープ]項目に、取得したいClaimが含まれるscopeを指定する必要があります。 - SAMLの場合
SAMLでユーザー属性にあたるAttributeを、SAMLレスポンスに含まれるSAMLアサーションから取得します。
外部IdPユーザーの属性情報を使用せず、固定値を設定することも可能です。固定値の場合、接続設定ごとに値を指定することが可能です。例えば、特定の外部IdPのユーザーは顧客Aとするといったマッピングが可能です。
【属性情報の設定先】
取得した属性情報の設定先は以下になります。
- Ops Iユーザーの属性値
指定可能な属性値:メールアドレス、名前(名)、苗字(姓)、会社、部署、住所、電話番号1、電話番号2、備考、顧客(顧客ID) - 取得した属性に対して条件を設定し、条件を満たした場合にグループに割り当てる
- 取得した属性に対して条件を設定し、条件を満たした場合にロールに割り当てる
(2)同期モード
取得した外部IdPユーザーの属性情報を、マッピング設定の内容にしたがってOps Iのユーザー情報に設定します。[同期モード]はOps Iユーザー情報に設定するタイミングを指します。[同期モード]は以下から選択します。
- 継承:接続設定に設定されている[同期モード]を継承する
- ユーザー作成時:Ops Iに外部IdPと連携するユーザーが存在しない状態ではじめてログインし、Ops Iにユーザーを作成するときに反映する
- ログインする度:外部IdPを使用してOps Iにログインする度に反映する。外部IdPユーザーの属性情報を更新してログインすると、連携するOps Iユーザーの情報も更新される
同期モードの設定は、マッピングタブから実施します。詳細については「マッピングタブ」を参照してください。
接続設定での[同期モード]の設定については、「OIDCの追加」と「SAMLの追加」を参照してください。どちらも接続設定の編集画面で設定します。
(3)自動でのマッピング
外部IdPユーザーの属性情報には、マッピングの設定をせずに自動でマッピングが適用される属性情報があります。自動でのマッピングは、[同期モード]の[ユーザー作成時]として動作します。
OIDCとSAMLの自動でマッピングが適用される属性を以下に示します。
- OIDCの場合
以下のClaimの場合は、自動でマッピングが適用されます。Claim名 ユーザーの属性 preferred_username ユーザー名 email メールアドレス given_name 名前(名) family_name 苗字(姓) - SAMLの場合
以下のフレンドリ名が設定されている場合は、自動でマッピングが適用されます。フレンドリ名 ユーザーの属性 email メールアドレス
(4)値の変換
自動でのマッピングまたはマッピングの設定によりOps Iのユーザーの属性情報を設定するときに、Ops Iの入力可能文字の条件を満たしていない場合は、自動的に値の変換を実施、またはログインエラーとなります。
各属性の入力可能文字については「入力可能文字に関する注意事項」を参照してください。
ユーザー属性 | 値の変換およびログインエラー |
---|---|
メールアドレス | ログインエラーとなる |
名前(名) 苗字(姓) 会社 部署 住所 備考 |
使用可能な字数を超える場合は、端をトリミングする |
電話番号1 電話番号2 |
|
顧客 | Ops Iに顧客IDが存在しない場合は無視する |