SAML の基礎

Security Assertion Markup Language(SAML)は、ID プロバイダーとサービスプロバイダーが認証情報をやりとりするための標準規格です。SAML 認証はシングルサインオンのメカニズムであり、中央の ID プロバイダー(IdP)がユーザー認証を行う一方で、サービスプロバイダー(SP)は、認証の結果に基づいてアクセス制御だけを行うという仕組みです。

SAML 認証の主なメリットを以下にまとめます。

  • サービスプロバイダーが独自のユーザーデータベースを維持する必要はありません。ユーザー情報は、ID プロバイダー側の中央データベースで保管されます。ユーザーの追加や削除が必要になった場合でも、1 つのデータベースで操作を行うだけで十分です。
  • サービスプロバイダーは、ユーザー確認を独自に行わなくてよいので、 サービスプロバイダーの側でセキュアな認証を実装する必要がありません。
  • シングルサインオンなので、ユーザーのログオンは 1 回だけで済みます。その後のサインオン(ユーザーが別のアプリケーションを起動するときのサインオン)はすべて自動的に行われます。
  • サインインのときにユーザーが資格情報を入力する必要はありません。
  • ユーザーがパスワードを記憶したり更新したりする必要はありません。
  • 脆弱なパスワードが存在しません。

シングルサインオンのプロセス

SAML シングルサインオンは、サービスプロバイダーの側からも、ID プロバイダーの側からも開始できます。その 2 つのシナリオを以下にまとめます。

サービスプロバイダーの側から SAML シングルサインオンのプロセスを開始する場合は、以下のような流れになります。

  1. ユーザーは Parallels Client(サポートされているバージョンのいずれか)を開き、サービスプロバイダーに接続します。
  2. サービスプロバイダーが ID プロバイダーにメッセージを送り、ユーザー認証を依頼します。
  3. ID プロバイダーがユーザーにユーザー名とパスワード入力を求めます。
  4. ユーザーの資格情報が正しければ、認証応答(アサーション)がクライアントに送られ、その後サービスプロバイダーに渡されます。その応答には、ユーザーのログインが成功したことや、ID プロバイダーがアサーションに署名したことを示すメッセージが含まれています。
  5. ユーザーに公開アプリケーションのリストが表示されます。ユーザーがアプリケーションを起動するときに、資格情報を入力する必要はありません。

ID プロバイダーの側からシングルサインオンを開始する場合の基本的な流れは、以下の通りです。

  1. ユーザーがウェブブラウザーから ID プロバイダーにログインすると、社内向けアプリケーション(Parallels RAS など)のリストが表示されます。
  2. Parallels RAS を選択すると、アサーションがクライアントに送られ、その後 Parallels RAS で設定されているサービスプロバイダーに渡されます。
  3. ユーザーに RAS の公開アプリケーションのリストが表示されます。
  4. ユーザーがアプリケーションを起動するときに、資格情報を入力する必要はありません。
Was this topic helpful?