Lychee操作マニュアル

Lychee SAML認証

❏ Lychee SAML認証とは

RedmineとIdP(Identity Provider)が、SAMLを使って認証情報をやり取りできるようにすることで、シングルサインオンを実現するプラグインです。
対応しているIdPは、OneLoginとADSF(Active Directory Federation Services)です。
※その他のIdPについては、設定を行うことで利用できる可能性があります。
※なお、各IdP側の設定部分については不明点がある場合は、お手数ですが各IdPのサポート窓口までご相談ください。

また、「ユーザーが存在しなければ自動作成する」オプションを利用することで、SAML認証時、Redmineにアカウントがない場合にユーザーを自動作成できます。

❏ SAMLログインがうまくいかないとき

以下に記載している設定をお試しのうえでSAMLがうまく連携しない場合は、「IdP側のメールアドレス」と「LycheeSAML側のメールアドレス」が異なっている可能性があります。
お客様の運用上異なるメールアドレスを設定されたい場合は「その他のIdP」で設定していただく必要があります。

❏ OneLogin

1. IdP(Identity Provider)の設定

  1. Redmine用に登録したアプリケーションのConfiguration画面を表示する
    Administration > Applicationsメニューの[Applications] > Redmine用に登録したアプリケーション > Configuration
  2. 以下の通り入力し、[Save]をクリックする
項目
AudienceSSO画面にある[Issuer URL]のURLの内、「metadata」までの部分。
URLが以下の場合、「https://app.onelogin.com/saml/metadata」を入力する。
 https://app.onelogin.com/saml/metadata/abcdefg-hijklmn
RecipientSAML認証画面に表示された「Recipient」のURL。
以下の書式になっている。
 RedmineのURL/auth/one_login/callback
ACS (Consumer) URL ValidatorSAML認証画面に表示された「ACS URL Validator」の正規表現。
ACS (Consumer) URLSAML認証画面に表示された「ACS URL」のURL。

2. プラグインの設定

  1. SAML認証画面を表示する
    管理メニュー > SAML認証
  2. リンク[SAML認証]をクリックする
    SAML認証画面が表示される。
  3. 画面右上の[+ SAML認証]をクリックする
    新しい認証方式
  4. 以下の通り入力し、[保存]ボタンをクリックする
項目
タイプOne Login
名称任意
DomainRedmineのURL (※1)
App IDSSO画面(※2)にある[Issuer URL]のURLのパスの内、「metadata/」以降の部分。
URLが以下の場合、「abcdefg-hijklmn」を入力する。
https://app.onelogin.com/saml/metadata/abcdefg-hijklmn
SSO/SLO IDSSO画面(※3)にある[SLO Endpoint(HTTP)]のURLのパスの内、「slo/」以降の部分。
URLが以下の場合、「1234567890」を入力する。
https://example.onelogin.com/trust/saml2/http-redirect/slo/1234567890
IdP metadata URL(※4)「Issuer URL」の値を入力する。
IdP Cert Algorithm/IdP Cert Fingerprint(※5)SAMLresponseのFingerprintの値を入力する。

※1 例: Redmineログイン画面のURLが「 https://agileware-test.cloudmine.jp/redmine/login 」の場合は、
RedmineのURLは「 https://agileware-test.cloudmine.jp/redmine 」になります。
※2 Administration > Applicationsメニューの[Applications] > Redmine用に登録したアプリケーション > SSO
※3 Administration > Applicationsメニューの[Applications] > Redmine用に登録したアプリケーション > SSO > [X.509 Certificate]のリンク[View Details]
※4 「IdP Cert Algorithm/IdP Cert Fingerprint」(※5)の値を設定しない場合には必ず設定ください。
※5 「IdP metadata URL」(※4)の値を設定しない場合には必ず設定ください。

  1. OneLoginのConfigurationに設定する情報が表示される

SAML認証画面に以下の情報が表示される。

  • Recipient
  • ACS URL Validator
  • ACS URL

❏ ADFS( Microsoft Entra ID)

1. IdP(Identity Provider)アプリの設定

  1. Redmine用に登録したアプリケーションを表示する
    ホーム >  Microsoft Entra ID > アプリの登録 > Redmine用に登録したアプリケーション
  2. [ブランド]を表示し、[ホーム ページ URL]に以下の通り入力後、[保存]をクリックする
    以下の手順3の書式に従ったURL。
  3. [APIの公開]を表示し、アプリケーションIDのURIを登録
    「api://」の後ろに「https://」を抜いたそれ以降の環境URLを設定
  4. [認証]を表示し、[プラットフォーム構成 > プラットフォームを追加 > Web > リダイレクトURI]に以下の通り入力後[保存]をクリックする
項目
Web > リダイレクトURI以下の書式に従ったURI
RedmineのURL/auth/adfs/callback
Web > ログアウト URL以下の書式に沿ったURL
RedmineのURL/logout
  1. [証明書とシークレット]を表示し、証明書をアップロードする
  2. 証明書がない場合は、[クライアントシークレット]より証明書の作成をする

2.IdP(Identity Provider)のエンタープライズアプリケーション設定

  1. エンタープライズアプリケーションの登録をする
    ホーム > エンタープライズアプリケーション > +新しいアプリケーション > +独自のアプリケーション(ギャラリーに見つからないその他のアプリケーションを統合します)より登録
  2. [シングルサインオン]を表示
    ・識別子 (エンティティ ID)→Redmine環境のURL
    ・応答URL (Assertion Consumer Service URL)→Redmine環境のURLの後に「/auth/adfs/callback」
    上記の設定の後、「保存」

3. プラグインの設定

  1. SAML認証画面を表示する
    管理メニュー > SAML認証
  2. リンク[SAML認証]をクリックする
    SAML認証画面が表示される。
  3. 画面右上の[+ SAML認証]をクリックする
    新しい認証方式
  4. 以下の通り入力し、[保存]ボタンをクリックする
項目
タイプADFS
名称任意
DomainRedmineのURL (※1)
App IDアプリケーション (クライアント) ID
SSO/SLO IDディレクトリ (テナント) ID
IdP metadata URLIdP側で公開されている xmlファイルのURL
IdP Cert Algorithm/IdP Cert FingerprintSAMLresponseのFingerprintの値

※1 例: Redmineログイン画面のURLが「 https://agileware-test.cloudmine.jp/redmine/login 」の場合は、
RedmineのURLは「 https://agileware-test.cloudmine.jp/redmine 」になります。
※「redmine」がURL末尾にない環境は「/redmine」は必要ありません。

例.  Microsoft Entra IDの場合

App IDRedmine用に登録したアプリケーションの概要画面にある[アプリケーション(クライアント)ID]
 Microsoft Entra IDのホーム > アプリの登録 > Redmine用アプリケーション > 概要
SSO/SLO IDRedmine用に登録したアプリケーションの概要画面にある[ディレクトリ(テナント)ID]
 Microsoft Entra IDのホーム > アプリの登録 > Redmine用アプリケーション > 概要
IdP metadata URLIdP側で公開されている xmlファイルのURL
エンタープライズアプリケーション: Home > エンタープライズ アプリケーション > (任意の)アプリケーション > シングル サインオン > SAML 署名証明書の「アプリのフェデレーション メタデータ URL」
IdP Cert Algotithm以下の「IdP Cert Fingerprint」の値に沿って設定をお願いします
IdP Cert FingerprintProduction.logから/auth/.../callbackの【SAMLResponse】の箇所を探し、SAMLResponseを取得する。取得した文字列からFingerprintにデコードが必要※1

※各項目につきましてはIdPによって異なります。詳しくはIdP側の画面をご参照ください。

※1 デコード方法はお客様側でお調べお願いいたします

4. Redmine側個人設定

SAML連携を行いたいユーザーにおいて、個人設定で設定したSAMLで「認証」を登録する

※SAML認証をするユーザーのメールアドレスはIdP側に登録したメールアドレスを設定いただく必要がございます

※IdP側にて、User.mail(emailaddress)とUser.userprincipalname(UPN)の両方が設定されている場合、 「User.userprincipalname」が優先される仕様です。
もし、「User.userprincipalname」以外を優先したい場合は、SAML認証のタイプを「その他」のAttribute mapping mailに、連携したい属性を入力してもらう方法があります。

❏ その他のIdP

1. プラグインの設定

  1. SAML認証画面を表示する
    管理メニュー > SAML認証
  2. リンク[SAML認証]をクリックする
    SAML認証画面が表示される。
  3. 画面右上の[+ SAML認証]をクリックする
    新しい認証方式
  4. 以下の通り入力し、[保存]ボタンをクリックする
項目
タイプその他
名称任意
DomainRedmineのURL (※1)
IdP SSO target URL(例)ADFSの場合 https://login.microsoftonline.com/#{SSO/SLO ID}/saml2 
Redmine用に登録したアプリケーションの概要画面にある[ディレクトリ(テナント)ID]から値が確認できます
 ・Microsoft Entra IDのホーム > アプリの登録 > Redmine用アプリケーション > 概要
IdP metadata URL(※2)IdP側で公開されている xmlファイルのURL
Attribute mapping mail各IdPから受け取るレスポンスXMLから、Redmine側でのユーザーマッピングに利用するemailが入っている箇所を特定するためのkey
(例)http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
Attribute mapping firstname(例)ADFSの場合http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname
Attribute mapping lastname(例)ADFSの場合
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
IdP Cert Algorithm/IdP Cert Fingerprint(※3)SAMLresponseのFingerprintの値
※1 例: Redmineログイン画面のURLが「 https://agileware-test.cloudmine.jp/redmine/login 」の場合は、  

RedmineのURLは「 https://agileware-test.cloudmine.jp/redmine 」になります。
※2 「IdP Cert Algorithm/IdP Cert Fingerprint」(※3)の値を設定しない場合には必ず設定ください。
※3 「IdP metadata URL」(※2)の値を設定しない場合には必ず設定ください。

「IdP側のメールアドレス」と「LycheeSAML側のメールアドレス」が異なっているケースの設定項目

項目
タイプその他
名称任意
DomainRedmineのURL (※1)
IdP metadata URL(※2)IdP側で公開されている xmlファイルのURL
Attribute mapping mail各IdPから受け取るレスポンスXMLから、Redmine側でのユーザーマッピングに利用するemailが入っている箇所を特定するためのkey
IdP Cert Algorithm/IdP Cert Fingerprint(※3)SAMLresponseのFingerprintの値

 Microsoft Entra IDを「その他」で設定したい場合の IdP(Identity Provider)アプリの設定

  1. Redmine用に登録したアプリケーションを表示する
    ホーム >  Microsoft Entra ID > アプリの登録 > Redmine用に登録したアプリケーション
  2. [認証]を表示し、[Web > リダイレクトURI]に以下の通り入力後[保存]をクリックする
項目
Web > リダイレクトURI以下の書式に従ったURI
RedmineのURL/auth/other_idp_#{数字}/callback

❏ 各ユーザーの認証方式

システム管理者は、管理>ユーザー>各ユーザー>全般タブの「認証方式」でユーザーごとの認証方式を設定できます。

「内部」を選択すると内部管理しているユーザー情報でのログインID/パスワードによる標準の認証方式。
登録したSAML認証を選択するとその設定に従った認証となります。

「認証方式」をSAML認証にした際のログイン方法

・ 「[〇〇〇〇]のアカウントでログインする」 と書かれたリンクからIdPのログイン画面へ遷移してください。


※認証方式「内部」の場合のみ、
 ログインID欄/パスワード欄/[ログイン]ボタンを使用します。(Redmine標準機能)

TOP