TL;DR

1 つのアカウントとその認証器で、複数のアプリケーションにシームレスにアクセスできるようにする認証のプロセス。一般にフェデレーションのプロトコルで実装する。

なぜ必要か

ユーザが一度認証すれば、ほかのサービスで再びログインを求められない。FIM のノートでは、SSO を UX と認証機能を定義する概念としている。

仕組み

NIST の用語集では、NIST SP 800-63-4 を出典として、SSO を「1 つのアカウントとその認証器を使って、複数のアプリケーションにシームレスにアクセスする認証のプロセス」と定義し、一般にフェデレーションのプロトコルで実装されるとしている。

例

  • SAML は主に SSO や認証連携(フェデレーション)に使う標準規格である
  • Keycloak は SSO に対応しており、一度ログインすれば複数のアプリケーションに再ログインなしでアクセスでき、ログアウトも一度で済む
  • ZITADEL は SSO を標準で備えた IAM 基盤である

注意点

LDAP は SSO の文脈で出てくることが多いが、SSO のためのプロトコルではない。

関連

出典