🤖

SSOについて

2023/12/11に公開

single-sign-on

1度認証を受けた後は、利用可能なサーバやサービスを認証なしで利用できる仕組み。

メリット

  • 利便性の向上
  • 業務効率の向上
  • 管理者の負担軽減パスワード管理など

デメリット

  • パスワード流出時のリスクが高い

種類

SSOの種類は1つだけではない!

  • リバースプロキシ:社外から社内業務サーバにアクセスする
  • ケルベロス認証:社外から社内業務サーバにアクセスする
  • SAML:異なるドメイン間SSOしたい時に使われる。ネットショッピングなど

プロキシについては、プロキシとはにまとめています。

リバースプロキシを利用したSSO

ユーザーはリバースプロキシサーバにアクセスして、リバースプロキシサーバの認証機能によって認証します。
問題がなければ社内のサーバにアクセス。
リバースプロキシサーバを経由して通信させることによって、社内のリソースに1度の認証でアクセスできるようになります。

プロキシサーバの多くはHTTPSの代理をするので、対象のサーバはWEBベースのシステムである必要があります。
最近はWEBアプリで大体の範囲でカバーができる
メール:Webメール
ファイル操作:WebDAV
業務サーバ:Webブラウザで操作

ケルベロス認証

LAN内においてまずケルベロスサーバで認証を行いOKがもらえれば、その後の業務サーバへのアクセスは認証なしで利用できる

SAML
なぜSAMLが必要か?

以前はリバースプロキシを通じて社内リソースにアクセスしていましたが、多数のクラウドサービスが普及したことで、これらのサービスを利用することが一般的になりました。この変化に伴い、多くのクラウドサービスのIDとパスワードを一元管理する仕組みが必要になり、そのための新技術が開発されました。

XML仕様のマークアップ言語。
SSLが使える前提である。
Webサイトやサービスの間でSAMLの情報を交換することで、1度の認証で複数のサービスが利用可能になる。
⇒SAMLによるSSOが実現できる

IDP:認証を受け持つWebアプリ
SP:実際に利用するWebアプリ
Assertion:SAMLで使う情報が含まれるトークン
・認証 どのような手段でいつ認証されたか
・属性 ユーザー名、組織名など
・認可 ユーザーのアクセス権

SAMLを使ったSSOの流れ(Azure ADの場合)

ポイント
  • IdPで発行されるアサーションには、IdPの秘密鍵で電子署名されている。
  • SPは公開鍵を使って電子署名を検証する。
  • IdPとSPはお互いにPKIの仕組みを使って信頼関係を結んでいる。
  • IdPとSPはそれぞれ直接通信せず、必ずWebブラウザを経由して通信が発生している。
  • IdPとSPが直接通信する必要がないので、ドメインが異なっていてもOK!

Discussion