こんにちは。新規事業の開発や既存業務の効率化などに使える補助金・助成金の無料診断 / 申請支援を行う『補助金サポート』を提供しているクラウド軍師運営チームです。
近年、ビジネスで複数のアプリケーションを利用する企業が増えています。例えば、ファイル共有アプリやチャットツール、業務管理ツールなど。これらのサービスは、業務の効率化に有効です。
しかし、複数のアプリを利用するとなると、ユーザーは毎回何度もIDとパスワードを入力し、認証を行わなければなりません。また、アプリごとのID・パスワード管理も必要になります。
これは、ユーザーである従業員にとって大きな負担でしょう。
この課題を解決するのが、シングルサインオン(SSO)です。
SSOとは、一度の認証で連携した複数のアプリにログインできる仕組みのこと。これを導入すれば、認証の手間はなくなり、ID・パスワード管理も楽になります。
今回は、SSOの中でも、Azure ADを用いた方法に注目します。Azure ADの概要やメリット、課題などについて詳しくみていきましょう。
Azure ADとは
Azure AD(現Microsoft Entra)は、マイクロソフト社が提供しているクラウドタイプのActive Directory(AD)です。マイクロソフト版IDaaSと考えても良いでしょう。
そもそもADとは、デバイスやユーザー情報を一元管理できる機能のこと。IDやパスワードの管理はもちろん、認証やアクセス制御を行うことも可能で、さらにはユーザーとアプリなどのWebサービスとの間に立ってSSOも実現します。
しかし、従来のADは、オンプレミス環境での利用を前提として設計されており、SSOもオンプレミス向きのものでした。
そこで開発されたのが、今回ご紹介するAzure AD。これは、クラウドサービスに特化したADで、利用しているクラウドサービスのアカウント情報を一括管理し、SAMLによる安全なSSOを実現する仕組みです。
近年では、リモートワークの増加もあり、オンプレミスよりもクラウドサービスを利用する企業が増えました。Azure ADによるSSOなら、複数のクラウドサービスを連携させ、一度の認証で全てのサービスにログインすることが可能になります。
Azure ADを活用したアプリケーション管理
Azure ADは、アプリケーションの作成や構成、管理、監視にも有効な仕組みです。アプリ開発に必要な各アプリを一元管理し、アクセス制御を行うこともできます。
例えば、アプリをAzure ADのテナント(ユーザーやアプリケーションをまとめたグループのこと)に登録すれば、そのテナント内のユーザーは、安全にアプリへアクセスすることが可能になります。
また、独自のアプリをAzure ADに登録すれば、そのユーザー(開発者)が作成した他のアプリにも一回のサインインでアクセスできるようになり、作業の生産性を高めることができます。
Azure ADでは、さまざまな方法で効率的なアプリ管理を行うことが可能であり、開発者にとっての作業効率化にも効果的です。
詳しくは、マイクロソフト社Webサイトの「Microsoft Entra ID におけるアプリケーション管理とは?」をご参照ください。
Azure ADとアプリ登録
Office365をはじめとした多数のアプリケーションは、はじめからAzure ADと統合されています。よって、すぐにAzure ADの機能を使い始めることができますが、独自のアプリケーションの場合は別。独自のアプリケーションについては、ユーザーは自身でアプリ登録の作業を行なって、Azure ADと連携させなければなりません。
具体的には、アクセスポリシーの設定やアクセス制御の構成を行う必要があります。
また、Azure ADに新たなアプリを登録した場合には、サービスプリンシパルと呼ばれるものが自動作成されます。これは、Azure ADのテナント内におけるアプリのIDとなるもの。アクセス制御の強化によるセキュリティ向上に役立つため、WindowsではユーザーIDではなく、サービス プリンシパルの使用を推奨しています。
Azure ADとアプリ連携
Azure ADで連携できるアプリケーションには、次のようなものがあります。
- SaaSタイプのクラウドシステム
- PaaSタイプのアプリ
- IaaSによる仮想マシンで稼働するアプリ
- オンプレミスのアプリ
- 開発中のアプリ など
クラウドかオンプレミスかに関わらず、多様なアプリを連携させられる点は、Azure ADの魅力でしょう。
アプリ連携の方法
アプリ連携は次のような手順で実施します。
【Azure ADギャラリーに記載があるアプリの場合】
- ポータルサイトのギャラリーから、該当アプリのアイコンをクリックする
【Azure ADギャラリーに記載がないアプリの場合】
- 管理者アカウントを用いて、Azure AD管理センターにサインインする
- エンタープライズアプリケーションより「独自のアプリケーションの作成」を選択する
- 「開発中のアプリケーション」「ギャラリー以外のアプリケーション」「オンプレミスのアプリケーション」から、目的に合ったものを選択する
アプリ連携の操作を行なった後には、きちんと連携ができているか確認するようにしましょう。
【実現する仕組み】Azure ADによるシングルサインオン(SSO)認証
次に、Azure ADがSSOを実現する仕組みについてみていきましょう。
Azure ADでは、OAuthというプロトコルを用いて、Azure ADによって保護しているリソースへのアクセスを実現しています。アプリ登録をすることで、OAuthによるリソースへのアクセス許可が可能になるのです。
このアクセス許可は、「トークン」としてアプリに受け渡されることで行われます。
また、この時アプリが取得できる権限は、ユーザーの同意のもとユーザーの権限相当のアクセス権を得られる「ユーザー委任のアクセス許可」と、管理者の同意のもとアプリ自身に権限を付与する「アプリケーション権限のアクセス許可」の2種類です。
とはいえ、この時取得できる権限はAPIのアクセス許可に限られます。なぜなら、ユーザーのアクセスは、API のアクセス許可だけでなく、リソース側の権限管理からも制御されているためです。
Azure ADでシングルサインオン(SSO)を実現するメリット
Azure ADによるSSOには、次のメリットが期待できます。
- クラウドとオンプレミスの両方に対応できる
- セキュリティが高い
2つのメリットについて詳しくご説明します。
クラウドとオンプレミスの両方に対応できる
マイクロソフトによる従来のActive Directoryは、オンプレミス向けのID管理機能でした。
しかし近年では、働き方の多様化により、クラウドサービスの利用が増加。これにより、クラウドサービス向け機能の必要性は高まりました。
そこで登場したのが、Azure AD。Azure ADは、クラウドサービスとオンプレミス両方の環境に対応しています。
現代のニーズにマッチした、より利便性の高いSSOを提供できる点は、Azure ADの魅力です。
セキュリティが高い
Azure ADは、多要素認証などをはじめとしたセキュリティ強度の高さも特徴です。
優れたノウハウを持つマイクロソフト社のサービスだけありその信頼性や可用性は高く、高いセキュリティレベルでID管理やSSOを実現することができます。
Azure ADの課題
メリットがある一方で、Azure ADには次のような課題も存在します。
- オンプレADとAzure ADの同時管理に手間がかかる
- たびたび発生する障害
上記課題の詳細について確認していきましょう。
オンプレADとAzure ADの同時管理に手間がかかる
Azure ADと従来のオンプレミス用ADは、機能が異なります。企業によってはこれらを同時に運用するケースもありますが、2つの機能を同時管理するにはその分手間がかかります。
例えば、2つの機能間ではID管理を統合することができません。そのため、同時管理となると、ID管理の手間は約2倍になるでしょう。
Azure ADと従来ADのハイブリッド環境で、管理負担が大きくなる点は、Azure ADの抱える課題のひとつです。
たびたび発生する障害
Azure ADは、障害が発生する頻度が比較的多い点も課題です。実際に、サービスへのアクセスができなくなったりデータの更新に不具合が生じたりした事例が複数報告されています。
万が一のトラブルの深刻化を避けるため、Azure ADの利用にあたっては、障害発生時の対応や対策について事前に決めておく必要があります。
まとめ
Azure ADは、高いセキュリティのSSOを実現します。クラウドだけでなく、オンプレミスのアプリケーションを利用している企業も、Azure ADを活用すれば柔軟なSSOおよびアクセス制御が可能でしょう。
ただし、ご紹介したとおり、Azure ADには課題もあります。導入の際は、それらを把握し、課題に対する対策も同時に実施することが重要です。