クレームベースのアイデンティティは、アプリケーションが組織内、他の組織内、およびインターネット上のユーザーに関する必要なアイデンティティ情報を取得するための一般的な方法です。[ 1 ]また、オンプレミスまたはクラウドで実行されるアプリケーションに対して一貫したアプローチを提供します。クレームベースのアイデンティティは、アイデンティティとアクセス制御の個々の要素を、クレームの概念と発行者または認証局の概念の 2 つの部分に抽象化します。[ 2 ]
クレームとは、個人や組織などの主体が、自身または他の主体について行う声明のことです。たとえば、その声明は、名前、グループ、購買嗜好、民族性、特権、所属、能力などに関するものである可能性があります。クレームを行う主体はプロバイダーです。クレームは1つ以上のトークンにパッケージ化され、発行者(プロバイダー)によって発行されます。これは一般的にセキュリティトークンサービス(STS)として知られています。[ 2 ]
「クレームベースID」という名称は、最初は紛らわしいかもしれません。クレームという概念をIDという概念に結びつけることは、認証(IDの判定)と認可(識別された主体が実行できることとできないこと)を混同しているように見えるからです。しかし、詳しく調べてみると、そうではないことがわかります。クレームは、主体ができることとできないことではありません。クレームは、主体が何であるか、何でないかです。受信したクレームを、アプリケーションの実行可能/不可能ルールにマッピングするのは、受信したアプリケーションの役割です。従来のシステムでは、ユーザーが何であるか/何でないかと、ユーザーが実行できること/できないことの違いや類似点について、しばしば混乱が生じます。クレームベースIDは、この区別を明確にします。
ユーザーが何者であるか/何者でないか、そしてユーザーが何をできるか/できないかの区別が明確になれば、ユーザーが何者であるか/何者でないか(主張)の認証を第三者が処理することが可能になります。この第三者はセキュリティトークンサービスと呼ばれます。セキュリティトークンサービスの概念をよりよく理解するために、ドアマンがいるナイトクラブの例を考えてみましょう。ドアマンは未成年者の入店を阻止したいと考えています。そのため、ドアマンは入店者に、州または地方の車両免許課、保健局、保険会社などの信頼できる第三者(セキュリティトークンサービス)が発行した運転免許証、健康保険証、またはその他の身分証明書(トークン)の提示を求めます。こうしてナイトクラブは、入店者の年齢を確認する責任から解放されます。発行機関を信頼するだけでよく(もちろん、提示されたトークンの真正性については独自の判断を下します)、ナイトクラブは、入店者が法定飲酒年齢に達しているという主張に関して、認証に成功します。
類推を続けると、ナイトクラブには会員制度があり、会員は一般会員またはVIP会員である場合があります。ドアマンは別のトークン、つまり会員カードを要求するかもしれません。このカードは、会員がVIPであることを示す別の主張をする可能性があります。この場合、トークンの信頼できる発行機関はおそらくクラブ自体でしょう。会員カードが客がVIPであると主張している場合、クラブはそれに応じて対応し、認証されたVIP会員の主張を、客が専用ラウンジエリアに座ることや無料の飲み物の提供を受けることなどの許可に変換できます。なお、「認証」という用語のすべての使用法にクレームの取得が含まれるわけではありません。[ 3 ]唯一の違いは、認証は、認証を完了するために属性データ(クレーム)を必要としないため、ターゲットサイトに含まれるユーザーに関する情報へのユーザーのバインドに限定されるということです。プライバシーへの懸念がますます重要になるにつれて、個人属性にアクセスすることなくユーザーを認証できるデジタルエンティティの能力がますます重要になります。
クレームベースのIDは、個々のソフトウェアアプリケーションの認証ロジックを簡素化する可能性を秘めています。なぜなら、アプリケーションはアカウント作成、パスワード作成、リセットなどのメカニズムを提供する必要がないからです。さらに、クレームベースのIDでは、アプリケーションはユーザーに質問することなく、ユーザーに関する特定の情報を把握できます。これらの情報、つまりクレームは、セキュアトークンと呼ばれる「封筒」に格納されて送信されます。
クレームベースのID認証は、ユーザーが複数のアプリケーションに何度もログインする必要がないため、認証プロセスを大幅に簡素化できます。一度ログインするだけでトークンが生成され、そのトークンを使用して複数のアプリケーションやWebサイトで認証を行うことができます。さらに、特定の事実(クレーム)がトークンに同梱されているため、ユーザーは各アプリケーションに対して、例えば同様の質問に答えたり、同様のフォームに入力したりして、これらの事実を繰り返し伝える必要がありません。