Webアプリケーションのコンテキストの違いは何ですか?「auth」という略語がよく見られます。それがために立っていAUTH -enticationまたは認証 -orization?それとも両方ですか?
authn
認証とauthz
承認のために見た略語について
Webアプリケーションのコンテキストの違いは何ですか?「auth」という略語がよく見られます。それがために立っていAUTH -enticationまたは認証 -orization?それとも両方ですか?
authn
認証とauthz
承認のために見た略語について
回答:
認証とは、誰かが本当に本人であることを確認するプロセスです。
承認とは、誰が何をすることが許可されているかを決定するルールを指します。たとえば、Adamはデータベースの作成と削除を許可されている一方、Usamaは読み取りのみを許可されています。
2つの概念は完全に直交で独立していますが、どちらもセキュリティ設計の中心であり、どちらかを正しく取得できないと、妥協の道が開かれます。
大まかに言えば、Webアプリに関して、認証とは、ログイン資格情報をチェックして、ユーザーがログインしていることを認識しているかどうかを確認することであり、承認とは、アクセス制御でユーザーに表示、編集、削除を許可するかどうかを調べることですまたはコンテンツを作成します。
要するに、お願いします。:-)
認証 =ログイン+パスワード(あなたは誰ですか)
承認 =権限(許可されていること)
短い「auth」は、最初の1つまたは両方を指す可能性が最も高いです。
承認対認証は、それを置きます:
認証は、システムがユーザーを安全に識別できるメカニズムです。認証システムは、質問に対する回答を提供します。
- ユーザーは誰ですか?
- ユーザーは本当に彼/彼女が彼自身を代表している人ですか?
対照的に、承認は、システムが制御するリソースを保護するために、特定の認証済みユーザーが持つ必要があるアクセスのレベルをシステムが決定するメカニズムです。たとえば、データベース管理システムは、特定の特定の個人にデータベースから情報を取得する機能を提供するが、データベースに格納されているデータを変更する機能は提供せず、他の個人にはデータを変更する機能を提供するように設計されている場合があります。承認システムは、質問に対する回答を提供します。
- ユーザーXはリソースRへのアクセスを許可されていますか?
- ユーザーXには操作Pを実行する権限がありますか?
- ユーザーXは、リソースRで操作Pを実行することを許可されていますか?
私は認証と承認よりも検証と許可を好みます。
私の頭とコードでは、「検証」と「許可」について考える方が簡単です。
認証は検証であり、承認は許可をチェックしています。Authはどちらかを意味しますが、「ユーザー認証」、つまり「ユーザー認証」としてより頻繁に使用されます
認証は、宣言されたIDを確認するプロセスです。
通常続い承認あなたはこれとそれを行うことができますことを承認され、。
@Kerrekの答えに追加。
認証は一般化された形式です(すべての従業員がマシンにログインできます)
承認は特殊な形式です(ただし、管理者はマシンでのアプリケーションのインストール/アンインストールしかできません)
認証は、ログインのユーザー名とパスワードを確認するプロセスです。
承認は、何かにアクセスできることを確認するプロセスです。
認証 -あなたはあなたが主張する人物ですか?
承認 -あなたがしようとしていることを何でもする権限がありますか?
ウェブアプリはGoogleログインを使用します。ユーザーがログインに成功すると、Googleから次のメッセージが返されます。
さらに:
会社には、カスタマーサポートが会社のユーザーを管理できる管理ダッシュボードがある場合があります。カスタマーサポートがこのダッシュボードにアクセスできるようにするカスタムサインアップソリューションを提供する代わりに、会社はGoogleサインインを使用します。
JWTトークン(Googleサインインプロセスから受信)が会社の承認サーバーに送信され、ユーザーが組織のホストドメイン(email@company.com)のG Suiteアカウントを持っているかどうかがわかりますか?その場合、顧客サポートのために作成された会社のGoogleグループのメンバーですか?上記すべてに当てはまる場合は、認証済みと見なすことができます。
次に、会社の承認サーバーがダッシュボードアプリにアクセストークンを送信します。このアクセストークンを使用して、会社のリソースサーバーへの承認済みリクエストを作成できます(たとえば、会社のすべてのユーザーに送り返すエンドポイントにGETリクエストを作成する機能)。