※ 本記事は2017年2月23日に公開されたものです。

さて、今までのエントリで散々個人アカウントを利用しましょう、と説明してきました。
個人アカウントの利用を推奨するのは、匿名性を排除するためです。利用者の特定はアクセス制御や監査を実施するうえでの前提条件となります。
ただし、匿名性を排除できるのであれば、必ずしもデータベースにアクセスする際に個人アカウントを利用しなければいけないわけではありません。個人アカウントの利用は匿名性の排除の手段のひとつですが、必ずしも唯一の方法ではありません。

たとえばデータベース上の共有カウント利用時にワンタイムパスワードを利用する方法があります。ワンタイムパスワードを発行した人が誰かが特定できれば、データベース上の共有アカウントを利用したのが誰か特定できることになり、匿名性が排除された状態は保たれます。

ただし、注意が必要なのはこれは個人の特定はデータベース側でなくワンタイムパスワード発行システム側でおこなうという、ワンタイムパスワード管理システムへのリスクの転移です。匿名性の排除のために個人アカウントの利用の代わりに、ワンタイムパスワードという代替コントロールをおこなっていることになります。

データベース側ではワンタイムパスワード管理システムがセキュリティが確保された状態で正常に動作し、そこで個人が識別できるという前提でデータベースでは匿名性がない状態を許容しています。ワンタイムパスワード管理システムの管理者であれば、自由にワンタイムパスワードを発行できることになります。 

さらにワンタイムパスワードの利用で担保できているのは個人の特定のみであり、最小権限の原則の実現は別に考える必要があります。SYSやSYSTEMのデータベース管理アカウントにワンタイムパスワードを利用して個人が特定できるようにしている場合でも、その管理アカウントの利用者が必ずしもデータベースに対して全ての操作をおこなってよいわけではありません。たとえばデータベースのバックアップ運用をおこなっている担当者は個人情報やクレジットカード情報などアプリケーションのデータを参照する権限があってはいけないこともあります。また、管理者権限でワンタイムパスワードをバイパスするユーザーを作成したり、別のユーザーに必要以上の権限を付与したりしてしまうかもしれません。ワンタイムパスワードを利用して匿名性を排除しているからといって、SYSやSYSTEMなどのデータベース管理者アカウントを利用する運用が常に安全とはいえません。

また、監査に関しても複数のシステムのログを突き合わせる必要があり、管理は複雑になります。

データベースを管理していくうえでどうしてもSYSやSYSTEMなどの管理権限が必要になり、これらのアカウントを利用しなければならないときにワンタイムパスワードは個人を特定するうえでのひとつの有効なソリューションです。ただし、ワンタイムパスワードを利用しデータベースの特権ユーザーを利用を許可することで、すべてのセキュリティ上の課題を解決するわけではないので注意が必要です。

「もくじ」にもどる