SQLで「ロール作成と付与」を行う:「データベーススペシャリスト試験」戦略的学習のススメ(19)(2/4 ページ)
あの“津崎さん”も保有する難関資格「データベーススペシャリスト」。本企画では、データベーススペシャリスト試験 午前/午後試験対策のための「基礎知識」を抜粋してお届けします。今回は、「SQLでのロール作成と付与の基礎」を解説します。
設問1の解答は以下の通りとなります。(IPA解答例より)
設問1 | (1) | アクセス権限をテーブルには付与せずに、ビューだけ付与する。 | |
(2) | 従業員ごとにビューを作成する必要がなくなるから。 |
(1) ビューを利用してセキュリティを確保するためには、一般的に次の方法を取ります。
- ユーザが直接テーブルを操作できないよう、テーブルの権限を設定(データを更新する際は、必ずビューを経由するようにする)
- ビューに対し、然るべき権限者のみアクセスできるよう、権限を設定
尚、システム間の連携においても、あるシステムが他のシステムのデータを誤って更新してしまわないように、“保険”として、上記の仕組みを利用することがあります。
(2) USER関数とは、そのSQL文を実行しているユーザIDの文字列を返す関数です。本問題で、出題者は「ビューを構成するSQL文において『WHERE 従業員コード=ユーザ関数』とすれば『アクセスしたユーザのデータしか参照できないビュー』を作ることができる。」「従業員個別のビューを作成するよりも効率的だ(ビューとはそのように使うものだ)」という答えを受験生に出させようとしています。〔人事管理データベースの概要〕(2)に、RDBMSの「ユーザIDには、従業員コードを使用している。」旨の記述がありますが、これが布石です。
これはあらゆる出題について言えることですが、現実の開発で「自分がどのように構築したか(こう構築するものだ)」という既成概念にとらわれると、解ける問題も解けなくなってしまいます。
過去問題を解くときは、まず「本文の構成上、不自然と思える一文」「違和感のある一文」に対して敏感になって下さい。そこには出題者の意図が隠されています。そして「きっと、こう答えさせたいのだろうな」と(仮に、自分の実務経験から、「それはおかしい」と思える内容であったとしても)出題者が答えて欲しいように答えましょう。
たまに予想が外れても諦めないで下さい。継続的に行えば必ず予測の精度は上がっていきます。このように、文中の表現に注意しながら過去問題を解いていけば「この表現はこれまで解いた問題ではあまり出てこなかった→今回独自の表現だ→設問の布石かもしれない→下線を引いておこう」といった高度な判断もできるようになります。
設問2
アクセス制御と監査の問題点<2>について、(1)、(2)に答えよ。
(1) アクセス権限管理を容易にするために、ロールを使用することにした。部門長用のロール(営業1課長ロール、営業2課長ロール、営業部長ロール)を作成するための、次のSQL文中の[a]〜[d]に入れる適切な字句を答えよ。ただし、従業員人事営業1課ビューは、営業1課長が自分の課の従業員人事データをアクセスするためのビューを指している。
(2) 人事異動によって営業部長がL氏(従業員コード:B110)からM氏(従業員コード:B130)に変更になった場合の(1)のロールに対する変更方法を、65字以内で具体的に述べよ。
(H19春DB午後I問3設問2)
(解答と解説は次ページへ)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 春期試験の押さえどころを総ざらい!
本連載では、テクニカルエンジニア(データベース)試験に対応できる知識を確認していきます。多岐にわたる知識が問われる試験ですので、受験する方はもちろん、日常業務ではあまり使うことのない技術知識の確認にも役立ててください。 - データベーススペシャリスト試験(Database Specialist Examination)
ITエンジニアに必要な各種資格情報を解説する「@IT自分戦略研究所 資格辞典」。今回は、IPAが実施する情報処理技術者試験の「高度試験」9区分のうちの一つ「データベーススペシャリスト試験」を紹介する。 - 真のデータベースエンジニアを目指そう!
本連載は、ITシステム開発の現場でプログラミングやSQLのコーディングを行っているエンジニア(データベース利用者)が、データ管理者(DA)やデータベース管理者(DBA)へステップアップするための第一歩として有効な基礎知識を紹介する(編集局) - 【Oracle Database】忘れていませんか? 「アラートログ調査」に必要な、たった3つのキホン
データベース管理システムの運用でトラブルが発生したらどうするか。データベースサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は基本編として「アラートログの調査で押さえるべき3つのポイント」を解説します。【Oracle Database 12c対応版】