Azure ADでShibboleth IdP(学認)にシングルサインオン(SSO)する方法

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【3/22開催】テックブログを書こう!アウトプットのススメ
1年で100本ブログを出した新米エンジニアがPV数が伸びなくてもTech Blogを書き続ける理由とは?
https://tech-lab.connpass.com/event/312805/

【4/18開催】VSCode Dev Containersで楽々開発環境構築祭り〜Python/Reactなどなど〜
Visual Studio Codeの拡張機能であるDev Containersを使ってReactとかPythonとかSpring Bootとかの開発環境をラクチンで構築する方法を紹介するイベントです。
https://tech-lab.connpass.com/event/311864/

はじめに

こんにちは。Microsoft Tech Summit 2016に参加してきましたが、やはり皆さんAzure ADに興味があるようで、セミナーはほぼ満席でした。
今回はセミナー受講時に試してみたいと思ったAure ADとShibboleth IdP(OSS)を認証連携する方法をご説明します。

ゴールは、Azure ADで認証し学認(テストフェデレーション)にSSOできる事とします。学認との認証連携はShibboleth IdPがします。
shibo7
前提条件として、Shibboleth IdPサーバの構築が完了し学認に認証連携できている事とShibboleth SPの構築が完了している事とします。構築手順は学認サイトを参考にしてください。

参考サイト(IdP):https://meatwiki.nii.ac.jp/confluence/pages/viewpage.action?pageId=12158179
参考サイト(SP):https://meatwiki.nii.ac.jp/confluence/display/GakuNinShibInstall/SP

また、Shibboleth IdPはAzure ADのアプリケーション一覧にないため、カスタムアプリケーションを利用します。そのため、Azure AD Premiumのライセンスが必要です。

Azure AD(Premium)でShibboleth IdPへのSSOを有効にする

  1. Azureの旧ポータルにログインします。
    https://manage.windowsazure.com/
  2. Shibboleth IdPと認証連携するAzure Active Directoryを選択し、「アプリケーション」をクリックします。
  3. 画面下の「追加」をクリックします。
  4. 「ギャラリーからアプリケーションを追加します」をクリックします。
    shibo2
  5. 「カスタム」を選択し、「名前」に任意の値を入力します。
    shibo3
  6. 「シングルサインオンの構成」をクリックします。
  7. 「Microsoft Azure ADのシングルサインオン」を選択します。
    shibo4
  8. アプリケーション設定の構成で必要な情報を入力します。
    ※「詳細設定を表示します(オプション)」にチェックを付けると、サインオンURLが表示されます。myappsの画面で表示されるアイコンのリンク先を設定できます。
    ※サインオンURLなどhttpsで指定するとエラーとなり次の画面に進めません。httpsで指定します。
    shibo5
  9. 「証明書のダウンロード(Base 64)」をクリックし、IdPの証明書をダウンロードします。ここでダウンロードした証明書をShibboleth SPに設定します。

    shibo6

  10. Azure ADとShibboleth IdPの認証連携設定は完了です。
  11. 「アカウントの割り当て」をクリックし、Shibbolethへのアクセスを許可するアカウントを指定します。

学認にSSOする

  1. ブラウザを起動、https://myapps.microsoft.com にアクセスし、先ほどShibbolethの権限を割り当てユーザでログインします。
  2. アプリより、「Shibboleth」をクリックします。ユーザ名/パスワードを入力することなく学認(テストフェデレーション)にログインします。

補足

今回は、Azure ADが渡すデフォルトのnameid formatはemailAddressです。そのため、Shibboleth SPに以下設定が必要です。

■attribute-map.xml
<Attribute name=”urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress” id=”emailAddress”>
<AttributeDecoder xsi:type=”ScopedAttributeDecoder”/>
</Attribute>
<Attribute name=”urn:oid:0.9.2342.19200300.100.1.3″ id=”emailAddress”>
<AttributeDecoder xsi:type=”ScopedAttributeDecoder”/>
</Attribute>

■shibboleth2.xml
<ApplicationDefaults entityID=”https://ShibbolethSPのFQDN/shibboleth-sp”
REMOTE_USER=”emailAddress eppn persistent-id targeted-id”>

 

sso シングルサインオン や 統合認証 などの導入イメージ については下記をご覧ください!
https://sios.jp/products/oss-integration/service/oss_on_cloud/authentication.html

 

アバター画像
About サイオステクノロジーの中の人 41 Articles
サイオステクノロジーで働く中の人です。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる