コンテンツにスキップ

Redmineのアプリ連携

Redmineのバージョン

  • Redmine 4.2.6.stable.21621
  • redmine_openid_connectプラグイン 0.9.4

シングルサインオン

PIO-IDのアプリ連携設定

  1. PIO-ID 管理者ポータル>アプリ連携>アプリ一覧画面へ移動します。
  2. カタログ表示ボタンをクリックします。

    Screenshot

  3. アプリカタログが表示されるので、Redmineの登録ボタンをクリックします。

    Screenshot

  4. アプリ登録画面がポップアップします。情報タブの名前に、アプリを識別できるような名前を、半角小文字の英数字-(ハイフン)_(アンダースコア)で設定します。

  5. シングルサインオンタブに移動します。

    Screenshot](/images/2022-06-07_20-46-55.png)

  6. SSO 有効/無効有効に設定します。

  7. URLに、RedmineのURLを設定します。
  8. 認証シークレットに、Redmineと連携するための認証シークレット(任意の文字列)を設定します。この認証シークレットは、Redmineの設定を行うときに必要となります。
  9. IdP エンドポイントメタデータダウンロードボタンをクリックし、メタデータを取得します。このメタデータは、Redmineの設定を行うときに必要となります。
  10. 登録ボタンをクリックして、アプリを登録します。

    Screenshot

RedmineのSAML認証設定

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

    Screenshot

  2. ヘッダーメニューの管理をクリックして、管理メニューを表示します。

  3. サイドメニューのプラグインをクリックして、プラグイン一覧画面へ移動します。

    Screenshot

  4. Redmine Openid Connect plugin設定をクリックして、プラグインの設定画面へ移動します。

    Screenshot

  5. 以下の内容で設定し、適用ボタンをクリックします。

    Redmineの設定項目 設定内容
    Enabled
    Client ID Redmineのログイン画面URLを指定します。

    (例:https://redmine.example.com/
    OpenID Connect server url PIO-IDのIdPエンドポイントメタデータのファイルを開きます。issuerの値(URL)を入力します。

    (例:https://auth-01-0001.dev.singleid.jp/auth/realms/90000013
    Client Secret PIO-IDに設定した認証シークレットを入力します。
    OpenID Connect scopes openid
    Admins group (members of this group are treated as admin) admin
    Login Selector
    Create user if not exists

    Screenshot

プロビジョニング

Redmine Openid Connect pluginは、OIDCのJITプロビジョニングに対応しています。上記設定により、Redmineへユーザが自動的に作成されます。

Warning

PIO-IDのグループ情報はプロビジョニングされません。

プロビジョニングを無効にしたい場合には、OpenID Connect Configurationの設定画面にて、Create user if not existsを無効にしてください。

アプリにユーザ追加

  1. PIO-ID 管理者ポータル>アプリ連携>アプリ一覧画面へ移動します。
  2. 登録したアプリの列にあるチェックボックスを選択します。
  3. ユーザ追加ボタンをクリックします。

    Screenshot

  4. ユーザ追加画面がポップアップします。アプリへ追加したいユーザ名を選択し、登録ボタンをクリックして、アプリへユーザを追加します。

    Screenshot

管理者権限の付与

Redmineへシステム管理者権限でログインできる権限をPIO-IDのユーザへ付与します。

  1. PIO-ID 管理者ポータル>アプリ連携>アプリ一覧画面へ移動します。
  2. 登録したアプリの列にあるアプリロールボタンをクリックします。
  3. アプリロール登録ボタンをクリックします。

    Screenshot

  4. アプリロール登録画面がポップアップします。ロール名として、Redmine Openid Connect pluginAdmins group (members of this group are treated as admin)に設定したadminを入力し、登録ボタンをクリックして、アプリロールを登録します。

    Screenshot

  5. 登録したadminアプリロールの列にあるチェックボックスを選択します。

  6. ユーザ追加ボタンをクリックします。

    Screenshot

  7. アプリロールユーザ追加画面がポップアップします。adminアプリロールへ追加したいユーザ名を選択し、登録ボタンをクリックして、アプリロールへユーザを追加します。

    Screenshot

動作確認

  1. Redmineのログイン画面へアクセスします。
  2. Login with SSOボタンが追加されていることを確認します。

    Screenshot

  3. Login with SSOボタンをクリックします。

  4. PIO-IDのログイン画面が表示されます。すでに、PIO-IDへログイン中であれば、ログイン画面は表示されず、Redmineへログインできます。

    Screenshot

ダイレクトログインの無効化

Redmine Openid Connect pluginLogin Selector無効にします。

Warning

Redmine Openid Connect pluginLogin Selector無効にした場合、Redmineのログイン画面が出なくなり、PIO-IDによるシングルサインオンのみでのログインに制限されます。もし、設定を間違えた等、Redmineのログイン画面からのログインが必要な場合は、URLの末尾にlocal_login=trueを付けてアクセスしてください。

例:https://redmine.example.com/login?local_login=true