現在、認証と承認の仕組みに興味を持っており、色々と調べているところなのですが、イマイチ具体的に理解できないので質問させていただきます。
そもそも、認証はIDとパスワード等の組み合わせが正しいか、そうでないのか、で、本人であるかどうかを確認するプロセスのことだと理解しています。
承認は、認証されたユーザに対して、どの様な権限が与えられているのか、また、その与えられた権限を承認するのが、承認のプロセスだと理解しています。
それぞれ、認証と承認は別々のサービスとして存在する(例えば、認証はKerberos認証やNTLM認証、承認はLDAPやActiveDirectory)と認識しています。
ここで疑問なのですが、認証されたユーザと、そのユーザが持っている権限はどのように・どうやって関連づけられているのでしょうか?
例えば、
認証サーバAを設置し、LDAPやActiveDirectoryなどのディレクトリサービスを提供するサーバBを設置し、何らかのサービスを提供しているサーバCを設置している様な環境で、Cにログインするための認証を認証サーバAに問い合わせ、そのサービスに対する権限情報をサーバBから取得し、やっと、サーバCのサービスが利用できる、といった様な流れになるのでしょうか?
また、認証サーバAはどうやって、問い合わせのあったサービスを利用する権限をそのユーザが持っていて、またどの程度の権限がある、と言う様な判断はどうやって行われているのでしょうか。
よろしくお願い申し上げます。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
No.2です。
==<No.2お礼より引用>==
いずれの場合においても、認証と承認(アクセス権情報の格納)は1つのマシン内で管理する必要がありそうですね。
質問の主旨から行くと、認証と承認を別のマシンで管理する事は可能か、と言うことだったので、皆様のご回答から行くと、難しいのかもしれませんね。
==<引用終了>==
そういう仕組みはあります。
例えばSAMLがそうです。
http://www.atmarkit.co.jp/fsecurity/rensai/webse …
の真ん中辺り,図1にSAMLのフレームワークが書かれていますが,SAMLにはAuthentication Authority, Attribute Authority, Policy Decision Pointの3つのオーソリティがあり,Authentication Authorityが認証を,Policy Decision Pointが承認を担っています。
SAMLの仕様は
http://www.oasis-open.org/committees/tc_home.php …
にあるので,興味があれば調べてみてください。
参考URL:http://www.atmarkit.co.jp/fsecurity/rensai/webse …
No.2
- 回答日時:
認証=authentication(以下authn),
承認=authorization(以下authz),
と解釈して話を進めます。
Authzのアクセス権を管理する方法は,大きく
・アクセス対象(ファイルなど)のメタ情報として管理する
・アクセス者(ユーザー)のメタ情報として管理する
の2方式に分けられると言われています。
質問の主旨は,おそらく,後者の場合,そのアクセス権情報がどこに格納されていて,どういうタイミングで利用されるのか,ということだと思います。
実際のところ,これについては,実現方式によりさまざまです。
一番単純なやり方としては,例えば,認証機能をもつディレクトリーサーバー(LDAPやActiveDirectory,質問のA+B)に,ユーザー毎にどのサービスへのアクセス権があるかを格納しておき,authzの時にサービス提供サーバー(C)から,ディレクトリーサーバーに問い合わせる,という方法が考えられます。または,authnが終わったら,そのユーザーが所有するアクセス権をオブジェクト化し,有効期限(例えば認証セッション終了時)が終わるまで持ち回るという方法も考えられます。この場合,サービス利用毎にいちいちディレクトリーサーバーに問い合わせる手間が省けますが,アクセス権オブジェクトが複製されたり有効期限を越えて利用されたりする危険があるのでセキュリティ的には弱くなります。
またこのバリエーションとして,Kerberosのように,KDC内に Authentication Server (AS, 認証サーバー)と Ticket-Granting Server (TGS,チケット交付サーバー)を持ち,ASが認証(Aの役割)を,TGSがアクセス権オブジェクトの生成(Bの役割)を行うようなシステムもあります。Kerberosの場合,ユーザーはまず利用したいサービス(C)を決め,当該サービスの利用券(アクセス権オブジェクト)をKDCに要求します。KDCはユーザーをASで認証した後TGSに転送し,TGSは当該ユーザーの当該サービスへの利用券をユーザーに交付します。ユーザーはそれを持ってサービスCに行き,サービスを受ける,という流れになります。
(参考URLはKerberosの解説)
このように,ユーザーのメタ情報としてのアクセス権をどこに格納し,どのタイミングで取り出すかについては,いろいろな方法があり,一概にこれ,と答えることはできません。
参考URL:http://www.ne.jp/asahi/yokohama/juk/krb/krb-open …
大変わかりにくい質問の仕方をしてしまって、すいませんでした。
概ね理解できました。ご回答ありがとうございました。
いずれの場合においても、認証と承認(アクセス権情報の格納)は1つのマシン内で管理する必要がありそうですね。
質問の主旨から行くと、認証と承認を別のマシンで管理する事は可能か、と言うことだったので、皆様のご回答から行くと、難しいのかもしれませんね。
ありがとうございました。
No.1
- 回答日時:
詳細と正確なところは後続の回答者におまかせして、以下概略です。
認証は記述の通り、ユーザ認証のことであり、
承認は記述の通り、アクセス権の確認のことで合っていると考えます。
また、認証では加えて、
ユーザと所属する組織/グループ等情報を関連付けます。
認証とアクセス権確認は別機能ではありますが、
別個のサービス(service)として起動していたかは不確かです。
なお、Kerberos認証やNTLM認証,LDAP,ActiveDirectory(AD)は全て認証側のものです。
LDAPやADは認証サーバ/ディレクトリサーバ,
Kerberos認証やNTLM認証は認証機構、Kerberos認証はADで、NTLM認証はNTで使われていたりします。
ファイルやフォルダのアクセス権などの情報は、
フォルダに記録されています。
#UNIXはそう。Windowsも同じと思いますが未確認。
よって、
ログイン時に、ディレクトリサーバ等でユーザとパスワードのマッチングを確認、
かつユーザと所属組織/グループ等の情報が関連付けられ、
ファイル等アクセス時に、ファイル等の所持するアクセス権情報を確認して、アクセスが承認されます。
基本はこれで間違っていないはずなのですが、
すいません、裏づけのための確認をしていません。
この回答への補足
ご回答ありがとうございます。
補足で疑問点があるのですが、ACL等を利用した様な一元管理を行うような場合は、どういった流れで認証・承認がおこなわれるのでしょうか?
フォルダにアクセス権が記録されている場合は、なんとなくイメージしやすいのですが、各種リソースに対するアクセス権等はどうやって、どこの誰が管理しているのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 政治 河野デジタル相は、フジテレビ「日曜報道 THE PRIME」に出演し、迷惑動画のSNSでの投稿が問題 5 2023/02/13 19:11
- ノートパソコン HPの保証について 1 2023/08/26 10:17
- メルカリ メルカリの支払いについて。 1 2022/10/04 15:13
- 戸籍・住民票・身分証明書 中学生以上から身分証の提示を求められる理由 3 2022/05/03 22:47
- その他(メールソフト・メールサービス) Thunderbirdのメール送信ができません 1 2022/10/28 16:54
- 医療・安全 塩野義製薬の新型コロナ治療薬「ゾコーバ」の緊急承認見送り 7 2022/07/22 00:45
- 迷惑メール・スパム これも、フィッシング詐欺? 3 2023/05/14 11:06
- その他(メールソフト・メールサービス) 登録するメアドに最適なものは?? 9 2023/03/05 12:44
- OCNモバイルONE 格安SIMの契約について質問失礼しますm(_ _)m 2 2022/05/28 15:46
- Amazon 迷惑メール? 6 2023/04/29 15:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【SBI証券】パソコン使うたびデ...
-
中学生でもまねきねこの会員に...
-
二段階認証って
-
認証用携帯
-
海外SMS認証コードが届かない
-
いきなりステーキ(アプリは関...
-
Yahoo!メールがクソすぎるので...
-
OPPO Reno7aはNFC typeBに対応...
-
「はい」を押すだけの年齢確認...
-
年齢認証
-
認証コードの入力法
-
Google Authenticatorのコイン...
-
無線LANでWindowsログオン前に...
-
グーグルのアカウントの認証が...
-
BASIC認証を毎回起動させる方法...
-
smsがとどかないときあります。...
-
旧iPhoneにApple ID認証コード...
-
アダルトサイトに18歳以上 認証...
-
アクティブPFC搭載の ATX電源と...
-
ビットバンクの二段階認証コー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【SBI証券】パソコン使うたびデ...
-
中学生でもまねきねこの会員に...
-
Yahoo!メールがクソすぎるので...
-
いきなりステーキ(アプリは関...
-
SNS認証コードが届かない。
-
認証用携帯
-
「はい」を押すだけの年齢確認...
-
電話番号認証のみの格安シム
-
smsがとどかないときあります。...
-
ここ最近、SMS認証が増えたのは...
-
カーボンヒーターのリモコン
-
SBI証券の取引ページが見れない...
-
二段階認証って
-
OPPO Reno7aはNFC typeBに対応...
-
AOLメールについて ログインす...
-
同じサーバの独自ドメイン違い...
-
無線LANでWindowsログオン前に...
-
BASIC認証を毎回起動させる方法...
-
インスタ認証アプリの確認方法...
-
エクセルの一部のボタンがグレ...
おすすめ情報