データベースのユーザー権限管理
データベースのユーザー権限管理
ユーザーに許可する権限管理の方針として、「最小権限(最少特権)の原則」と呼ぶ概念が、よく知られています。データベースにアクセスするユーザーの権限管理にも、この概念を適用できます。
例えば、経理に関する作業を行うユーザーには、経理作業を行うために必要となる最低限の表に対する権限を付与します。また、特定の運用管理を行うユーザーには、運用を行うために最低限必要な権限だけを付与します。
データベースの管理者権限はもろ刃の剣
ユーザーの権限管理において考慮すべきポイントは、アクセス制御と同じです。データベースの管理者権限は、データベースに対するすべての構成変更が行えるという点です。
管理者権限なのですから、システムに対する全権を持つことは当たり前のように感じます。しかし、データベースの管理者権限を奪取するような攻撃は、頻ぱんに発生しています。万が一、管理者権限を簡単に奪取できるような脆弱性が発見された場合、データベース全体に被害が及ぶことを覚悟しなければなりません。
データベース管理者のアカウントを複数人で共有しているケースがあります。外部の運用委託者に共有させている場合もあるでしょう。しかし、こうした共有アカウントを用いたケースにおいても、特定の管理作業を行うからといって、データベース全体への構成変更が可能な権限を許可する必要はないのです。
例えば、バックアップを行う役割を持ったアカウントには、バックアップを実行できる権限だけを付与していれば問題ありません。管理者によって、担当する役割が異なるのですから、あらかじめ必要な権限に限って付与することによって、万が一起こるかも知れない被害を軽減することができます。
このためには、「管理者権限を分割する」という思考が必要になります。