
こんにちは。やましーです。
今日はMicrosoftのクラウドサービスであるAzure AD (Azure Active Directory)やテナント、サブスクリプション、ユーザーアカウントの関係性について解説してみたいと思います。
Azure ADやテナント、サブスクリプション周りって普段あまり意識しないし、理解できていない方も多いと思います。
心配いりません。実は皆さんあまり理解できていない状態ですので、ここで理解して周りに差をつけていきましょう。
これまで、私はAzureを使ってデータ基盤を構築し、IaaS(仮想ネットワーク、仮想マシン)やPaaS(ストレージ、SQLデータウェアハウス)などをそれなりに使ってきましたが、このAzure ADやサブスクリプションについて実はあまり理解できていなかったので改めて整理してみたいと思います。
ということでこの記事は次のような読者を想定しています。
- Azure AD、サブスクリプション、ユーザーの関係性を知りたい
- Azureではない(オンプレミスの)Active Directoryとの関係性を知りたい
- Microsoftのマニュアルサイト読んだけどよくわからなかった
- Azureについて勉強始めたのでとりあえず概念的なところを知りたい
逆に次のような方は読者として想定していないです。
- Active Directoryを構築できる
- Azure ADで制御できる具体的な機能やその設定方法をしりたい
- Azure ADやサブスクリプション、ユーザーについて関係性を説明できる
それではまずAzure Active Directoryについてから説明に入っていきましょう。
Azure Active Directoryとは

Azure ADとは何か?結論から言うと
クラウドサービスを含めてシングルサインオンを実現するサービス
です。
ちなみにAzure Active Directory は Azure ADと略されます。
Azure ADについてもう少し理解を深めていきたいと思います。
Azure ADを理解するためにまず、AzureではないActive Directoryについて説明します。
AzureではないActive Directoryについて

Active Directoryを一言でいうとMicrosoftのシングルサインオンを実現する仕組みです。
あなたはWEBサイトやメール、パソコンを使うそのたびにユーザーIDやパスワードを入力したり、パスワードの変更をする場合はいちいちWEBサイト一つ一つを回って変更したりと、めんどくさいと思ったことはありませんか?
そういった煩雑になりがちなユーザーIDとパスワードを一本化して、一組のユーザーIDとパスワードでサインオン(、ログイン、ログオン)する仕組みをシングルサインオンといいます。
一度サインオン (、ログイン、ログオン) して認証を受ければ何回も何回もユーザーIDとパスワードを入れる必要もなくなりますし、もちろんパスワード変更も1回で済みます。
AzureではないActive Directoryはオンプレミス上にドメインというグループを作りそのドメインの中であればシングルサインオンによって一組のユーザーIDとパスワードでサインオンしてパソコンやメール、WEBサイトにアクセスすることが可能になります。
しかし、AzureではないActive Directoryのドメインは社内ネットワークなど閉じた世界でしかグループを作れません。

当然ながらOffice 365やAzure、Slack、 Salesforce などのインターネット上に公開された開かれた世界のクラウドサービスはこのActive Directoryのドメイン外のサービスなのでシングルサインオンで認証を受けることができません。
そこで、MicrosoftはAzure Active Directoryによってクラウドサービスもシングルサインオンを実現しています。
すべての根源それがAzure Active Directory

ここまででAzure ADと AzureではないActive Directoryの違いについて理解できて来たと思います。
クラウド上で動いているシングルサインオンサービス、それがAzure ADということですね。
上の図を見るとAzureADの中にテナントがあり、アカウントやサブスクリプション紐づいていることが分かると思います。
その他にもたくさんの機能があります。

ちなみに 現在のAzure Active Directory の利用規模 は

- 10万台以上のコンピュータが接続し
- 月間2.5億人以上がアクセスし
- 一日に300億回以上の認証している
世界最大級のクラウドサービスです。
Azure ADテナントとディレクトリについて
テナントというと人によって解釈が違ってきますので注意が必要です。
Azure ADテナントとはディレクトリと同じものだと考えてください。
なのでテナントIDとはディレクトリIDのことを指しています。

テナントは企業で複数持ち組織ごとに割り振って運用することもできますが、管理が煩雑になるので1つのテナントで複数サブスクリプションを持つことを推奨。
Azureサブスクリプションとユーザーアカウントの関係

AzureサブスクリプションはAzureのディレクトリIDに紐づいています。Azure ADテナントを信頼している表現されていたりします。
サブスクリプションには必ず一人の管理者アカウントが存在します。
そしてサブスクリプションはその管理者アカウントの持ち物というイメージで理解すると良いと思います。
サブスクリプションに対して管理者アカウントは必ず一つです。一つのサブスクリプションに二つの管理者アカウントは存在できません。
なのでアカウントの下に紐づくと表現していたりするサイトがあります。
その他のユーザーアカウントはそのサブスクリプションにアクセスできるかどうかの権限がよって付与 (RBAC) されることにより、サブスクリプションの中でリソースを作成できるようになります。
サブスクリプションは課金単位です。サブスクリプションの中にあるリソースの請求はサブサブスクリプションにまとめられて来ます。
まとめ

Azure Active Directoryのテナント、サブスクリプション、ユーザーアカウントの関係性についてまとめてみました。
Azure Active Directoryはクラウドサービスを含めたシングルサインを実現するためのサービスでした。そのほかにも権限の付与などアクセス制御ができたりしますが、その辺りは別の記事で紹介したいと思います。
Azure ADは非常に奥が深く機能も豊富です。そしてAzureの管理構造も柔軟に対応できるためかなり複雑です。
まずはなんとなく概要を理解することが大切だと思うので、この記事がその足掛かりとなればうれしく思います。
以上、最後まで読んでいただきありがとうございます。
やましーでした。