ページの先頭行へ戻る
Enterprise Postgres 16 解説書

1.10 機密管理支援機能によるアクセス制御の管理

機密管理支援機能は、データの機密レベルに合わせたアクセス制御の実現をサポートします。また、アクセス制御にしたがって運用されていることを確認する作業もサポートします。

本機能は、Advanced Editionのみで使用できます。

クセス制御

データ保護規則を定めた法律やルールに従うためには、機密データへのアクセスは制限されなければなりません。しかし、多様なデータと多様なタスクを実行するユーザーを持つデータベースでは、この制限を設計することは容易ではありません。なぜならば、すべてのデータベースオブジェクトとデータにアクセス可能なすべてのロールとの組み合わせについて、アクセスを許可するかどうかを決定し、データベースに定義しなければならないからです。

私たちの現実の世界では、そのようなことはしません。例えば、ある業務において、同じ機密レベルのデータをグルーピングし、そのデータにアクセスできるいくつかのロールをグルーピングします。そして、その後に、データのグループとロールのグループの組み合わせについて、アクセスを許可するべきかを検討する方が自然です。なぜならば、データが追加されたならば、そのデータがどのグループに属するかを決定すれば、自然に誰がアクセスできるのかが決まるからです。ロールを追加したときも、どのロールのグループ(機密グループと呼びます)に追加すれば良いかを考えるだけで十分です。機密管理支援機能は、このような自然な設計を支援します。

また、高い機密レベルに属するデータは、データベースにログインできるユーザーからのアクセスだけでなく、物理的な媒体やファイルへの不正なアクセスに備える必要があるかもしれません。機密管理支援機能では、高い機密レベルに属するテーブルに対して、暗号化されていることを強制することができます。同じように、機密グループに属するロールに対して、機密グループに設定された属性以下の属性を持つことを強制することができます。このような、テーブルの暗号化やロールの管理も、この機能によって自然に設計することができます。

運用の確認

データ保護規則を定めた法律やルールに従うためには、設計したとおりに安全にデータベースが運用されていることを確認しなければなりません。機密管理支援機能を使用しているならば、そのような心配はありません。しかし、この機能を使わずにテーブルやロールの定義が変更されたならば、それをタイムリーに検知しなければなりません。機密管理支援機能は、そのような行為を禁止したり、検知する機能を持ちません。その代わりに、監査ログを使ってそのような権限の変更などを検出するようにしてください。

しかし、検知したとしても対処を忘れるかもしれません。これを防止するために、定期的に、機密レベルや機密グループと、実際のテーブルやロールの定義が一致していることの差分を確認しなければなりません。そのときには、その差分を得るために用意された機密管理支援機能の機能を使うことができます。

参照

機密管理支援機能については、“セキュリティ運用ガイド”の“機密管理支援機能”を参照してください。