基本情報 平成30年度 秋期 問27:テクノロジ系に関する問題
DBMS が提供する機能のうち, データ機密保護を実現する手段はどれか。
- a一連の処理を論理的単位としてまとめたトランザクションを管理する。
- bデータに対するユーザのアクセス権限を管理する。正答
- cデータを更新するときに参照制約をチェックする。
- dデータを更新する前に専有ロックをかける。
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは b「アクセス権限を管理する」 です。
会社の書庫を想像してください。「経理部の人だけ給与ファイルを見られる、他の人は鍵がかかってて開けられない」——こうやって誰が何を見られるかを管理するのがデータ機密保護です。
👉 覚え方:機密保護=のぞき見禁止=アクセス権限(誰が見られるか)。
ほかの選択肢:a トランザクション管理=処理を“まとめて”やる仕組み/c 参照制約=データの整合性を守る/d 専有ロック=同時編集の事故を防ぐ仕組み。どれも大事だけど“機密”の話ではない。
なぜこれが正解か
正解は b。データの機密保護(Confidentiality)は「正当な権限を持つ者だけがデータにアクセスできる状態」を指す。DBMSではGRANT/REVOKE文によるテーブル・カラム単位のアクセス権限管理、ロール、ビュー経由の閲覧制限などで実現する。
各選択肢の解説
- a トランザクション管理:ACID特性のうちAtomicity(原子性)等を保証する仕組み。整合性・信頼性の話。
- c 参照制約:外部キーで参照整合性(Integrity)を保つ仕組み。機密ではない。
- d 専有ロック:並行制御の仕組み。Isolation(独立性)に関わるが機密保護ではない。
覚え方・ひっかけ注意
情報セキュリティの3要素「機密性/完全性/可用性(CIA)」で整理。機密性=アクセス制御、完全性=参照制約・チェック制約・ハッシュ、可用性=バックアップ・冗長化、と紐づけると引っかからない。
理論的背景
DBMSのセキュリティ機能はDAC(任意アクセス制御)とMAC(強制アクセス制御)、RBAC(ロールベースアクセス制御)に大別される。SQL標準ではGRANT/REVOKEによるDAC、ロールによるRBACが規定されている(SQL:1999以降)。さらにOracle Label Security、PostgreSQL Row Security Policy(RLS)、MS SQL ServerのRow-Level Securityでは行単位のアクセス制御が可能。
実務での使われ方
- 多テナントSaaS:RLSで `tenant_id = current_setting('app.tenant_id')` のポリシを定義し、アプリ層のバグで他テナントデータが漏れないよう多層防御を組む。
- 個人情報保護:医療・金融では列レベル暗号化(TDE: Transparent Data Encryption)、動的データマスキングを併用。
- 監査ログ:Audit機能(Oracle Unified Audit、PostgreSQL pgAudit)でアクセス履歴を残し、内部不正検知に活用。
- 最小権限の原則:アプリ用ユーザにはSELECT/INSERT/UPDATE/DELETEを必要なテーブルにだけ付与し、DDLや`pg_read_all_data`は別ロールで分離。
試験での位置づけ
基本情報のデータベース分野・セキュリティ分野の交差領域として頻出。応用情報・データベーススペシャリストではビューによる列フィルタ、ストアドプロシージャ経由のアクセス、SQLインジェクション対策(プリペアドステートメント)まで踏み込む。
選択肢の発展補足
専有ロック(排他ロック・X-Lock)はトランザクション分離レベル(READ COMMITTED, REPEATABLE READ, SERIALIZABLE)と密接。参照制約はON DELETE CASCADE等の連鎖動作で意図せぬデータ削除を起こすため、外部キー設計は機密性とは別軸で重要。これらは整合性/信頼性の文脈で別途出題される。
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成30年度 秋期 問27/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。