3.4.2 アイデンティティプロバイダー
アイデンティティプロバイダーでは「外部IdP連携の設定」によるシングルサインオンに関する以下の設定を行います。
- OIDCの追加、確認、編集、削除
- SAMLの追加、確認、編集、削除
- 属性/グループ/ロールのマッピングの追加、確認、編集、削除
- ユーザーデータ再利用方針の設定、確認、変更
- デフォルトのアイデンティティプロバイダーの設定、確認、変更
外部IdP連携のためのOIDCとSAMLそれぞれの接続設定手順については、「OIDCの接続設定手順」または、「SAMLの接続設定手順」を参照してください。 属性/グループ/ロールのマッピングの概要や設定に必要な説明については「属性/グループ/ロールのマッピング」を参照してください。
(1)アイデンティティプロバイダーの概要
アイデンティティプロバイダーで各種設定を行うためには、ナビゲーションエリアで[接続設定]または[共通設定]を選択します。アイデンティティプロバイダーのツリー情報について以下に示します。
項目 | 説明 | |
---|---|---|
接続設定 | [接続設定]画面を開くと、OIDCとSAMLの接続設定の一覧が表示されます。各接続設定をクリックすると詳細画面が表示されます。
|
|
共通設定 | ユーザーデータ再利用方針 | 外部IdPと連携するユーザーが、OTOBO上に存在する過去に削除されたユーザーと同一の場合、ユーザー情報を引き継ぐか否かの設定を行います。詳細については「ユーザーデータ再利用方針」を参照してください。 |
デフォルトのアイデンティティプロバイダー | ログイン時にデフォルトで使用する外部IdPを設定する場合に指定します。詳細については「デフォルトのアイデンティティプロバイダー」を参照してください。 |
[接続設定]画面の操作ボタンの種類について、以下に示します。
項目 | 説明 |
---|---|
OIDCを追加 | OIDCの接続設定を追加します。接続設定の一覧でチェックボックスにチェックしている場合は非活性になります。 詳細については「OIDCの追加」を参照してください。 |
SAMLを追加 | SAMLの接続設定を追加します。接続設定の一覧でチェックボックスにチェックしている場合は非活性になります。 詳細については「SAMLの追加」を参照してください。 |
削除 | 接続設定の削除を行います。接続設定の一覧でチェックボックスに1つもチェックしていない場合は非活性になります。 |
(2)OIDCの追加
OIDCの追加は、[接続設定]画面でOIDCを追加ボタンをクリックします。[OIDC追加]画面に遷移するので、必要な情報を入力し、保存ボタンをクリックするとOIDCが追加されます。キャンセルボタンをクリックすると[接続設定]画面に戻ります。
OIDC追加後は、[接続設定の詳細]画面から追加したOIDCを編集することができます。[接続設定の詳細]画面については「接続設定の詳細画面」を参照してください。
OIDCの追加と編集では、表示される項目や編集できる項目が異なります。以下に、[OIDC追加]画面と[OIDC編集]画面の表示項目について示します。チェックボックスのある項目は、チェックすることでその項目が有効になります。[nonceを無効にする]のみ、チェックすることで無効になります。
項目 | 必須 | 説明 | 追加画面 | 編集画面 |
---|---|---|---|---|
一般設定 | ||||
有効 | No | この接続設定の有効/無効を切り替えます。無効のOIDCは、Ops Iのログイン画面に表示されず使用できません。 | ◯ | ◯ |
リダイレクトURI | No | アイデンティティプロバイダーの設定で使用するリダイレクトURIです。 | △ | △ |
ID | Yes | IDは一意にアイデンティティプロバイダーを識別するもので、リダイレクトURIの構築にも使用されます。 入力可能な文字は半角のa-z0-9 、"-"です。使用できる文字数は1~20文字です。 |
◯ | △ |
表示名 | No | アイデンティティプロバイダーのフレンドリ名を指定します。[表示名]はOps Iのログイン画面に表示されます。 | ◯ | ◯ |
表示順 | No | [表示名]の表示順序を指定します。昇順に表示されます。表示順序を固定したい場合は昇順になるよう指定してください。 1~1000の値が指定可能です。 | ◯ | ◯ |
OpenID Connect設定 | ||||
ディスカバリーエンドポイントを使用する | No | ディスカバリーエンドポイントを使用してアイデンティティプロバイダーの構成を取得するかどうかをチェックします。 | ◯ | - |
ディスカバリーエンドポイント | Yes | アイデンティティプロバイダーの構成を取得する[ディスカバリーエンドポイント]を指定します。 [ディスカバリーエンドポイントを使用する]が有効の場合表示されます。 |
◯ | - |
認可URL※ | Yes | 認可エンドポイントのURLを指定します。 [ディスカバリーエンドポイントを使用する]が無効の場合活性化されます。 |
◯ | ◯ |
トークンURL※ | Yes | トークンエンドポイントのURLを指定します。 [ディスカバリーエンドポイントを使用する]が無効の場合活性化されます。 |
◯ | ◯ |
UserInfo URL※ | No | UserInfoエンドポイントのURLを指定します。 [ディスカバリーエンドポイントを使用する]が無効の場合活性化されます。 |
◯ | ◯ |
発行者※ | No | レスポンス内の発行者の識別子を指定します。未設定の場合は、検証は実行されません。 [ディスカバリーエンドポイントを使用する]が無効の場合活性化されます。 |
◯ | ◯ |
署名の検証※ | No | アイデンティティプロバイダーの署名を検証するかどうかをチェックします。 [ディスカバリーエンドポイントを使用する]が無効の場合活性化されます。 |
◯ | ◯ |
JWKS URLを使用する※ | No | JWKS(JSON Web Key Sets)のエンドポイントからアイデンティティプロバイダーの公開鍵を取得するかどうかを指定します。使用しない場合は検証用の公開鍵を指定します。 [署名の検証]が有効の場合に表示されます。 |
◯ | ◯ |
JWKS URL※ | No | JWKSエンドポイントのURLを指定します。 [署名の検証]と[JWKS URL]が有効の場合に表示されます。 |
◯ | ◯ |
検証用の公開鍵 | No | アイデンティティプロバイダーの署名の検証に使用する公開鍵を指定します。 [署名の検証]が有効で[JWKS URL]が無効の場合に表示されます。 |
◯ | ◯ |
検証用の公開鍵ID | No | 検証に使用する公開鍵のIDを指定します。[検証用の公開鍵]を常に使用する場合は空白にします。アイデンティティプロバイダーの鍵のIDと合致した場合のみ[検証用の公開鍵]を使用する場合に設定します。 [署名の検証]が有効で[JWKS URL]が無効の場合に表示されます。 |
◯ | ◯ |
PKCEを使用する | No | PKCE(Proof Key for Code Exchange)を使用するかどうかをチェックします。 | ◯ | ◯ |
PKCE Method | No | PKCEのcode_challengeの生成方法を指定します。 [PKCEを使用する]が有効の場合に表示されます。 |
◯ | ◯ |
クライアント認証 | No | クライアント認証方法を指定します。 | ◯ | ◯ |
クライアントID | Yes | アイデンティティプロバイダーで登録されているクライアント識別子を指定します。 | ◯ | ◯ |
クライアントシークレット | Yes | アイデンティティプロバイダーで登録されているクライアントシークレットを指定します。 | ◯ | ◯ |
クライアントアサーション署名アルゴリズム | No | [クライアント認証]でJWTアサーションを作成するときの署名アルゴリズムを指定します。[クライアント認証]で[クライアントシークレットをJWT署名する]を選択した場合に設定します。「アルゴリズムの指定なし」を選択した場合は[HS256]が使用されます。 | ◯ | ◯ |
nonceを無効にする | No | 認証リクエストでnonceパラメータを送信するかどうかをチェックします。 | - | ◯ |
スコープ | No | 要求するスコープを指定します。スペース区切りでスコープのリストを指定します。省略した場合は「openid」と仮定されます。 | - | ◯ |
プロンプト | No | 認可サーバーがユーザーに要求する必要な対話を指定します。 | - | ◯ |
同期モード | No | すべてのマッピングのデフォルトの同期モードを指定します。[同期モード]は、マッピングを使用してユーザーデータを同期するタイミングを決定します。 [ユーザー作成時]を選択した場合、このアイデンティティプロバイダーを使用した初回ログインによるユーザー作成時に一度だけユーザーデータを設定します。 [ログインする度]を選択した場合、このアイデンティティプロバイダーでログインする度にユーザーデータを更新します。 |
- | ◯ |
(凡例)◯:編集可能、△:参照のみ可能、-:非表示
[ディスカバリーエンドポイント]により自動入力を行った場合、自動入力された項目および[PKCEを使用する]と[PKCE Method]は、参照のみ可能な項目になります。
(3)SAMLの追加
SAMLの追加は、[接続設定]画面でSAMLを追加ボタンをクリックします。[SAML追加]画面に遷移するので、必要な情報を入力し、保存ボタンをクリックするとSAMLが保存されます。キャンセルボタンをクリックすると[接続設定]画面に戻ります。
SAML追加後は、[接続設定の詳細]画面から追加したSAMLを編集することができます。[接続設定の詳細]画面については「接続設定の詳細画面」を参照してください。
SAMLの追加と編集では、表示される項目や編集できる項目が異なります。以下に、[SAML追加]画面と[SAML編集]画面の表示項目について示します。チェックボックスのある項目は、チェックすることでその項目が有効になります。また、項目によっては、項目の内容に対して、選択肢や入力項目が更に表示されるので、画面にあわせて選択および指定してください。
項目 | 必須 | 説明 | 追加画面 | 編集画面 |
---|---|---|---|---|
一般設定 | ||||
有効 | No | この接続設定の有効/無効を切り替えます。無効のSAMLは、Ops Iのログイン画面に表示されず使用できません。 | ◯ | ◯ |
リダイレクトURI | No | アイデンティティプロバイダーの設定で使用するリダイレクトURIです。 | △ | △ |
ID | Yes | IDは一意にアイデンティティプロバイダーを識別するもので、リダイレクトURIの構築にも使用されます。 入力可能な文字は半角のa-z0-9 、"-"です。使用できる文字数は1~20文字です。 |
◯ | △ |
表示名 | No | アイデンティティプロバイダーのフレンドリ名を指定します。[表示名]はOps Iのログイン画面に表示されます。 | ◯ | ◯ |
表示順 | No | [表示名]の表示順序を指定します。昇順に表示されます。表示順序を固定したい場合は昇順になるよう指定してください。 1~1000の値が指定可能です。 |
◯ | ◯ |
SAML設定 | ||||
設定をファイルからインポートする | No | アイデンティティプロバイダーのメタデータをインポートします。 IdP metadata(XMLファイル)を、ファイル選択ボタンをクリックして選択、または入力フィールドにドロップします。 |
△ | - |
サービスプロバイダーエンティティID | Yes | Ops IをSAMLのサービスプロバイダーとして識別するためのエンティティIDを指定します。 入力可能な文字は半角のa-z0-9、"."、"/"、":"、"-"です。使用できる文字数は1~200文字です。 |
◯ | ◯ |
アイデンティティプロバイダーエンティティID※1 | No | アイデンティティプロバイダーを識別するためのエンティティIDを指定します。指定する場合はSAMLアサーションの発行者の検証を行います。空の場合、発行者の検証は実行されません。 | ◯ | ◯ |
シングルサインオンサービスURL※1 | Yes | 認証リクエスト(SAML AuthnRequest)の送信に使用するURLを指定します。 | ◯ | ◯ |
NameIDポリシー形式※1※2 | No | ユーザーを識別するNameIDの書式を指定します。 | ◯ | ◯ |
プリンシパルタイプ※1※2 | No | SAMLアサーションから外部ユーザーを識別し、追跡する方法を指定します。デフォルトでは[サブジェクトNameID]を使用しますが、属性を使用することもできます。 | ◯ | ◯ |
プリンシパル属性 | No | 外部ユーザーを識別するために使用される属性の名前またはフレンドリ名を指定します。 [プリンシバルタイプ]が[属性[名前]]または[属性[フレンドリ名]]の場合に表示されます。 |
◯ | ◯ |
作成を許可する | No | アイデンティティプロバイダーがプリンシパルを表す新しい識別子を作成できるようにします。 | ◯ | ◯ |
AuthnRequestでHTTP-POSTバインディングを要求※1 | No | AuthnRequestの送信時にHTTP-POSTバインディングを要求するかどうかをチェックします。オフの場合は、HTTP-REDIRECTバインディングを要求します。 | ◯ | ◯ |
AssertionConsumerServiceでHTTP-POSTバインディングを要求※1 | No | メタデータのAssertionConsumerServiceでHTTP-POSTバインディングを要求するかどうかをチェックします。オフの場合は、HTTP-REDIRECTバインディングを要求します。 | ◯ | ◯ |
AuthnRequestの署名が必要※1 | No | アイデンティティプロバイダーが署名付きAuthnRequestを要求するかどうかをチェックします。 | ◯ | ◯ |
署名アルゴリズム | No | SAMLドキュメントの署名に使用するアルゴリズムを指定します。 [AuthnRequest の署名が必要]が有効の場合に表示されます。 |
◯ | ◯ |
SAML署名キー名 | No | KeyName要素に指定する署名のキー名を指定します。 [AuthnRequest の署名が必要]が有効の場合に表示されます。 |
◯ | ◯ |
アサーションの署名が必要 | No | このサービスプロバイダーが署名付きアサーションを要求するかどうかをチェックします。 | ◯ | ◯ |
アサーションの暗号化が必要 | No | このサービスプロバイダーが暗号化されたアサーションを要求するかどうかをチェックします。 | ◯ | ◯ |
暗号化アルゴリズム | No | アサーションの暗号化に使用するアルゴリズムを指定します。 [アサーションの暗号化が必要]が有効の場合に表示されます。 |
◯ | ◯ |
強制認証する | No | ユーザーがすでにアイデンティティプロバイダーにログインしている場合でも、再認証を強制するかどうかをチェックします。 | ◯ | ◯ |
署名の検証※1 | No | アイデンティティプロバイダーの署名を検証するかどうかをチェックします。 | ◯ | ◯ |
検証用のX509証明書※1 | No | [署名の検証]に使用するX.509証明書を指定します。文字列の形式(ヘッダー、フッター、改行なしのPEM形式)で指定します。複数の証明書を指定する場合はコンマ","で区切ります。 [署名の検証]が有効の場合に表示されます。 |
◯ | ◯ |
サービスプロバイダーのmetadataに署名する | No | このサービスプロバイダーのメタデータを署名するかどうかをチェックします。 | ◯ | ◯ |
同期モード | No | すべてのマッピングのデフォルトの同期モードを指定します。[同期モード]は、マッピングを使用してユーザーデータを同期するタイミングを決定します。 [ユーザー作成時]を選択した場合、このアイデンティティプロバイダーを使用した初回ログインによるユーザー作成時に一度だけユーザーデータを設定します。 [ログインする度]を選択した場合、このアイデンティティプロバイダーでログインする度にユーザーデータを更新します。 |
- | ◯ |
(凡例)◯:編集可能、△:参照のみ可能、-:非表示
IdP metadataにより自動入力を行った場合、自動入力された項目は参照のみ可能な項目になります。
(4)接続設定の詳細画面
[接続設定]画面-接続設定の一覧で接続設定をクリックすると、[接続設定の詳細]画面が表示され、接続設定の確認が行えます。
SAMLの[接続設定の詳細]画面を表示した場合、[一般設定]エリアにSAMLサービスプロバイダーのメタデータボタンが表示され、クリックするとSP metadata(XMLファイル)を出力することができます。
[接続設定の詳細]画面-[関連するリソース]にはマッピングタブがあり、属性/グループ/ロールのマッピングの設定を行います。詳細については「マッピングタブ」と「属性/グループ/ロールのマッピング」を参照してください。
[接続設定の詳細]画面の操作ボタンの詳細は以下の通りです。
項目 | 説明 |
---|---|
編集 | [接続設定の編集]画面が表示され、接続設定の編集を行います。 [接続設定の編集]画面の表示項目は、OIDCの場合は「(表)OIDC追加画面の表示項目」を、SAMLの場合は「(表)SAML追加画面の表示項目」を参照してください。どちらの場合も、追加時と編集時で表示項目や設定できる項目が異なります。 |
削除 | 接続設定の削除を行います。[接続設定]画面の削除ボタンからも接続設定の削除は実行できます。詳細は「(表)接続設定画面の操作ボタン」を参照してください。 |
(5)マッピングタブ
[接続設定の詳細]画面-[関連するリソース]-マッピングタブに、属性/グループ/ロールのマッピング情報の一覧が表示されます。ここでは、属性/グループ/ロールのマッピングの追加、確認、編集、および削除を行います。
属性/グループ/ロールのマッピングの詳細については「属性/グループ/ロールのマッピング」を参照してください。
マッピングタブの項目について以下に示します。
項目 | 説明 |
---|---|
マッピング一覧 | マッピングの一覧が表示されます。カラムは以下の通りです。
|
追加ボタン | マッピングの追加を行います。追加ボタンをクリックすると[アイデンティティプロバイダーマッピング]画面が表示されます。表示項目については「(表)アイデンティティプロバイダーマッピング画面の表示項目」を参照してください。マッピング一覧でマッピングのチェックボックスにチェックするとボタンが非活性になります。 |
削除ボタン | マッピングの削除を行います。マッピング一覧で任意のマッピングのチェックボックスにチェックするとボタンが活性化するので、ボタンをクリックするとマッピングが削除されます。 |
[アイデンティティプロバイダーマッピング]画面の項目について以下に示します。
マッピングの種類によって表示される項目が異なります。項目欄に番号①~⑨の記載がある項目は、その項目が表示されるマッピングの種類を示しています。番号については[マッピングの種類]項目の説明欄を参照してください。番号の記載がない項目は、すべてのマッピングの種類で表示されます。
項目 | 必須 | 説明 |
---|---|---|
名前 | Yes | マッピングの名前を指定します。マッピング追加時のみ設定可能な項目です。 使用できる文字数は1~255文字です。 |
同期モード | Yes | このマッピングの同期モードを指定します。同期モードは、マッピングを使用してユーザーデータを同期するタイミングを決定します。以下から選択します。
|
マッピングの種類 | Yes | マッピングの種類を以下から選択します。
①固定の属性を割り当て:
固定の属性を設定します。 ②固定のグループを割り当て:
ユーザーを特定のグループに割り当てます。 ③固定のロールを割り当て:
ユーザーを特定のロールに割り当てます。 ④Claimからグループを割り当て:
Claimが指定した条件に合致した場合にユーザーを指定したグループに割り当てます。 ⑤Claimからロールを割り当て:
ClaimがClaimの条件に合致した場合にユーザーを指定したロールに割り当てます。 ⑥Claimを属性に割り当て:
指定したClaimの値をユーザーの属性に設定します。 ⑦属性からグループを割り当て:
Assertionの属性が指定した条件に合致した場合にユーザーを指定したグループに割り当てます。 ⑧属性からロールを割り当て:
Assertionの属性が指定した条件に合致した場合にユーザーを指定したロールに割り当てます。 ⑨属性を属性に割り当て:
Assertionの属性の値でユーザーの属性を設定します。 ※④、⑤、⑥は接続設定のタイプがOIDCの場合に表示される項目です。⑦、⑧、⑨は接続設定のタイプがSAMLの場合に表示される項目です。
|
ユーザー属性 ①⑥⑨ |
Yes | 設定先の属性として以下の値を指定できます。
|
ユーザー属性の値 ① |
Yes | 属性に設定する値を指定します。ユーザー属性に[顧客]を選択した場合は、顧客IDを指定します。 |
グループ ②④⑦ |
Yes | 割り当てるグループを指定します。 |
ロール ③⑤⑧ |
Yes | 割り当てるロールを指定します。 |
条件 ④⑤⑦⑧ |
Yes | グループとロールのマッピングの条件を以下の通り指定します。条件追加ボタンをクリックすることで、条件を複数指定することができます。条件を複数指定した場合は、全ての条件を満たしている必要があります。
|
Claim ⑥ |
Yes | 検索対象のClaim名を指定します。"."を使用することでネストされたClaimを参照することができます。"."を文字として使用する場合は、"\"でエスケープします。 |
属性名 ⑨ |
属性名とフレンドリ名のどちらか一方、または両方の設定が必須 | 検索する属性名を指定します。この値でSAMLの属性名とフレンドリ名を検索します。また、この値はメタデータのRequestedAttributeに属性名として設定されます。メタデータを出力する場合は必ず指定します。 |
フレンドリ名 ⑨ |
検索するフレンドリ名を指定します。この値でSAMLの属性名とフレンドリ名を検索します。また、この値はメタデータのRequestedAttributeにフレンドリ名として設定されます。 | |
Name Format ⑨ |
Yes | メタデータのRequestedAttributeに設定する属性のName Formatを以下から選択します。
|
節構成