Azure Active Directoryとは
Azure Active Directory (以下 Azure AD) とは、 インターネットやWebを通して提供されるものに対して「認証」と「認可」を行うサービスです。
「認証」と「認可」という言葉は、よく混同しがちですので整理してみましょう。
認証:相手がだれであるかを特定すること
認可:特定のアクセス権限を与えること
【認証】このIDはAさんなので
【認可】Xというサービスの利用が可能です
アカウントやIDの管理、アクセス制御のように「認証」と「認可」に付随する機能を多く備えているのが、Azure ADです。
アプリケーション開発者はしばし、サインインやログインの認証をどうするか、どうセキュアに保つかについて悩むことがあります。Azure ADを利用することで、アプリケーション側では認証を行わずAzure ADに任せ、その認証された結果に対してアプリケーション側で利用権限の付与を行う、といった「認証」と「認可」の分離を行うことができます。つまり、アプリケーションの開発者は、ユーザーのプライベート情報のセキュアな部分を多くの意識を割くことなく開発に注力することが可能になります。
公式ドキュメントは、以下で確認できます。
参考:
Azure Active Directory のドキュメント
Azure ADで何ができるのか
「認証/認可を行うサービス」と書きましたが、実際にAzure ADで出来ることはたくさんあります。一部ではありますが、例えば以下のようなことが可能です。
- 様々なアプリでIDフェデレーション(連携)を構成し、例えばFacebookやGmailなどのアカウントでサインインできるSSO(シングルサインオン)が実現できる
- 会社のアプリケーションとサービスをゲスト ユーザーや任意の組織の外部パートナーと安全に共有する
- Azure ADからオンプレミスのActive Directoryへの連携
- セキュリティや使用パターンに対するレポートの表示
- 電話などによる多要素認証
- アクセスの制御 などなど
個人的には、ユーザーがWindowsのPCなどでログインしてしまえば、その他のSaaSなどでパスワードの入力なしにログインできる「Azure AD シームレス SSO」が便利だなと感じました。
参考:
Azure Active Directory シームレス シングル サインオン
どんな条件でアクセス制御が可能か
Azure ADではアカウントごとのアクセス制御が可能ですが、以下のような条件の組み合わせでアクセス制御ができるようになっています。
- 特定ユーザー/グループ
- アクセス先となるクラウドアプリ
- デバイスやプラットフォーム(iOS, Android, Windows, macOS)
- IPアドレス
- クライアントアプリ
より詳しい条件については、以下のページを参考にしてください。
参考:
Azure Active Directory 条件付きアクセスの条件の概要
どのサービスで利用できるか
認証/認可で様々なことができるAzure ADですが、具体的にどのようなサービスで利用できるのでしょうか。
実はMicrosoftが提供するAzureやOffice 365だけでなく、GoogleのG SuiteやSalesforceなどのサードパーティにも接続が可能になっています。 もちろん本サイトで解説しているBaaS(Blockchain as a Service)などのAzureのサービスでは必須の機能となります。
以下のページで、 Azure ADがどんなサービスをサポートしているか、利用可能なアプリケーションが参照できます。
参考:
Azure Marketplace (Azure Active Directory)
Azure テナントとは
実際にAzure ADを触ってみると「テナント」という言葉が出てきます。よく「ビルのテナント」とか「テナントの出店」など不動産周りで耳にすることが多い言葉で「オフィスや商業ビルと賃貸契約して入居する事務所や店舗」のことを意味しますが、Azure ADにおいてテナントとは何を指すのでしょうか。
公式ドキュメントによると、以下のように書かれています。
Azure Active Directory (Azure AD) では、ユーザーやアプリなどのオブジェクトを “テナント” と呼ばれるグループにまとめます。 テナントを使用することで、管理者は組織内のユーザーと、組織が所有するアプリに対してポリシーを設定して、セキュリティおよび運用ポリシーを満たすことができます。
https://docs.microsoft.com/ja-jp/azure/active-directory/develop/single-and-multi-tenant-apps
つまり「Azureというビルにあるアプリケーションやユーザーをまとめた部屋」のことをテナントと呼んでいるようです。Azureというビルの中にお店を出したいときには、まず出店する場所が必要ですよね。
初期設定方法
Azure ADだけの記事ではありませんが、以下のページで初期設定方法を行っていますので参考にしてください。
参考:
初心者のための Azure Blockchain Workbench 初期導入方法
まとめ
クラウドサービスを利用している人にとって、Azure ADは大変有用なものですが、Microsoftのクラウドサービスを利用する人にとっては必須のサービスとなります。本サイトで紹介しているAzure BaaS(Blockchain as a Service)でも、Azure ADを利用していますので、この機に学んでおくと将来役に立つかもしれません。