分からない人のための Azure AD B2C 【概要編】

Web

今回は、Azureのサービスの一部である
『Azure AD B2C』について取り上げたいと思います。

ちなみに、
このAzure AD B2Cを早速使いたいという方は、
以下のサイトから製本版とダウンロード版の販売しております。
>> AzureADB2C使ってみた(製本・ダウンロード版)

このブログでは、概要編しか書いてありませんが、
物販の方は環境構築から、設定、アプリ連携まできちんと書かれております。
また、アプリの方は、GitHubで公開されていますので、安心です。

しかしながら、アプリは公開されているとはいえ、B2Cテナントの用語や設定がややこしいです。
そのためにも、有料コンテンツであるAzureADB2C使ってみた(製本・ダウンロード版)をぜひ、ご活用ください。
製本版は数に限りがありますので、ご了承ください。

ダウンロード版でしたら、こちらですぐにご購入できます。

価格は3000円で、参考書一冊の値段になっています。
書籍が一般に販売されていない、ネットでも情報が少ないという点を考慮すると妥当な値段と思われます。
(もしかしたら、もっととってもいいかもしれません。)
ボリュームに関しては、ページ数で言うとたったの42ページですが、Azure AD B2Cの基本が詰め込まれています。

では、改めてAzure AD B2Cの概要編について説明します。

普段、仕事でWebアプリケーション作ってるよ!
って方は実感していると思うのですが、
アカウント管理をアプリごとに行うのってめちゃめちゃしんどいです。

私も全部やったわけではないですが、少しだけ携わったことがあります。

ログインしたときに認証クッキーがどうのこうの、セッションがどうの…など考えることがたくさんあります。
ユーザー視点から見ると、ログインなんてボタンを押すだけなのに、
サーバー側の処理としてはめちゃくちゃ複雑なことをしなければなりません。

外向けとしては単純でも、中身としてはかなりシビアです。

しかもですが、
Webアプリケーションごとにアカウントの機能を作ったとすると、
ユーザー視点から見れば、アプリごとにアカウントを作ることになります。

経験あると思いますが、これってかなりめんどいです。
どのアプリでどのIDとパスワードだったかをユーザー自身が管理しなければなりません。

日々色んなアプリが増えていく中で、気づいたらIDとパスワードも増えているのではないでしょうか?
ちょっとITに詳しい方はパスワード管理ツールを使って管理します。

ですが、大抵の方は、IDは固定で、パスワードは使い回しているのではないでしょうか?何か怖いですよね。

そこでユーザーとしては、
『全部のアプリケーションでログインするとしても、一個だけ覚えておけばOK』
となるのが理想のはずです。

これは『シングルサインオン』と言って、
例えば『Googleでログイン』とか『Facebookでログイン』などの機能を指します。
最近、新規でアカウントを作るときによく見るのではないでしょうか?

しかし、その仕組み?実体?サービス?的なものは知らない方が多いのではないでしょうか。
ユーザー視点で表示されるボタンは『googleでログイン』ですが、
その裏でどのようなサービスが使われているのでしょうか。

その一つのサービスとして『Azure AD B2C』があります。

話が長くなるので、ちょっとまとめてみましょう。
Azure AD B2C でできること。

  • アプリごとに(慣れれば)簡単にクラウド上でアカウント管理ができる
  • ユーザーにとって便利なシングルサインオンが可能
  • MicrosoftのAzureサービスだから多分安心

最後に関しては、できる事というより、
『Azure AD B2C』を選ぶ理由に近いかもしれません。

また、このようなB2Cのように
『クラウド上でアカウント管理をするサービスを』IDaaS(アイダース)と言います。
IDaaSのサービスを使う利点として挙げられるのは、

  • アプリごとにアカウント機能を実装する手間が減る
  • ユーザーにとって便利なシングルサインオンの実装の手間が減る
  • セキュアである

でしょうか。

今まで手間だったアカウント管理をIDaaSに任せることによって、本当に作るべきところに時間をかけれます。
Webアプリケーションなんて、そういうもんです。

アカウントを作りたいわけではなくて、アカウントを元にいろんなサービスを展開していくものですから。

セキュアであるというのは、
アカウント管理の部分の実装をできたとしても、本当にセキュアなのかというのは別問題です。
そもそも、実装できる能力と、セキュリティを知っている&対策できるということは別問題です。
中途半端な知識ならば、サービスに任せて、セキュアな環境でやり取りできるメリットを得られます。

また、IDaaSは他にもOktaAuth0などがあります。
どれも規模が大きいですので、どれか選んでいれば安心です。
ただし、費用は結構掛かります。

それに比べ、
Azure AD B2Cはかなり安く済むような価格設定になりました。
となると、
企業でも採用される可能性が高いですので、B2Cを知る価値はあるでしょう。

スポンサードサーチ

では、改めてAzure AD B2Cとは

Azure AD B2Cとは、
『マイクロソフトが提供する、IDaaS(アイダース)のひとつ』です。

また、Azure AD B2Cは『Azure Active Directory B2C』の略になります。

分かりましたでしょうか?
分からないですね。一つずつ紐解いていきましょう。

IDaaS(アイダース)って何?

冒頭でもちらっと言いましたが、
IDaaS(アイダース)とは、Identity as a Serviceの略で、
クラウド上でアカウントの管理を行ってくれるサービスになります。

最近よくPaaSやIaaSとか聞きますよね。それぞれ、

 PaaS:Platforms as a Service
 IaaS :Infrastructure as Service

です。それぞれの意味は、
>> 知っておきたいIaaS、PaaS、SaaSの違い

を見てなんとなく意味をとらえてください。

要は、クラウド上において、
あたかも自分が持っているマシンのように扱えたり、
アプリケーションを公開できたり、データを集めたりと、色んなことができるサービス全般のことを指す、という理解で構いません。

例えば、マイクロソフトのAzureを例にとって説明しましょう。
Azure の中にAzure Web Appsというサービスがあります。
Azure Web Appsは、
『自前でWebアプリを公開する際に設定する必要がある面倒な作業(サーバーを立てて、なんかいろいろ開放して外部からアクセスできるようにし、IISにWebアプリを置いて…などの作業)』をボタン一つで行えてしまうサービスのことです。
このAzure Web AppsはPaaSの一種になります。

これ以上は私の経験の浅さが出てしまうため、説明できませんが、
とりあえずPaaSには、Webアプリを簡単に公開できたりするサービスがあるんだな、ぐらいの認識でOKです。

そして、IDaaSというのは、クラウド上でアカウントを管理するのに特化したサービス、というわけです。

そしてAzure AD B2Cとは、
マイクロソフトが提供するクラウド上でアカウントを管理するサービスのこと
になります。

Azure AD B2C を使う前に知っておいてほしいこと

さっさと使い方を教えてくれよ!と思うかもしれませんが、
後々効いてくるため、ついでに説明しましょう。

実は、Azure AD B2Cというサービスは、
Azure AD (Azure Active Directory)というサービスの上で動いています。

また、Azure AD は、クラウド上でマイクロソフトアカウントを管理するアカウント管理サービスになります。
そして、Azureのサービスの一つでもあります。

分かりましたでしょうか?何を言ってるか分かりませんね。
同じような単語がたくさん出てきましたので書き出してみます。

  • Azure
  • Azure AD
  • Azure AD B2C

Azure

Azureは、
『マイクロソフトが提供するいろいろなクラウドサービスの統合したもの』です。

Azureというサービスでアカウントを作り、サブスクリプション(請求先情報)を追加してやれば
すぐにでもWebアプリケーションを公開できます。

Azure AD(Active Directory)

Azure AD とは、『クラウド版のActive Directoryというサービス』のことです。

Active Directoryは、マイクロソフトの製品の一つで、社内や学校などのローカルの環境において、アカウントを管理できるサービスです。
今でも社内でActive Directoryを使っているよ、というところは多いのではないでしょうか?

そして、ADに関しては、以上知識を持ち合わせておりませんので分かりません。
一つ言えることは、

  • Active Directory:
    ローカル(社内・学校内)のWindowsのアカウントを管理するサービス
  • Azure Active Directory :
    マイクロソフトアカウントをクラウド上で管理するサービス

になります。
よく分かんないよ!という方は、
ローカルなのか、クラウドなのかの違いで見極めてもらって大丈夫です。

Azure AD B2C

Azure AD B2Cについては先ほども言った通り、
クラウド上でアカウントを管理するサービスです。
しかし、となると、Azure AD とどう違うのでしょうか。

実は、
B2Cであればマイクロソフト以外のアカウントも管理できます。
(googleやfacebookで登録されているメアドでも、会社で与えられているメアドでもOK)

そして、アプリケーションと紐づけることによって、アカウント管理を簡単に実現できます。

注意点

ここからはAzure AD B2C特有の『クセ』のようなものなのですが、、、
後々効いてくるため、ここで紹介しようと思います。

実は、B2Cのサービス基盤は、Azure AD を土台としています。
よく分からないという方は、こちらを参考にしてみてください。
>> 基礎から分かる Azure AD B2C

見ましたでしょうか。
このAzure AD を土台としていて、拡張機能がついたものがAzure AD B2Cという事です。
これが、この後の実践編において非常に重要なってきます。
概要はこれぐらいで終わりましょう。

スポンサードサーチ

まとめ

Azure AD B2Cの概要について説明しました。
B2Cサービスでできることは、

  • クラウド上でアプリケーションごとにアカウント管理
  • シングルサインオンができる
  • (マイクロソフトが提供しているから、比較的安心)

そして、B2CのようなIDaaSにする理由は、

  • アプリごとにアカウント機能を実装する手間が減る
  • ユーザーにとって便利なシングルサインオンの実装の手間が減る
  • セキュアである

B2Cで気を付けてほしい事

  • Azure AD を基盤にしているという事

になります。
次回は基本的な実践編を書いていく予定です。

また、今のところこの記事の更新は遅くなりそうですので、待ちきれない方は以下のサイトからご購入できます。

AzureADB2C使ってみた(製本・ダウンロード版)