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 の公開アプリケーションのリストが表示されます。
- ユーザーがアプリケーションを起動するときに、資格情報を入力する必要はありません。