はじめに
セキュリティを語るうえで,よく出てくる2つのキーワード.
それが「認証(Authentication)」と「認可(Authorization)」.
似たような言葉で同じ意味なんじゃないかと思いますが,ちゃんと違いがあります.
今回はそんな「認証」と「認可」の違いをわかりやすく解説していきます.
■ 一言で言うと?
概念 | 内容 |
---|---|
認証 | 「あなたは誰ですか?」を確認すること |
認可 | 「あなたは何をしていい人ですか?」を決めること |
■ 認証(Authentication)とは?
「その人が本当に本人であるかどうか」を確認するプロセスです.
言葉をそのまま用いると「その人がその人たる所以を認めた証拠」ですね.
具体例:
- ユーザー名とパスワードの入力
- 指紋や顔認証などの生体認証
- ICカードやセキュリティトークン
上記はいつも使われているのでわかりやすいと思いますが,ITにおいての認証においては,上記のものは利用者を対象とした認証と分類されます.他にも3種類あります. - 端末機器を対象とした
- デバイスID
- MACアドレス
- 電話番号 ...
- パケット
- プロトコル番号
- IPアドレス
- ポート番号 ...
- プロセス
- プロセスID
■ 認可(Authorization)とは?
「認証された人が,どこまでの操作をしてよいか」を制御するプロセスです.
言葉をそのまま用いると,「何をすることが可能かを認める」,いわゆる権限ですね.
具体例:
- 管理者はすべての設定変更が可能だが、一般ユーザーは閲覧のみ
- Aさんは顧客情報にアクセスできるが、Bさんはできない
- クラウドストレージで「閲覧のみ」や「編集可」といった共有設定
この権限には,read, write, executeの3種類があり,利用者の属性やアクセス制御リスト(AccessControlList)であらかじめ設定しておく.
chmod ~
で変更する権限と同じですね.
認証→認可の流れ
[ログイン画面] → ユーザーがIDとパスワードを入力
↓(認証)
[本人と確認される]
↓(認可)
[この人には「管理者権限」を与える]
↓
[ダッシュボードへアクセス許可]
■ まとめ
項目 | 認証(Authentication) | 認可(Authorization) |
---|---|---|
意味 | 本人確認 | アクセス範囲の決定 |
いつ行う | 最初に行う | 認証後に行う |
方法 | パスワード、生体、証明書など | 権限リスト、ロール、ポリシーなど |
実務例 | ログイン処理 | ファイルのアクセス制限 |
■ 最後に:この言葉で覚える!
- 「認証は“誰か”を確かめること」
- 「認可は“何ができるか”を決めること」
この違いを押さえていれば,間違えることはありません!!