SAML の基礎
Security Assertion Markup Language(SAML)は、ID プロバイダーとサービスプロバイダーが認証情報をやりとりするための標準規格です。SAML 認証はシングルサインオンのメカニズムであり、中央の ID プロバイダー(IdP)がユーザー認証を行う一方で、サービスプロバイダー(SP)は、認証の結果に基づいてアクセス制御だけを行うという仕組みです。
SAML 認証の主なメリットを以下にまとめます。
サービスプロバイダーが独自のユーザーデータベースを維持する必要はありません。ユーザー情報は、ID プロバイダー側の中央データベースで保管されます。ユーザーの追加や削除が必要になった場合でも、1 つのデータベースで操作を行うだけで十分です。
サービスプロバイダーは、ユーザー確認を独自に行わなくてよいので、 サービスプロバイダーの側でセキュアな認証を実装する必要がありません。
シングルサインオンなので、ユーザーのログオンは 1 回だけで済みます。その後のサインオン(ユーザーが別のアプリケーションを起動するときのサインオン)はすべて自動的に行われます。
サインインのときにユーザーが資格情報を入力する必要はありません。
ユーザーがパスワードを記憶したり更新したりする必要はありません。
脆弱なパスワードが存在しません。
シングルサインオンのプロセス
SAML シングルサインオンは、サービスプロバイダーの側からも、ID プロバイダーの側からも開始できます。その 2 つのシナリオを以下にまとめます。
サービスプロバイダーの側から SAML シングルサインオンのプロセスを開始する場合は、以下のような流れになります。
ユーザーは Parallels Client(サポートされているバージョンのいずれか)を開き、サービスプロバイダーに接続します。
サービスプロバイダーが ID プロバイダーにメッセージを送り、ユーザー認証を依頼します。
ID プロバイダーがユーザーにユーザー名とパスワード入力を求めます。
ユーザーの資格情報が正しければ、認証応答(アサーション)がクライアントに送られ、その後サービスプロバイダーに渡されます。その応答には、ユーザーのログインが成功したことや、ID プロバイダーがアサーションに署名したことを示すメッセージが含まれています。
ユーザーに公開アプリケーションのリストが表示されます。ユーザーがアプリケーションを起動するときに、資格情報を入力する必要はありません。
ID プロバイダーの側からシングルサインオンを開始する場合の基本的な流れは、以下の通りです。
ユーザーがウェブブラウザーから ID プロバイダーにログインすると、社内向けアプリケーション(Parallels RAS など)のリストが表示されます。
Parallels RAS を選択すると、アサーションがクライアントに送られ、その後 Parallels RAS で設定されているサービスプロバイダーに渡されます。
ユーザーに RAS の公開アプリケーションのリストが表示されます。
ユーザーがアプリケーションを起動するときに、資格情報を入力する必要はありません。