1. はじめに
※前提として、「クライアント証明書認証を使った認証セキュリティレベルを設定したSPに対する認証」が実施済みであるとします。
本メニューでは、IdPをカスタマイズします。本メニューでは、IdPとSPを共にカスタマイズします。
IdPには、ID/パスワード認証とクライアント証明書認証を使って、セキュリティレベルに応じた認証方式を設定します。
またSPには、認証のセキュリティレベルを設定します。
上記の設定により、ログイン時に対象SPが使用できる認証方式をユーザが選択してログインできるようになります。
ログイン時に対象SPが使用できる認証方式をユーザが選択してログインできるようになります。
セキュアなクライアント証明書認証などが行えるユーザは、ID/パスワードの入力が必要なく、SPにアクセスできます。
...
以下のような設定で行います。
手順書と照らし合わせながら、作業を進めてください。
・認証フローの階層化
...
・Password認証フローの設定
以下のように手順書にある内容を置き換えて設定します。
※「RemoteUser」は設定しません。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
/opt/shibboleth-idp/conf/ idp.propertiesの設定内容について# Regular expression matching login flows to enable, e.g. IPAddress|Password idp.authn.flows= Password|X509 (省略) # Whether to prioritize "active" results when an SP requests more than # one possible matching login method (V2 behavior was to favor them) idp.authn .favorSSO = true ※アンコメントして、有効にします。 |
/ opt/ shibbolethpassword- idp/conf/authn /general- authnconfig.xmlの設定内容について
実習セミナーではLevel3は追加せず、Level2のみ設定を追加してください。
<bean id="authn/ X509Password" parent="shibboleth.AuthenticationFlow"
p:passiveAuthenticationSupported="true"
p:forcedAuthenticationSupported="true">
(省略)
<!-- -->
<bean <bean parent="shibboleth.SAML2AuthnContextClassRef" c c:classRef="urn:mace:gakunin.jp:idprivacy:ac:classes: Level2Level1" /> <bean <!-- Extended Flows -->
<bean parent="shibboleth.SAML2AuthnContextClassRef" c c:classRef="urn:mace:gakunin.jp:idprivacy:ac:classes: Level1Level2" />
※Level3の設定を除いた、Level1~Level2の設定とします。(省略) |
...
・Extendedフローの設定
...
...
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
/opt/shibboleth-idp/conf/authn/relyinggeneral-partyauthn.xmlの設定内容について ※DefaultRelyingPartyの設定は、手順通り行ってください。実習セミナーではRemoteUserは設定せず、X509のみ設定してください。
以下のように各自作成したSPに対して認証レベルを設定します。Extendedフローのbeanをアンコメントし、設定します。 <util:list <!-- --> <bean id="shibboleth. RelyingPartyOverrides">内に設定を追加します。 ※ホスト名など赤文字部分は、各自の番号に合わせて修正してください。 <bean parent="ex-sp-test01authn.Password.ExtendedFlows" class="java.lang.String" c: relyingPartyIds_0=" https://ex-sp-test01.gakunin.nii.ac.jp/shibboleth-sp"> <property name="profileConfigurationsX509" /> <util:list id="shibboleth.authn.Password.ExtendedFlowParameters">
</util:list>
<list><util:list id="shibboleth.authn.Password.PrincipalOverride">
<bean parent=" SAML2shibboleth. SSO" p:postAuthenticationFlows="attribute-release"SAML2AuthnContextClassRef"
p:defaultAuthenticationMethodsc:classRef="urn: mace:gakunin.jp:idprivacyoasis:names:tc:SAML:2.0:ac:classes: Level2PasswordProtectedTransport" />
<bean parent="shibboleth.SAML2AuthnContextClassRef"
<ref bean="SAML2.ECPc:classRef="urn:oasis:names:tc:SAML:2.0:ac:classes:Password" />
<ref bean <bean parent=" SAML2shibboleth. LogoutSAML1AuthenticationMethod" />
<ref bean="SAML2.AttributeQuery" /> <ref bean="SAML2.ArtifactResolution" /> <ref bean="Liberty.SSOSc:method="urn:oasis:names:tc:SAML:1.0:am:password" />
<!-- -->
<bean parent="shibboleth.SAML2AuthnContextClassRef"
c:classRef="urn:mace:gakunin.jp:idprivacy:ac:classes:Level1" />
</util:list> <!--
</property> </bean>-->
|
...
3. 手順書
下記の設定手順書を参照し、作業を行います。
※実習時の設定値に置き換える事を忘れないようにしてください。
※手順書内の「認証フローの階層化」を実施し、確認します。※手順書内の「Password認証フローのExtendedフロー」を実施し、確認します。
(説明上、「Password認証フローのExtendedフロー」は行いません。)
...
4. 動作確認
① 設定後、Tomcatの再起動を行ってない場合は行ってください。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
systemctl restart tomcat
|
② 各自が使用するSPの接続確認用ページにアクセスします。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
例)1番を割り振られた場合
https://ex-sp-test01.gakunin.nii.ac.jp/
|
③ ログインボタンをクリックします。
④ DSの設定を行っている場合、所属機関の選択画面が表示されるので、各自が使用するIdPを選択します。
⑤ 証明書認証用のログイン画面が表示されるので、Certificate Loginボタンをクリックします。
⑥ 個人証明書の要求というダイアログが表示されるので、対象となるクライアント証明書を選択して、OKボタンをクリックします。
※送信属性同意画面が表示される場合は、そのまま設定値を送信しします。
⑦ 正しく属性受信の確認ページが表示される事を確認してください。
※ID/パスワードを入力するログイン画面は表示されず、クライアント証明書で認証が行われ、
ログインする事ができます。
⑧ 次に動作確認用のSPにアクセスし、認証要求がなくシングルサインオンにてログインできることを確認します。
⑨ 一度ブラウザを閉じて、②でアクセスしたSPを動作確認用のSPに置き換えてアクセスします。
⑩ 進めていくとID/パスワードの認証要求が行われるので、入力してログインしてください。
⑪ 次に各自が作成したSPにアクセスします。今回は、認証済みですがアクセスレベルが高いため証明書認証が要求されることを確認します。
⑫ 認証後、正しく属性受信の確認ページが表示される事を確認してください。