❏ Lychee SAML認証とは
RedmineとIdP(Identity Provider)が、SAMLを使って認証情報をやり取りできるようにすることで、シングルサインオンを実現するプラグインです。
対応しているIdPは、OneLoginとADSF(Active Directory Federation Services)です。
※その他のIdPについては、設定を行うことで利用できる可能性があります。
また、「ユーザーが存在しなければ自動作成する」オプションを利用することで、SAML認証時、Redmineにアカウントがない場合にユーザーを自動作成できます。
※なお、本マニュアルに記載されているIdpに関する情報は、LycheeSAMLの開発当初の情報を参考情報として
掲載しております。現在ご利用されているIdp環境に読み替えてご対応をお願いします。
各IdP側の設定部分について不明点がある場合は、お手数ですが各IdPのサポート窓口までご相談ください。
❏ SAMLログインがうまくいかないとき
以下に記載している設定をお試しのうえでSAMLがうまく連携しない場合は、「IdP側のメールアドレス」と「LycheeSAML側のメールアドレス」が異なっている可能性があります。お客様の運用上異なるメールアドレスを設定されたい場合は「その他のIdP」で設定していただく必要があります。
❏ OneLogin
1. IdP(Identity Provider)の設定
- Redmine用に登録したアプリケーションのConfiguration画面を表示する
Administration > Applicationsメニューの[Applications] > Redmine用に登録したアプリケーション > Configuration - 以下の通り入力し、[Save]をクリックする
項目 | 値 |
---|---|
Audience | SSO画面にある[Issuer URL]のURLの内、「metadata」までの部分。 URLが以下の場合、「https://app.onelogin.com/saml/metadata」を入力する。 https://app.onelogin.com/saml/metadata/abcdefg-hijklmn |
Recipient | SAML認証画面に表示された「Recipient」のURL。 以下の書式になっている。 RedmineのURL/auth/one_login/callback |
ACS (Consumer) URL Validator | SAML認証画面に表示された「ACS URL Validator」の正規表現。 |
ACS (Consumer) URL | SAML認証画面に表示された「ACS URL」のURL。 |
2. プラグインの設定
- SAML認証画面を表示する
管理メニュー > SAML認証 - リンク[SAML認証]をクリックする
SAML認証画面が表示される。 - 画面右上の[+ SAML認証]をクリックする
新しい認証方式 - 以下の通り入力し、[保存]ボタンをクリックする
項目 | 値 |
---|---|
タイプ | One Login |
名称 | 任意 |
Domain | RedmineのURL (※1) |
App ID | SSO画面(※2)にある[Issuer URL]のURLのパスの内、「metadata/」以降の部分。 URLが以下の場合、「abcdefg-hijklmn」を入力する。 https://app.onelogin.com/saml/metadata/abcdefg-hijklmn |
SSO/SLO ID | SSO画面(※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)の値を設定しない場合には必ず設定ください。
- OneLoginのConfigurationに設定する情報が表示される
SAML認証画面に以下の情報が表示される。
- Recipient
- ACS URL Validator
- ACS URL
❏ ADFS( Microsoft Entra ID)
1. IdP(Identity Provider)アプリの設定
- Redmine用に登録したアプリケーションを表示する
ホーム > Microsoft Entra ID > アプリの登録 > Redmine用に登録したアプリケーション - [ブランド]を表示し、[ホーム ページ URL]に以下の通り入力後、[保存]をクリックする
以下の手順3の書式に従ったURL。 - [APIの公開]を表示し、アプリケーションIDのURIを登録
「api://」の後ろに「https://」を抜いたそれ以降の環境URLを設定 - [認証]を表示し、[プラットフォーム構成 > プラットフォームを追加 > Web > リダイレクトURI]に以下の通り入力後[保存]をクリックする
項目 | 値 |
Web > リダイレクトURI | 以下の書式に従ったURI RedmineのURL/auth/adfs/callback |
Web > ログアウト URL | 以下の書式に沿ったURL RedmineのURL/logout |
- [証明書とシークレット]を表示し、証明書をアップロードする
- 証明書がない場合は、[クライアントシークレット]より証明書の作成をする
2.IdP(Identity Provider)のエンタープライズアプリケーション設定
- エンタープライズアプリケーションの登録をする
ホーム > エンタープライズアプリケーション > +新しいアプリケーション > +独自のアプリケーション(ギャラリーに見つからないその他のアプリケーションを統合します)より登録 - [シングルサインオン]を表示
・識別子 (エンティティ ID)→Redmine環境のURL
・応答URL (Assertion Consumer Service URL)→Redmine環境のURLの後に「/auth/adfs/callback」
上記の設定の後、「保存」
3. プラグインの設定
- SAML認証画面を表示する
管理メニュー > SAML認証 - リンク[SAML認証]をクリックする
SAML認証画面が表示される。 - 画面右上の[+ SAML認証]をクリックする
新しい認証方式 - 以下の通り入力し、[保存]ボタンをクリックする
項目 | 値 |
---|---|
タイプ | ADFS |
名称 | 任意 |
Domain | RedmineのURL (※1) |
App ID | アプリケーション (クライアント) ID |
SSO/SLO ID | ディレクトリ (テナント) ID |
IdP metadata URL | IdP側で公開されている xmlファイルのURL |
IdP Cert Algorithm/IdP Cert Fingerprint | SAMLresponseの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 ID | Redmine用に登録したアプリケーションの概要画面にある[アプリケーション(クライアント)ID] Microsoft Entra IDのホーム > アプリの登録 > Redmine用アプリケーション > 概要 |
SSO/SLO ID | Redmine用に登録したアプリケーションの概要画面にある[ディレクトリ(テナント)ID] Microsoft Entra IDのホーム > アプリの登録 > Redmine用アプリケーション > 概要 |
IdP metadata URL | IdP側で公開されている xmlファイルのURL エンタープライズアプリケーション: Home > エンタープライズ アプリケーション > (任意の)アプリケーション > シングル サインオン > SAML 署名証明書の「アプリのフェデレーション メタデータ URL」 |
IdP Cert Algotithm | 以下の「IdP Cert Fingerprint」の値に沿って設定をお願いします |
IdP Cert Fingerprint | Production.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. プラグインの設定
- SAML認証画面を表示する
管理メニュー > SAML認証 - リンク[SAML認証]をクリックする
SAML認証画面が表示される。 - 画面右上の[+ SAML認証]をクリックする
新しい認証方式 - 以下の通り入力し、[保存]ボタンをクリックする
項目 | 値 |
---|---|
タイプ | その他 |
名称 | 任意 |
Domain | RedmineのURL (※1) |
IdP SSO target URL | (例)ADFSの場合 https://login.microsoftonline.com/#{SSO/SLO ID}/saml2 Redmine用に登録したMicrosoft Entra IDのアプリケーションの概要画面にある[ディレクトリ(テナント)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)の値を設定しない場合には必ず設定ください。
Microsoft Entra IDを「その他」で設定したい場合の IdP(Identity Provider)アプリの設定
- Redmine用に登録したアプリケーションを表示する
ホーム > Microsoft Entra ID > アプリの登録 > Redmine用に登録したアプリケーション - [認証]を表示し、[Web > リダイレクトURI]に以下の通り入力後[保存]をクリックする
項目 | 値 |
Web > リダイレクトURI | 以下の書式に従ったURI RedmineのURL/auth/other_idp_#{数字}/callback |
上記の#{数字}部分については以下Redmine側管理画面「管理」 > 「SAML認証」 より確認が可能です。
❏ 各ユーザーの認証方式
システム管理者は、管理>ユーザー>各ユーザー>全般タブの「認証方式」でユーザーごとの認証方式を設定できます。
「内部」を選択すると内部管理しているユーザー情報でのログインID/パスワードによる標準の認証方式。
登録したSAML認証を選択するとその設定に従った認証となります。
「認証方式」をSAML認証にした際のログイン方法
・ 「[〇〇〇〇]のアカウントでログインする」 と書かれたリンクからIdPのログイン画面へ遷移してください。
※認証方式「内部」の場合のみ、
ログインID欄/パスワード欄/[ログイン]ボタンを使用します。(Redmine標準機能)