サインインと ID 保護の決定版 Azure ADについて緩く紹介します。
概要チックなところや大まかなふるまいとかを紹介します。 4月ぐらいに Active Directory Domain Service (以下ADDS)のことをまとめたばかりですが…時代が変わった気がするので、Azure ADについていったん紹介しておきたい腹積もりです。あみちゃんとさきちゃんを出すかは微妙ですがとりあえずやっていきます。
Azure ADとは
まずはサービスの概要の紹介。 Azure ADとは ID管理や認証と認可を行うAzureのサービスの一つです。おいおいまてまてじゃあAzure VMにAD立てるのと大して変わらないじゃないかよ!ともうかもしれないですが、完全に置き換わるサービスではありません。
見てわかる通り Azure ADと ADDSでは守備範囲が異なります
ADDSはオンプレミス向けの認証基盤であることに対して、Azure ADはクラウド上にありインターネット経由からアクセスできる認証基盤となっています。
Azure ADは ADDSのようにADFS(Active Directory Federation Service)を立てたりせずともシングルサインオンの機能を利用することができるのが大きな特徴の一つです。
ほかにもたくさんの機能があります。
このAzure ADは認証プロトコルに対応していれば様々なクラウドサービスや自前で制作したアプリケーションの認証連携ができるようになるサービスです。いわゆるシングル サインオンというやつですね。自社のユーザの認証だけではなく企業間 (B2B)や企業-消費者間 (B2C)のユーザー管理も行えるため様々なケースで利用できるサービスといえます。
実際の使いどころ構成パターン
実際の構成パターンを紹介します。 AzureADコネクトサーバがあればすべて解決というわけではなく、AzureADConnectサーバはあくまでもユーザーとグループなどのオブジェクトをAzureADにUpする機能を持っているだけで、認証の方式や要件によって追加のADサーバや認証エージェントが必要になってきます。
私自身も実際に各構成を組んでみるまで構成の想像がつかなかったので私なりにまとめてみました。
冗長構成や耐障害性については公式のドキュメントを参考にしたほうがよさそうです。
ディレクトリ同期+フェデレーション統合
ざっくり赤枠で囲ったものがAzure ADと同期されます
- ユーザー
- グループ
またオンプレミスのそとから認証を行う場合は、DMZなどに配置されたプロキシサーバーを介して認証を行うため、認証に関するセキュリティ対策の責任をオンプレミス側で追うことになります。
AzureADが一般公開された当初はこの構成が一般的でしたが、パスワードハッシュ同期やパススルー認証方式が登場したため、新しくこの構成で組むことは少なくなっているようです。(私の観測範囲の中の話ですが)
私の中で、この方式の難点はADFSサーバとウェブアプリケーションプロキシセットで必要というのが構成の複雑さや、管理対象の増大につながり大きなデメリットになる気がしています。
ディレクトリ同期+パスワードハッシュ同期のパターン
ざっくり赤枠で囲ったものがAzure ADと同期されます
- ユーザー
- グループ
- パスワード
キーとなるポイントはパスワードがAzureADにも保存されるところです。
通常のディレクトリ同期に加えてパスワード(ハッシュ)も同期するから、オンプレADとAzure ADをのそれぞれで同じパスワードが利用できるよという方法の1つです。
画像の通り同期の方法は1方向のみですが、セルフパスワードリセットを行う時だけAzureADからオンプレADへの書き込みが行われます。【パスワードライトバック】
同期間隔はデフォルト30分なのでパスワード変更した際に反映まで時間がかかります。
この方式でもシングルサインオンは利用可能であること、オンプレミス側の外からの認証はクラウド側で行われるため、認証に関するセキュリティ対策の責任をクラウド側で負うことになります。つまり、Microsoftがセキュリティ対策をいい感じにやってくれるので、管理する項目が少なくできます。
ディレクトリ同期+パススルー認証のパターン
ざっくり赤枠で囲ったものが主にAzure ADと同期されます
- ユーザー
- グループ
通常のディレクトリ同期とクラウド側で認証が発生した際にはオンプレ上の認証エージェントを経由してActiveDirectoryに対してパスワードの検証の通信を行います。
この方式でもシングルサインオンは利用可能であること、オンプレミス側の外からの認証はクラウド側で行われるため、認証に関するセキュリティ対策の責任をクラウド側で負うことになります。つまり、Microsoftがセキュリティ対策をいい感じにやってくれるので、管理する項目が少なくできます。
フェデレーション統合方式をより使いやすくした構成パターンと考えると、イメージしやすいかなと思います。
まとめ
- AzureADとの同期にはAzureADConnectサーバが必要
- 認証の方式によって追加のADFSや認証エージェントサーバが必要
- 3つの方式すべてでSSOは実現化可能
- AzureAD上にパスワードのハッシュを同期してクラウド側で認証が完結する方式:パスワードハッシュ同期
- パスワードの検証をオンプレミス側で行う方式:フェデレーション統合、パススルー認証
- 同期はオンプレミス側からのクラウド側へ1方向、セルフパスワードリセットのときはAzureADからオンプレミス側のADへ書き戻しが可能
少しずつでもAzureの使用のかみ砕きのためにシリーズ化してクオリティ上げながらつらつらと書いていこうと思いますぅ!
コメント