SaaS への シングルサインオン(SSO)設定を簡単に実現! Azure AD アプリギャラリー

#はじめに
[前回のブログ](https://qiita.com/hiyoshino/items/1b7ebef34870c74133dc)では Azure ADによるモバイルアプリの 証明書を用いたシングルサインオン(SSO)設定について記載しましたが、特に Azure AD のSSO 設定については触れませんでした。今回は SaaS アプリとの SSO 設定でほとんどの場合で使用するであろう **Azure Active Directory (Azure AD) アプリギャラリー**について説明致します。

#Azure AD アプリギャラリーとは?
Azure AD アプリギャラリーは、**シングル サインオン (SSO)** と**自動ユーザー プロビジョニング**の展開と構成を簡単にするアプリのカタログです。アプリ ギャラリーからアプリをデプロイするときに、事前に構築されたテンプレートを活用して、ユーザーをより安全かつ簡単にアプリに接続することができます。
Azure AD アプリギャラリーへは Azure 管理コンソールから「Azure Active Directory」の「エンタープライズアプリケーション」から「新しいアプリケーション」へアクセスすると以下の設定画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2265935/f0b3eda4-0d8d-5472-045c-02c465790dc7.png)
Azure AD アプリギャラリーには様々なアプリケーションが登録されています。以下はほんの一例です。海外のアプリだけではなく日本のアプリも登録されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2265935/aabd8f05-6553-0bad-1a8f-476942f09d84.png)
Azure AD と SSOする SaaS アプリを設定するには、SSOするSaaS アプリを検索します。
下図のように検索フィールドに「楽楽精算」と入力すると Azure AD に登録済のアプリが表示されます。まずは対象のSSO アプリを検索してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2265935/7dc20f99-3d38-bdba-b6ff-11669f9f1554.png)
*※2021年11月15日時点でSAML SSOアプリの数は1195ありますので検索してみてください。*

#Azure AD によるシングルサインオン(SSO)
下図は Azure AD と SaaS アプリとの SSO 実施時のイメージ図です。エンドユーザーは Azure AD で認証を行い、認証に成功すると Azure AD は SaaSアプリへのトークンを発行します。エンドユーザーはそのトークンを用いることで SaaS へのアクセスが可能になります。各 SaaS サービスは Azure AD が発行したトークンを信頼してアクセスを許可します。この SSO により SaaSアプリ側ではパスワードに関連した運用保守が不要になり、IT 運用者の負担をひとつ軽減することが可能です。さらに Azure AD の多要素認証や条件付きアクセスなどの高度な認証機能を使用してセキュリティを向上させることが可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2265935/58622667-7f58-54ec-7729-4e82a8d25d2d.png)
以下のMicrosoft のサイトでは Azure AD で統合可能な SaaS アプリが紹介されています。
>　[Azure AD に統合化可能な SaaS アプリ | Microsoft Security](https://www.microsoft.com/ja-jp/biz/security/active-directory-saas-apps.aspx)

また以下のサイトでは Azure AD と SaaS アプリとの SSO 設定の詳細手順が記載されています。ぜひご参照ください。
>　[Azure AD で使用する SaaS アプリの統合に関するチュートリアル | Microsoft Docs](https://docs.microsoft.com/ja-jp/azure/active-directory/saas-apps/tutorial-list)

#自動ユーザープロビジョニング
Azure AD とSaaS アプリを統合する際に SSO と同様にとても有用な機能に自動ユーザープロビジョニングがあります。この自動ユーザープロビジョニングも Azure AD アプリギャラリーから簡易テンプレートを使用して簡単に設定することが可能です。

企業用 SaaS では多くの場合、SaaS を利用するユーザーを事前に SaaS 側へも登録することを求められます。SaaS へのユーザー登録の事をユーザープロビジョニングと呼びます。今までの SaaS へのユーザー追加方法としては下図のような方法がありました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2265935/aae761c1-3837-f4dc-5699-04765004a1b4.png)
登録するユーザー情報を含んだ CSV ファイルを作成して SaaS へユーザー情報を同期したり、または、SaaS へ同期用のコネクトサーバーを構築してユーザー情報をオンプレの Active Directory から SaaS 側へ同期をしたりしていました。これらの方法だと連携する SaaS アプリが増えるに従い、ID管理も煩雑になり、コネクトサーバーの台数が増えるとIT管理者の運用負荷も増えます。

このようなユーザー情報連携の運用負荷を軽減する方法が  Azure AD の自動ユーザープロビジョニングです。Azure AD の自動ユーザープロビジョニングを利用すると上図のように CSV 作成やコネクターサーバーを構築することなく Azure AD の管理コンソールで設定するだけで SaaS アプリに必要なユーザー情報を自動で Azure AD から SaaS アプリ側へ同期させることが可能です。連携する SaaS サービスが増加しても IT 管理者の運用負荷を最小化させることが可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2265935/089824af-5e60-0e30-6366-f454023ae440.png)

 自動ユーザープロビジョニングの設定手順についても以下の Microsoft のサイトの**ユーザープロビジョニングのチュートリアル**に記載されていますので、こちらも是非ともご参照ください。
>
[Azure AD で使用する SaaS アプリの統合に関するチュートリアル | Microsoft Docs](https://docs.microsoft.com/ja-jp/azure/active-directory/saas-apps/tutorial-list)


#Azure AD エディションと認証認可機能
Azure AD には大きく３つのエディションがあり、利用可能な機能に違いがあります。
以下の表は一部の機能の抜粋です。詳細については[こちら](https://www.microsoft.com/ja-jp/security/business/identity-access-management/azure-ad-pricing#coreui-contentrichblock-gtwdiwu)をご参照ください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2265935/100cf31a-6ce7-3e9d-ff99-90310ec8ee8f.png)

#Microsoft Office 365 付属のフリー版 Azure AD を利用時の注意点について
本記事でご紹介しました Azure ADギャラリーから SaaS アプリへのシングルサイン設定や、自動ユーザープロビジョニングの機能は、Microsoft Office 365 付属のフリー版の Azure AD でご利用可能です。しかしながら、フリー版のAzure ADではセキュリティグループを利用したユーザーの割り当てを使用することができません。 企業や組織にとっては、Azure ADのセキュリティグループを使った割り当てが必要になる場合の方が多いと思います。その場合は Azure AD Premium などの上位ライセンスの購入をご検討ください。

#まとめ
Azure AD アプリギャラリーを利用することで SaaS アプリへの SSO や自動ユーザー情報同期を簡単に設定することが可能です。Azure AD と SSO することで、多要素認証や条件付きアクセス(Azure AD Premium P1以上が必要)によりセキュリティを強化することが可能です。さらに SSO はユーザーが SaaS を利用するたびに求められる認証作業から解放することができます。その結果ユーザーの利用満足度が向上します。さらに加えて、自動ユーザープロビジョニングを利用することで IT 担当者の運用負荷も最小化することが可能です。このようなメリットが大きい機能を Azure AD アプリギャラリーから簡単に設定することが可能です。
現在、ADFS を利用している環境においても、Azure AD アプリギャラリーで SaaS アプリ を設定することが可能です。ただし、Azure AD (Office 365) が ADFS に対して認証のフェデレーションを構成している場合は、**Azure AD アプリギャラリーで設定した SaaS アプリも ADFS へ認証がリダイレクトされる点**に留意してください。
まずは Azure AD アプリギャラリーをご確認ください。

次回の記事では「[DocuSign のモバイルアプリのシングルサインオン設定について](https://qiita.com/hiyoshino/items/c3e8e1049afbc04bff74)」を掲載する予定です。

>※2021年11月24日追記 
>ADFSからAzure ADへの認証移行については以下の記事が公開されましたので、こちらもぜひご参照ください。
> [サンプルアプリケーションを使って ADFS から Azure AD への認証移行ステップを確認する](https://qiita.com/hiroakimurata/items/1a67ae52fbb6fcc36a56)

*投稿内容は私個人の意見であり、所属企業・部門とは関係ありません。また、いかなる保証を与えるものでもありません。*