Skip to main content

SAML連携によるシングルサインオンを設定する(SAML認証のドメインの作成)

SAML認証のドメインを作成する場合のSAML連携によるシングルサインオンの設定手順について説明します。

ここでは、MotionBoard側で事前にグループを作成し、ユーザーは自動で登録する設定を例として説明します。

参考

この手順では、MotionBoard側でグループを作成し、あらかじめロールを設定しておくことで、ユーザーは初回ログイン時からMotionBoardを利用できるようにしています。また、ユーザーの自動登録と、ユーザーとグループの紐付けを設定しておくことで、登録済みのグループに外部システムでユーザーが追加された場合に、MotionBoard側ではユーザーの登録やグループとの紐付けの作業が不要になるようにしています。

ユーザーおよびグループの自動登録の詳細は、「MotionBoardのユーザーおよびグループの自動登録について」を参照してください。

前提条件

  • 次の内容について理解していることを前提とします。

  • 認証サーバーを使用するための知識を持っていることを前提としています。

  • システム管理の[全般]画面の[サーバーのURL]にMotionBoardサーバーのURLが指定されている必要があります。

  • 外部システムがADFS(Active Directoryフェデレーションサービス)やOpenAMなど、SAML2.0に対応した認証サーバーを利用している必要があります。

  • 認証サーバーがADFSの場合、WebブラウザーからMotionBoardサーバーにHTTPS接続できる必要があります。

  • IdPサーバーとMotionBoardサーバーのシステム日時が一致している必要があります。

  • MotionBoardサーバー(SP)からIdPサーバーへ渡したRelayStateを、IdPサーバーから認証結果と共にMotionBoardサーバー(SP)へ送り返すように設定する必要があります。

操作手順

  1. SAML認証用の外部認証設定を作成する(MotionBoardサーバー)

    MotionBoardのシステム設定の[認証]画面で、SAML認証用の外部認証設定を作成し、MotionBoard上のドメインを登録します。

    1. MotionBoardの管理者権限を持つユーザーでログインします。

    2. ボードメニューの[管理]-[システム設定]-[接続/認証]-[認証]を選択します。

    3. 認証]画面の[新規作成]ボタンをクリックします。

    4. 認証の新規作成]画面の[外部認証名]に、認証の設定名を入力します。

    5. 認証先タイプ]で、[SAML]を選択します。

    6. 新規作成]ボタンをクリックします。

    7. 設定の保存を示すメッセージで、[OK]ボタンをクリックします。

    8. ドメイン設定]の[新規作成]ボタンをクリックします。

    9. 新規作成]画面の[ドメインID]に、「saml」が表示されることを確認します。

    10. 新規作成]ボタンをクリックします。

    11. ドメインの一覧に、登録したドメインが表示されていることを確認します。

    12. 保存]ボタンをクリックします。

  2. フェデレーションデータをダウンロードする(MotionBoardサーバー)

    MotionBoardのシステム設定の[シングルサインオン]画面で、認証サーバーとの信頼関係の構築に使用するフェデレーションメタデータをダウンロードします。

    1. 署名付きのSAML連携にする場合は、[シングルサインオン]画面の[SAML連携]の[署名]で、署名用の証明書と秘密鍵を登録します。署名が不要な場合は、次の手順に進みます。

      • 署名用の証明書

        RSA-SHA256のみ対応しています。

        署名用の証明書の登録は、[証明書]の[選択]ボタンをクリックすると表示される画面で、署名用の証明書のファイルを選択します。

      • 署名用の秘密鍵

        パスワードなしのRSA暗号化方式で、ファイル形式はPKCS8/DER形式のみ対応しています。

        署名用の秘密鍵の登録は、[秘密鍵]の[選択]ボタンをクリックすると表示される画面で、署名用の秘密鍵のファイルを選択します。

    2. シングルサインオン]画面で、[SAML連携]の[フェデレーションメタデータ]の[ダウンロード]ボタンをクリックします。

    3. フェデレーションメタデータ(FederationMetaData.xml)のダウンロード先を選択する画面が表示されるので、任意の場所に保存してください。

  3. MotionBoardサーバーと認証サーバーの信頼関係を構築する(認証サーバー)

    認証サーバー側の設定で、MotionBoardと認証サーバーの信頼関係を構築します。具体的な設定方法については、認証サーバーのマニュアルを参照してください。

    基本的な流れは次のとおりです。

    1. MotionBoardをサービスプロバイダーとして登録します。

    2. MotionBoardサーバーからダウンロードしたフェデレーションメタデータを指定します。

    3. SAMLアサーションに付与する属性を設定します。

      • 認証サーバーがADFSの場合

        1. ADFSの管理画面の[規則の編集]画面で、[属性ストア]で[Active Directory]を指定します。

        2. SAMLアサーションのSubjectで、NameIDの値にUPN形式が指定されているかどうかによって、手順が変わります。

          • 指定されていない場合は、[LDAP属性の出力方向の要求の種類への関連づけ]で、[LDAP属性]の[User-Principal-Name]と[出力方向の要求の種類]の[UPN]とを関連づけます。

          • 指定されている場合は、次の手順に進みます。

          注意

          NameIDの値に「transient」は指定できません。

      • 認証サーバーがADFS以外の場合(たとえばOpenAMなど)

        SAMLアサーションのSubjectで、NameIDの値にUPN形式が指定されているかどうかによって、手順が変わります。

        • 指定されていない場合は、属性値として「http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn」を登録し、属性値の設定値として、UPN形式のユーザーを一意に特定するためのIDを設定します。

          1. 設定値が「mail」の場合の指定例
          http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn=mail


        • 指定されている場合は、次の手順に進みます。

    4. 認証サーバーの証明書をファイルとして取得します。

  4. シングルサインオンを設定する(MotionBoardサーバー)

    MotionBoardのシステム設定の[シングルサインオン]画面に戻り、シングルサインオンの設定をします。

    1. シングルサインオン]画面で、[SAML連携]をオンにします。

    2. ターゲットURL]に、認証サーバーのHTTP POSTバインディングのURLを入力します。

    3. 証明書]の[選択]ボタンをクリックすると表示される画面で、MotionBoardサーバーと認証サーバーの信頼関係の構築時に認証サーバーから取得した証明書のファイルを選択します。

    4. ユーザーを追加する]をオンにします。

    5. グループを追加する]をオフにします。

    6. ユーザーとグループを紐付ける]をオンにします。

    7. ドメインマッピング]の[ドメイン]で[saml]を選択し、入力欄にマッピングするドメイン(認証サーバーに登録されているドメイン)を入力します。

      入力欄で「*」を指定すると、どのドメインにもマッピングされないすべての値がマッピング対象となります。

    8. ドメインマッピング]の[適用方法]で、ドメインの適用方法を指定します。

      たとえば、[ドメイン]の入力欄で、「userdomain」を指定した場合、認証時のユーザーIDが次のようになります。

      • 適用方法]が[変更]の場合のユーザーID

        username@saml

      • 適用方法]が[追加]の場合のユーザーID

        username@userdomain@saml

      参考

      入力欄のドメインで「*」を指定した場合は、意図しないユーザーがMotionBoardに登録される可能性があるため、[追加]を指定することを推奨します。

    9. 保存]ボタンをクリックします。

  5. グループの作成とロールの設定をする(MotionBoardサーバー)

    認証サーバーで管理されているグループをMotionBoardサーバーで作成し、ロールを設定します。

    1. システム設定]画面のメニューから、[ユーザー]-[グループ]を選択します。

    2. グループ]画面の[ドメイン]のドロップダウンリストから、[saml]ドメインを選択します。

    3. 新規作成]ボタンをクリックします。

    4. 画面右側の[グループID]に、認証サーバーで管理されているグループのIDを入力します。

    5. グループに設定したいロールを、[ロール名一覧]から[ロール名]にドラッグ&ドロップします。

    6. 追加]ボタンをクリックします。

    7. 次の手順で指名ユーザーを指定します。

      1. システム設定]画面のメニューから、[ユーザー]-[指名ユーザー]を選択します。

      2. ドメイン]のドロップダウンリストから、[saml]ドメインを選択します。

      3. グループID]のドロップダウンリストから、認証で使用するユーザーが所属するグループを選択します。

      4. 指名ユーザーとして設定したいユーザーを、画面左側のユーザー一覧から、画面右側の指名ユーザー一覧にドラッグ&ドロップします。

      5. 保存]ボタンをクリックします。

  6. 正しく認証されていることを確認する(外部システムにログインした環境)

    1. MotionBoardからいったんログアウトし、外部認証システム(社内システムや組み込みシステム)でログインします。

    2. Webブラウザーで次のURLに接続します。

    3. MotionBoardのログイン画面が表示されず、ログインできることを確認します。

留意点・補足情報

  • シングルサインオンのURLの末尾に「/」を付与しないでください。

  • MotionBoardサーバーと認証サーバーの信頼関係を構築する(認証サーバー)」の手順では、SAMLアサーションに付与する属性として、任意で次のものを設定できます。

    • 認証サーバーがADFSの場合

      LDAP属性

      出力方向の要求の種類

      解説

      Display-Name

      名前

      MotionBoardでユーザー名として利用する場合に指定します。指定しない場合は、[ホーム]画面の[ユーザー名]が空白になります。

      Token-Groups - 名前の指定なし

      グループ

      MotionBoardでグループとして利用する場合に指定します。指定すると、[シングルサインオン]画面で、[グループを追加する]をオンにした場合に、認証サーバーで管理されているグループの情報が、MotionBoardに自動で登録されます。

      指定しない場合は、MotionBoardのシステム設定の[ユーザー]画面または[グループ]画面で、SAMLドメインのユーザーにsamlドメインまたはlocalドメインのグループを割り当ててください。

    • 認証サーバーがADFS以外の場合(たとえばOpenAMなど)

      属性値

      設定値

      解説

      http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

      ユーザー名

      MotionBoardでユーザー名として利用する場合に指定します。登録しない場合は、[ホーム]画面の[ユーザー名]が空白になります。

      • 設定値が「cn」の場合の指定例

        http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name=cn

      • 返却値の例

        user01

      http://schemas.xmlsoap.org/claims/Group

      ユーザーが所属するグループ

      MotionBoardでグループとして利用する場合に指定します。指定すると、[シングルサインオン]画面で、[グループを追加する]をオンにした場合に、認証サーバーで管理されているグループの情報が、MotionBoardに自動で登録されます。

      登録しない場合は、MotionBoardのシステム設定の[ユーザー]画面または[グループ]画面で、SAMLドメインのユーザーにsamlドメインまたはlocalドメインのグループを割り当ててください。

      • 設定値が「memberOf」の場合の指定例http://schemas.xmlsoap.org/claims/Group=memberOf

      • 返却値の例

        返却値の形式は、Idpの設定によってDS形式か名称形式か変わります。

        • DN形式の場合

          cn=営業部,ou=groups,dc=example,dc=com

        • 名称のみの場合

          営業部

    • SAML連携によるシングルサインオンでは、MotionBoardとSAML認証の認証サーバーのユーザー情報をマッチングして認証をします。ユーザーを自動登録する設定を利用しない場合は、SAML認証用のドメインに、認証先のユーザー名と同じ名称のユーザー(SAML認証ユーザー)を作成しておく必要があります。

      なお、SAML認証ユーザーは、SAMLを利用したシングルサインオン専用のユーザーです。MotionBoardのログイン画面からはログインできません。

    • 認証サーバー側で管理しているユーザー情報内に所属グループ名がセットされている場合、グループの自動追加を利用すると([シングルサインオン]画面で[グループを追加する]をオンにすると)、MotionBoardに自動でグループが追加され、認証サーバーの情報とマッピングされます。自動追加を利用しない場合([グループを追加する]をオフにした場合)、MotionBoardで事前に作成したグループと認証サーバーのグループの名前が一致すると、認証サーバーの情報がMotionBoardにマッピングされます。

関連情報