基本情報技術者 2018年 春期 午前(科目A) 問27
問題文
DBMSが提供する機能のうち、データ機密保護を実現する手段はどれか。
選択肢
ア:一連の処理を論理的単位としてまとめたトランザクションを管理する。
イ:データに対するユーザのアクセス権限を管理する。(正解)
ウ:データを更新するときに参照制約をチェックする。
エ:データを更新する前に専有ロックをかける。
🔒 解説は解答すると表示されます
DBMSのアクセス権管理【午前解説】
正解の理由
正解は イ です。データ機密保護(情報の機密性)を実現するには、誰がどのデータにアクセスできるかを制御する必要があります。DBMSのアクセス権限管理(認証・認可、GRANT/REVOKE、ロール管理、ビューやカラム単位の権限制御など)は、不要な閲覧や不正アクセスを防ぎ、機密性を直接的に担保します。したがって「データに対するユーザのアクセス権限を管理する。」が該当します。
解法ステップ
- 問題文のキーワードを把握:「データ機密保護」=機密性(Confidentiality)を問う。
- 各選択肢をCIAトライアド(機密性・完全性・可用性)に当てはめる。
- 「誰がアクセスできるか」を制御する選択肢を探す。
- 選択肢の機能目的を確認し、機密性に直接寄与するものを選ぶ。
(例の簡易マッピング)
- 機密性:アクセス権限管理(イ)、暗号化、マスキング、監査
- 完全性:参照制約(ウ)、トランザクションのACID(ア)
- 可用性/整合性:排他ロック(エ)は同時実行制御(Isolation)に寄与
選択肢別の誤答解説
- ア: 一連の処理を論理的単位としてまとめたトランザクションを管理する。
→ トランザクション管理はACIDに基づき処理の原子性や整合性を保証します。機密性(誰が見られるか)を制御する機能ではありません。 - イ: データに対するユーザのアクセス権限を管理する。
→ 正解。認証・認可・ロール・GRANT/REVOKE・ビューなどの機能で閲覧や操作権限を制限し、機密性を実現します。 - ウ: データを更新するときに参照制約をチェックする。
→ 参照制約はデータの整合性(完全性)を保つためのチェックであり、機密性とは目的が異なります。 - エ: データを更新する前に専有ロックをかける。
→ 排他ロックは同時実行制御と整合性維持のための機能で、他ユーザの閲覧自体を制限する機密性機能ではありません。
よくある誤解
- 「排他ロック(エ)」が機密性を守ると考える誤解:排他ロックは同時更新の競合を防ぎ可用性や整合性に関わる機能で、機密性(情報の閲覧制御)とは目的が異なります。
- 「トランザクション(ア)」は安全性に関係するが機密性とは別:トランザクションは原子性・一貫性・独立性・永続性(ACID)で整合性や処理の信頼性を保証しますが、アクセス制御は行いません。
- 「参照制約(ウ)」を機密性と混同する誤解:参照制約(外部キーなど)はデータの整合性(関係性の正当性)を担保する仕組みであり、閲覧権限管理ではありません。
補足コラム
DBMSで機密性を高める実装には、アクセス制御だけでなく複合的な対策が重要です。代表的な手法は以下の通りです。
- アクセス制御:GRANT/REVOKE、ロールベース(RBAC)、最小権限の付与、列・行レベルの権限制御。
- 暗号化:保存データの暗号化(TDE)、列単位やアプリ側での暗号化により物理的漏洩に備える。
- マスキング/データ匿名化:開発・テスト環境での本番データ流出を防ぐ。
- 監査ログ/不正検知:誰がいつどのデータにアクセスしたかを記録し、不正アクセスを検出する。
- 認証の強化:多要素認証や外部認証連携(LDAP、Kerberos)でIDのなりすましを防止。
(SQL例:ユーザにSELECT権限を与える)
GRANT SELECT ON schema.table TO username;
REVOKE SELECT ON schema.table FROM username;
FAQ
Q1: 排他ロックは機密性を高めますか?
A1: いいえ。排他ロックは同時実行制御のためのもので、データの閲覧制御(機密性)は行いません。ただし一時的に他トランザクションの変更を防ぐことで副次的に情報の不整合を防ぐ場合はあります。
A1: いいえ。排他ロックは同時実行制御のためのもので、データの閲覧制御(機密性)は行いません。ただし一時的に他トランザクションの変更を防ぐことで副次的に情報の不整合を防ぐ場合はあります。
Q2: アクセス権管理だけで機密性は十分ですか?
A2: 単独では不十分です。権限設定ミスや管理者権限の濫用、物理的なアクセスやバックアップの漏洩などを考慮し、暗号化や監査、運用ルールと組み合わせる必要があります。
A2: 単独では不十分です。権限設定ミスや管理者権限の濫用、物理的なアクセスやバックアップの漏洩などを考慮し、暗号化や監査、運用ルールと組み合わせる必要があります。
Q3: VIEW(ビュー)は機密性に役立ちますか?
A3: はい。ビューは特定列や行を隠蔽して提供することで、不要なデータの露出を防ぎ、最小権限でのアクセスを実現できます。
A3: はい。ビューは特定列や行を隠蔽して提供することで、不要なデータの露出を防ぎ、最小権限でのアクセスを実現できます。
Q4: トランザクションのIsolation(分離レベル)は機密性に関係しますか?
A4: 主目的は一貫性と整合性の維持ですが、非常に稀に低分離レベルで情報漏洩(例:読み取り一貫性の問題による推測)が起きることがあります。基本的には機密性の主要ツールではありません。
A4: 主目的は一貫性と整合性の維持ですが、非常に稀に低分離レベルで情報漏洩(例:読み取り一貫性の問題による推測)が起きることがあります。基本的には機密性の主要ツールではありません。
関連キーワード: DBMS、機密性、アクセス制御、認可、認証、GRANT、RBAC、参照制約、排他ロック、トランザクション、暗号化、監査ログ

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

