RedmineをSAML認証に対応させる

投稿者: | 2014年5月13日

RedmineをSAML認証に対応させ、SSO出来るようにするmemo

OpenAM 11と連携させた時の設定例です。
Redmineは2.0.0以上である必要があり、正常に動作していることが前提

Ruby とか Rails とか全然わかってないので、とりあえず動いたって言うレベル

  1. GitHubから、以下のプラグインをダウンロードし、pluginsディレクトリに展開します。
    chrodriguez/redmine_omniauth_saml · GitHub.
  2. bundle installを実行し、依存関係を解決します。
  3. Redmineのルートディレクトリで、以下のコマンドを実行
    setenv RAILS_ENV production
    rake redmine:plugins
  4. 展開した中にある sample-saml-initializers.rb を Redmineのルートディレクトリにある
    config/initializers へ saml.rb としてコピー
  5. saml.rb を編集
  6. Redmineのインスタンスを再起動
  7. Redmineの管理 → プラグイン → Redmine Omniauth SAML plugin で必要に応じて設定する

saml.rbは以下の感じ

<br />
RedmineSAML = HashWithIndifferentAccess.new(<br />
	:assertion_consumer_service_url	=&gt; &quot;http://redmine.example.local:9000/auth/saml/callback&quot;,<br />
	:issuer							=&gt; &quot;http://redmine.example.local:9000/&quot;,<br />
	:idp_sso_target_url				=&gt; &quot;http://openam.example.local:8080/OpenAM-11.0.0/SSORedirect/metaAlias/idp&quot;,<br />
	:idp_cert_fingerprint			=&gt; &quot;DE:........:33&quot;, # SSL SHA-1 fingerprint<br />
	:name_identifier_format			=&gt; &quot;urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress&quot;,<br />
	:attribute_mapping				=&gt; {<br />
		:login		=&gt; 'extra.raw_info.EmailAddress',<br />
		:firstname	=&gt; 'extra.raw_info.givenname',<br />
		:lastname	=&gt; 'extra.raw_info.sn',<br />
		:mail		=&gt; 'extra.raw_info.EmailAddress'<br />
	}<br />
)</p>
<p>Rails.application.config.middleware.use OmniAuth::Builder do<br />
  provider :saml, RedmineSAML<br />
end<br />

 

 

RedmineをSAML認証に対応させる」への2件のフィードバック

  1. koba

    まさしく Redmine と OpenAM を SAML で連携させたいと試行錯誤しており、
    いくつか教えていただきたいのですが、
    OpenAM側にredmine側のmetadataを登録しなければいけないと思うのですが
    どの具体的にはどのように行うのでしょうか?
    またruby側の:idp_cert_fingerprint は、どこの値を指定するのでしょうか?
    初歩的な質問でお手数ですが、教えて頂けると助かります。

    返信
  2. TATSUYA

    >kobaさん
    こんにちは。返答が遅くなってしまい申し訳ありません。

    Redmine側はOpenAMのようにMetadataを持っていないため、手動でOpenAMに登録する必要があります。

    idp_cert_fingerprintについてはOpenAM側の証明書のFingerprintになりますね。

    現在、OpenAMではなくADFSとの連携を模索していて、手元にOpenAMの環境がないため、
    はっきりした回答ではなくすみません。

    ちょっと時間を見て、OpenAMの方も再度触ってみたいと思います。

    返信

TATSUYA にコメントする コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください