DCL(GRANT/REVOKE)とは?最小権限の原則

公開: 更新: カテゴリ: テクノロジ系

30秒で結論

DCLとは(全体像)

DCLとは、データベースの「権限」を制御するためのSQLのことだ(Data Control Languageの略)。

データを出し入れするDML、構造を作るDDLに対し、DCLは「だれが、どの操作をしてよいか」を決める役割をもつ。命令は2つ。

ここで一番のポイント。GRANTとREVOKEは、逆の役割だ。「GRANTもREVOKEも、同じく権限を与える命令だ」と思い込むと誤りで、GRANTは与える、REVOKEは取り消すと、向きが反対だ。


詳しく:最小権限の原則

ここが心臓部。ポイントを表で押さえよう。

DCLのポイント

項目やさしい意味
DCLだれが何をできるかの権限を制御する
GRANT権限を与える
REVOKE権限を取り消す
最小権限の原則必要最小限の権限だけを与える

権限を与えるとき、大事な考え方が最小権限の原則だ。これは、その人の仕事に必要な、最小限の権限だけを与えるという考え方。

ここで一番のポイント。権限は、必要最小限だけ与える。「念のため、全部の権限を与えておけばよい」と思い込むと誤りで、余分な権限は、情報もれなどの危険を増やす。だから、必要な分だけにしぼるのが、セキュリティの基本だ。

わかりやすく言い換えると

身近なたとえで整理しよう。

DCLは、「建物の、だれにどの部屋の鍵を渡すかを決めるしくみ」のイメージ。GRANTは鍵を渡す、REVOKEは鍵を返してもらう、にあたる。

GRANTとREVOKEの違いは、「GRANTは権限を与える、REVOKEは与えた権限を取り消す」こと。要するに、向きが逆。

最小権限の原則は、「その人の仕事に必要な鍵だけを渡し、いらない鍵は渡さない」こと。つまり、余計な権限は与えない。


試験のツボ

🔴 一番出る:GRANTとREVOKE

①GRANT=権限を与える、REVOKE=権限を取り消す

②2つは逆の役割(与える/取り消す)

🔴 次に出る:DCLの役割

①だれが、どの操作をしてよいかの権限を制御する

②セキュリティ上、欠かせない役割

🟡 押さえると安定:最小権限の原則

①必要最小限の権限だけを与える

②余分な権限は、危険を増やすので与えない


よくある間違い

「GRANTもREVOKEも、同じく権限を与える命令だ」→ ✗  GRANTは権限を与える、REVOKEは権限を取り消す。役割が逆。

「念のため、全部の権限を与えておけばよい」→ ✗  必要最小限だけを与える(最小権限の原則)。余分な権限は危険を増やす。

「DCLは、要らない(権限の制御はしなくてよい)」→ ✗  DCLは、だれが何をできるかを決める、セキュリティ上欠かせない役割。


試験での出題パターン

実際の問題でたしかめてみよう。

オリジナル問題1(DCLの正体)

📝 オリジナル問題 1 DCLの正体

DCLに関する次の記述のうち、最も適切なものはどれか。

  1. 社員の出退勤を記録して、毎月の給与を計算するためのしくみだ
  2. だれが何をできるか、という権限を制御するためのSQLである
  3. 取引先へ毎月の請求書を郵送する、決まった事務作業のことを指す
  4. 完成したシステムを宣伝して、より多く売るための広告活動である
エーアイコアラ
エーアイコアラ 解答・解説

解答は 2 です。

DCLは、だれが何をできるか、という権限を制御するSQLなのです。建物の鍵を、だれに渡すかを決めるイメージなります。

選択肢1は給与計算、選択肢3は請求書の事務、選択肢4は広告で、どれも違うのです。

選択肢判定理由
1給与計算のしくみではない
2権限を制御するSQLで正しい
3請求書の事務の話
4広告活動ではない

オリジナル問題2(GRANTとREVOKE)

📝 オリジナル問題 2 GRANTとREVOKEの役割

GRANTとREVOKEに関する次の記述のうち、最も適切なものはどれか。

  1. GRANTは権限を与え、REVOKEは権限を取り消すものである
  2. 社員の給与を計算するときだけ、使われるとされているものだ
  3. 取引先への請求書の枚数しだいで、使われるとされているのだ
  4. GRANTもREVOKEも、まったく同じものだとされているのである
エーアイコアラ
エーアイコアラ 解答・解説

解答は 1 です。

GRANTは権限を与える、REVOKEは権限を取り消すのです。向きが逆の役割なります。

選択肢2の給与、選択肢3の請求書、選択肢4の「まったく同じ」は、いずれも違うのです。

選択肢判定理由
1与える・取り消すで正しい
2給与計算のときだけではない
3請求書の枚数で決まるのではない
4役割が逆で、同じではない

オリジナル問題3(最小権限の原則)

📝 オリジナル問題 3 最小権限の原則

最小権限の原則に関する次の記述のうち、最も適切なものはどれか。

  1. 社員の給与を計算するときだけ、適用されるとされているものだ
  2. 取引先への請求書の枚数しだいで、決まるとされているものである
  3. 仕事に必要な、最小限の権限だけを与えるという考え方のことだ
  4. 念のため、すべての権限を与えておくのがよいとされているのだ
エーアイコアラ
エーアイコアラ 解答・解説

解答は 3 です。

最小権限の原則は、仕事に必要な、最小限の権限だけを与えるという考え方なのです。余分な権限は危険を増やすので与えないなります。

選択肢1の給与、選択肢2の請求書、選択肢4の「すべて与える」は、いずれも違うのです。

選択肢判定理由
1給与計算のときだけではない
2請求書の枚数で決まるのではない
3必要最小限だけ与えるで正しい
4余分な権限は与えない

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る