データベースのアクセス権限をどう絞るか
基本情報技術者試験 平成30年度春期 午前 問43 / セキュリティ › セキュリティ実装技術
過去問にチャレンジ
利用者情報を格納しているデータベースから利用者情報を検索して表示する機能だけをもつアプリケーションがある。このアプリケーションがデータベースにアクセスするときに用いるアカウントに与えるデータベースへのアクセス権限として,情報セキュリティ管理上,適切なものはどれか。ここで,権限の名称と権限の範囲は次のとおりとする。 〔権限の名称と権限の範囲〕 参照権限: レコードの参照が可能 更新権限: レコードの登録,変更,削除が可能 管理者権限:テーブルの参照,登録,変更,削除が可能
- ア
管理者権限
- イ
更新権限
- ウ
更新権限と参照権限
- エ
参照権限
会話形式の解説
講師まず、このアプリケーションがデータベースで実際に行う操作を確かめましょう。何が必要ですか。
受験者利用者情報を検索して表示するので、レコードを読む操作が必要です。テーブルを扱うなら管理者権限も必要でしょうか。
講師問題文では、管理者権限にはテーブルの登録・変更・削除も含まれます。検索・表示だけなら、それらの操作は必要ありません。
受験者では、管理者権限は広すぎますね。更新権限だけなら範囲を絞れますか。
講師更新権限でできるのは、レコードの登録・変更・削除です。この問題の定義では参照ができず、検索・表示に必要な操作を満たしません。
受験者更新権限と参照権限を組み合わせれば、読むことはできますね。
講師はい。ただし、その組合せでは不要な登録・変更・削除も可能になります。参照権限だけなら、必要なレコードの参照ができ、更新操作は許しません。
受験者必要な操作ができるうえに、余分な操作を許さないのは参照権限だけですね。
講師そのとおりです。これが最小権限の原則に沿った選び方です。権限の名前だけで判断せず、問題文に示された操作範囲を一つずつ確認しましょう。
まとめ
検索・表示だけを行うアプリケーションに必要なのは、利用者情報のレコードを参照する操作です。参照権限だけを与えれば、その操作ができます。更新権限だけでは参照できず、管理者権限や参照権限との組合せでは不要な操作まで許します。必要な操作に権限を絞ることが、最小権限の原則に沿った判断です。
解答・解説
正解はエです
この問題のテーマ
検索・表示だけを行うアプリケーションに、どのデータベース権限を与えるべきかを問う問題です。
解き方の考え方
まず、アプリケーションが行う操作を確認します。必要なのは利用者情報のレコードを読むことだけです。最小権限の原則に従い、その操作を可能にする権限の中から、不要な操作を許さないものを選びます。
選択肢ごとの解説
- ×ア 管理者権限管理者権限では、テーブルの登録・変更・削除まで可能になります。検索・表示には必要のない操作を許すため、与える権限が広すぎます。
- ×イ 更新権限更新権限でできるのは、問題文の定義ではレコードの登録・変更・削除です。必要な参照を行えず、不要な更新操作を許すので適切ではありません。
- ×ウ 更新権限と参照権限参照権限があるので、検索・表示はできます。しかし、更新権限を加えるとレコードの登録・変更・削除も可能になり、必要な範囲を超えます。
- ○エ 参照権限参照権限があれば、利用者情報のレコードを読んで表示できます。更新操作を許さずに必要な機能を実現できるため、この権限だけを与えるのが適切です。
POINT
- 権限を選ぶ前に、アプリケーションが実際に行う操作を洗い出します。
- 権限の名称だけで判断せず、問題文に示された操作範囲を確認します。
- 必要な操作ができるだけでなく、不要な操作を許さないことも確かめます。
