「SQL Server 2016」に搭載される新たなセキュリティ対策を追う:Database Watch(2016年4月版)(2/3 ページ)
パブリックプレビューが公開されているマイクロソフトのRDB次期版「SQL Server 2016」。特徴の1つとするセキュリティ対策機能のポイントと目指すところをキーパーソンに聞いた。
「動的データマスキング」「行レベルセキュリティ」が追加
続いて本題の、SQL Serverの新たなセキュリティ対策機能を確認しましょう。
北川氏は「SQL Serverは(米国国立標準技術研究所の脆弱性情報データベースにて)6年連続で脆弱性が最少でした。このことからも最も安全性が高いデータベースだといえます」と話しています。その最新版であるSQL Server 2016には、どんなセキュリティ機能が備わるのでしょう。
まずは「監視体制」です。業務アプリケーションにおいては、職務や職責に応じてそれぞれのユーザーに適切な権限を与え、どのユーザーがどんな操作をしたかをきちんと監視して履歴を残すことが重要です。SQL Serverでは既に操作の履歴を記録する「SQL Server Audit」機能があり、監査ログを残すことができます。
ただし、これだけでは不十分です。監査ログでは「誰が、何をしたか」が記録されますが、「誰」の部分が「本当に本人か」を正しく把握できなくてはなりません。もし、管理者権限のあるユーザーIDとパスワードを複数の管理担当者が共有していたら、「誰」が操作したのか分かりません。マイクロソフト製品では、これを「Active Directory(AD)」と連携することで対策できます。システムへは個々のユーザーIDでログインし、そのユーザーIDで操作が記録されます。個人レベルで操作履歴を追うことが基本的な機能で実現できるようになっています。
次に、「必要なデータだけ」をユーザーに渡すこともポイントです。SQL Server 2016では、「Dynamic Data Masking」(動的データマスキング)と「Row Level Security」(行レベルセキュリティ)という機能が新たに搭載されます。
Dynamic Data Maskingは、テーブルと列レベルで定義されたポリシーに基づいてクエリ結果にリアルタイムでマスキングします。例えば、顧客情報の「住所の列はマスクする(読めなくする)」と設定しておけば、検索結果が出たら住所の列には自動的に「***」などでマスクが掛かります。
Row Level Securityは、ユーザー情報を基に行単位でアクセスを制御する機能です。例えば、「渋谷店の店員は、渋谷店の顧客情報のみ閲覧できる」と顧客情報を設定すれば、クエリ結果には該当する行データしか表示されません。これらは検索結果で実行されるので、メモリ上とネットワーク上のそれぞれでデータを保護できます。
こうしたアクセス制御は、これまでアプリケーション側で制御することが多かったと思います。しかし、根本のデータベース側でこれを実現できれば、アプリケーションの開発や保守の労力を抑えられることにつながります。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「Database Watch」バックナンバー
- クエリストアって何だ? SQL Server 2016のパフォーマンス向上に注目
2015年6月に開催されたイベント「DB tech showcase」の講演の中から、2016年にも正式版がリリースされる次期SQL Serverの目玉機能をウオッチ。 - マイクロソフトが「Microsoft R Server」を公開
マイクロソフトが「Microsoft R Server」の提供を開始。LinuxやTeradata、Hadoopディストリビューション版も。 - 「隠れSQL Server」、まさかこんな場所に……
SQL Server 2005のサポートが2016年4月12日に終了する。残り約130日。日本マイクロソフトによると、エンジニアや情シス部門などの“詳しい人”も見落としてしまうSQL Server 2005の「ひっそり残っている、対策の落とし穴」があるようだ。