テクニカルトピックス


【2015.9.1】Swivel内部データベースの取り扱いについて

◆Swivel内部DBとは

Swivel PINSafeサーバはStand Alone構成/A-A構成いずれの場合も、内部に独自のデータベースを持ち、Swivel内でのユーザ管理を行います。
多くのお客様では、下図のようにActive DirectoryやOpenLDAP等の「LDAPをしゃべることのできる」既存のディレクトリサーバからこの内部DBにユーザ情報を定期的に取り込むことで、Swivelのユーザ管理工数の削減をはかっています。
もちろん、この内部DBはSwivel PINSafeサーバの管理画面から直接編集ができますので、既存のディレクトリサーバと連携しなくても運用が可能です。

図1 Swivelの内部DBとは

なお、内部DBで管理している情報は「ユーザID」、「ユーザのアドレス」、「PIN」 等の最低限の情報です。


◆Swivelの構成の違いによる内部DBの違い

Swivel PINSafeサーバでは、Stand Alone構成/A-A構成の違いによって内部のDBが下記のように異なります。

  1. Stand Alone構成の場合
    Swivel PINSafeサーバがStand Alone構成の場合、下図のように、内部DBは独自仕様のデータベースを使用します。この場合、この内部DBは暗号化されており、かつアクセスをSwivelアプライアンスからのみに制限していますので、Webアプリケーションからこの内部DBにアクセスすることはできません。

  2. 図2 Stand Alone構成時の内部DB

  3. A-A構成の場合
    Swivel PINSafeサーバがA-A構成の場合、下図のように、内部DBはMy SQLデータベースを使用します。Active側の内部DBとStandby側の内部DBはMySQLの機能を使ってReplicationされています。
    この場合の内部DBの仕様は公開されているため外部のアプリケーションからアクセスすることができます。内部DBの仕様は下記のKnowledge Baseページをご参照下さい。
    https://kb.swivelsecure.com/wiki/index.php/Database_Schema

  4. 図3 A-A構成時の内部DB

Stand Alone構成の場合でも、外部に独自のデータベースサーバを立てて、Swivelアプライアンスの参照先を内部DBから外部のデータベースに変更すれば、外部アプリケーションから直接アクセスができるようになりますが、データベースサーバを別途構築する際のリスク等を考えると推奨できません。
したがって、Webサイトの認証基盤等でSwivelを使用し、WebアプリケーションからSwivel PINSafeサーバの内部DBに直接アクセスが必要な場合には、A-A構成でのSwivelの導入を強く推奨いたします。