怠惰の極み

怠惰な学生かもしれない

シングルサインオン・SSO

いつもの(?)リレーブログのお時間です(これ以外に何も書いていませんが)。前回の方の記事はこちらです。

potaxyz.hatenablog.jp

今回のお題は、シングルサインオンです。(締め切り当日になって書き始めたのでクソ雑です…ゴメンナサイ)

シングルサインオンとは

シングルサインオン(Single Sign On)は、一度のユーザー認証で複数のwebサービスやアプリケーションが利用できるようになる仕組みです。パスワードやIDを複数覚える必要がなくなり、何回もユーザー認証をせずに済みます。そのため、ユーザーの負担を減らすことができる仕組みです。

SSOの仕組みと方式

シングルサインオンには何個かの方式があり、それぞれ簡単にまとめます(全部ではないですが)。

代行認証方式

クライアント側のコンピュータに常駐するエージェントがID、パスワードを自動で入力する方式です。ログイン画面などに入るのを検知して、自動的にID・パスワードをぶちこみます。 ブラウザとかについてるやつですかね。ChromeとかSafariとか。Chromeは認証なしでぶちこんじゃうので心理的に微妙な感じ。

リバースプロキシ方式

名前通り、中継サーバ上で認証を行う方式です。クライアントとwebサーバの間にプロキシを挟むことでプロキシが認証をして、サーバ側にユーザー情報を渡すらしいです(自信ない)。アプリケーションを増やしやすいのが特徴。

エージェント方式

こっちはサーバ側にエージェントを組み込んで認証する方式です。初回ログイン時に認証済みのCookieをクライアントに送りつけ、それを識別情報として使います。それ以降の認証時は、webサーバ上のエージェントがCookie情報をもとに連携している認証サーバにアクセスして、権限などのチェックをします。

SAML認証方式

SAMLはSecurity Assertion Markup Languageの略で、ID管理と認証を行うIDプロバイダ(IdP)が認証を行い、サービスプロバイダ(SP)に認証情報を送りつける方式です。ユーザーがサービスプロバイダにアクセスすると、サービスプロバイダがIDプロバイダに認証要求を送ります。するとIDプロバイダがクライアント側にログイン画面を表示させ、認証が成功するとIDプロバイダがサービスプロバイダに認証応答を送ることでユーザ認証を行います。 この方式は、OASISで規格化されており、よく使われているっぽいです。

まとめ

いかがでしたか系ブログみたいですが、結構いろいろと方式があるんですね。

こちらが次回の方のブログ。

bigdrea6.hatenablog.com

参考文献

シングルサインオン(SSO)について シングルサインオン(SSO)とは?メリットと仕組みを解説 【図解つき】シングルサインオン(SSO)とは?機能や仕組み、導入メリット、デメリットをわかりやすく解説!