GRANT・REVOKE(権限管理)とは?ぐらんと・りぼーく
GRANT・REVOKE(権限管理)とは、データベース側で「誰にどこまで許すか」を宣言するSQLの文で、許可を与えるのがGRANT、取り上げるのがREVOKE。対象は表・列・ビューといった単位で選べ、参照と更新のように操作の種類ごとに分けて渡せる。WITH GRANT OPTIONを添えると、受け取った側がさらに他者へ渡せるようになる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
アクセス範囲の制御をアプリケーション側で行えば足りる、という発想は長く残っていた。しかしアプリで判定すると、別経路や直接接続で表が読めてしまい抜け道を塞げない。権限をデータベース自身に持たせれば、どの経路から来ても同じ境界が効く。監査でも「誰に何を許したか」をカタログから証跡として取り出せる。
具体例
PostgreSQLやOracle Databaseではロールを作って権限をまとめ、異動時はロールの付替えだけで済ませる。分析担当には実表ではなく氏名列を伏せたビューにSELECTのみを与え、アプリ用アカウントにはDML権限だけを与えてDROPやALTERは付けない。
試験での引っ掛け
REVOKEの連鎖が狙われる。WITH GRANT OPTION経由で再付与された権限は、大元を取り消すとカスケードで一緒に消える。またビュー経由の権限はビュー所有者が実表の権限を持つことが前提で、所有者側が失えばビューも使えなくなる。
関連用語
出た過去問
出典:令和2年度 10月試験 応用情報技術者試験 午前 問26(IPA)
表に対するSQLのGRANT文の説明として、適切なものはどれか。
正解:表の利用者に対し、表への問合せ、更新、追加、削除などの操作権限を付与する。
要点:GRANTは表への操作権限を利用者に付与するDCL
GRANTは、表やビューなどのオブジェクトに対する操作権限(SELECT、UPDATE、INSERT、DELETEなど)を利用者やロールに与えるSQLのデータ制御文である。取り消すときはREVOKEを使う。接続の認証や暗号化とは別の機能である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。