(57)【要約】  仮想アイデンティティ及びコンテキストモジュールは、ユーザの仮想アイデンティティを生成し得る。異なるカテゴリのユーザの仮想アイデンティティは、異種アイデンティティサービスから供給され得る。例えば、第１のアイデンティティサービスによって提供されるユーザの第１の認証が識別され得る。仮想アイデンティティの第１の仮想属性フィールドは、第１のアイデンティティサービスと関連付けられた第１の属性フィールドに基づいて記入されるか、又は書き込まれ得る。ユーザと関連付けられた第２のアイデンティティサービスも識別され得る。仮想アイデンティティの第２の仮想属性フィールドは、第２のアイデンティティサービスと関連付けられた第２の属性フィールドに基づいて記入又は記入され得る。アプリケーションへのアクセスは、ユーザに対して生成された仮想アイデンティティの仮想属性フィールドに基づいて、ユーザに提供され得る。
2017509964.tif 000002
【特許請求の範囲】
【請求項１】
第１のアイデンティティサービスと関連付けられたユーザの第１の認証を識別することと、
複数の仮想属性フィールドを含む前記ユーザの仮想アイデンティティを生成することと、
前記第１のアイデンティティサービスにおける前記ユーザと関連付けられた第１の属性に基づいて、前記複数の仮想属性フィールドのうちの第１の仮想属性フィールドに記入することと、
前記ユーザと関連付けられた第２のアイデンティティサービスを識別することと、
前記第２のアイデンティティサービスにおける前記ユーザと関連付けられた第２の属性に基づいて、前記複数の前記仮想属性フィールドのうちの第２の仮想属性フィールドに記入することと、
処理デバイスによって、前記ユーザの前記仮想アイデンティティの前記複数の仮想属性フィールドに基づいて、前記ユーザに対してアプリケーションへのアクセスを許可することと、を含む、方法。
【請求項２】
前記仮想アイデンティティの前記複数の仮想属性フィールドの値に基づいてポリシーを定義することを更に含み、前記ユーザに対する前記アプリケーションへの前記アクセスの前記許可が、前記ポリシーに更に基づく、請求項１に記載の方法。
【請求項３】
前記ユーザに対する前記アプリケーションへの前記アクセスの前記許可は、前記ユーザの前記仮想アイデンティティの前記複数の仮想属性フィールドのうちの前記第１の仮想属性フィールド又は前記第２の仮想属性フィールドが、前記第１又は第２の仮想属性フィールドと関連付けられた前記ポリシーの条件と一致するように、前記ポリシーに更に基づく、請求項２に記載の方法。
【請求項４】
前記第１のアイデンティティサービスにおける前記ユーザと関連付けられた第１の属性に基づく前記第１の仮想属性フィールドの前記記入後に、前記複数の仮想属性フィールドのうちの少なくとも１つの仮想属性フィールドに値が割り当てられていないと判定することを更に含み、
前記ユーザと関連付けられた前記第２のアイデンティティサービスの前記識別及び前記第２のアイデンティティサービスにおける前記ユーザと関連付けられた前記第２の属性に基づく前記第２の仮想属性フィールドの前記記入が、前記複数の仮想属性フィールドのうちの前記少なくとも１つの仮想属性フィールドに値が割り当てられていないとの前記判定に応答して実施される、請求項１に記載の方法。
【請求項５】
前記第１のアイデンティティサービスにおける前記第１の属性と前記第２のアイデンティティサービスにおける前記第２の属性との間のリンクを識別することを更に含み、前記第２のアイデンティティサービスにおける前記ユーザと関連付けられた前記第２の属性が、前記リンクに基づいて識別される、請求項１に記載の方法。
【請求項６】
前記第１の認証が、前記第１のアイデンティティサービスに対して実施される一次認証であり、前記第２のアイデンティティサービスが、前記第１のアイデンティティサービスとは異なるタイプのアイデンティティサービスであり、前記リンクが、前記ユーザの連合アイデンティティである、請求項５に記載の方法。
【請求項７】
前記複数の仮想属性フィールドのうちの前記仮想属性フィールドのうちの少なくとも１つの値を前記ユーザによってアクセスされる前記アプリケーションに伝送することを更に含む、請求項１に記載の方法。
【請求項８】
メモリと、
前記メモリに連結された処理デバイスと、を備えるシステムであって、前記処理デバイスが、
第１のアイデンティティサービスと関連付けられたユーザの第１の認証を識別することと、
複数の仮想属性フィールドを含む前記ユーザの仮想アイデンティティを生成することと、
前記第１のアイデンティティサービスにおける前記ユーザと関連付けられた第１の属性に基づいて、前記複数の仮想属性フィールドのうちの第１の仮想属性フィールドに記入することと、
前記ユーザと関連付けられた第２のアイデンティティサービスを識別することと、
前記第２のアイデンティティサービスにおける前記ユーザと関連付けられた第２の属性に基づいて、前記複数の前記仮想属性フィールドのうちの第２の仮想属性フィールドに記入することと、
前記ユーザの前記仮想アイデンティティの前記複数の仮想属性フィールドに基づいて、前記ユーザに対してアプリケーションへのアクセスを許可することと、を行うためのものである、システム。
【請求項９】
前記処理デバイスが、更に、
前記仮想アイデンティティの前記複数の仮想属性フィールドの値に基づいてポリシーを定義するためのものであり、前記ユーザに対する前記アプリケーションへの前記アクセスの前記許可が、前記ポリシーに更に基づく、請求項８に記載のシステム。
【請求項１０】
前記ユーザに対する前記アプリケーションへの前記アクセスの前記許可は、前記ユーザの前記仮想アイデンティティの前記複数の仮想属性フィールドのうちの前記第１の仮想属性フィールド又は前記第２の仮想属性フィールドが、前記第１又は第２の仮想属性フィールドと関連付けられた前記ポリシーの条件と一致するように、前記ポリシーに更に基づく、請求項９に記載のシステム。
【請求項１１】
前記処理デバイスが、更に、
前記第１のアイデンティティサービスにおける前記ユーザと関連付けられた第１の属性に基づく前記第１の仮想属性フィールドの前記記入後に、前記複数の仮想属性フィールドのうちの少なくとも１つの仮想属性フィールドに値が割り当てられていないと判定するためのものであり、
前記関連付けられたユーザと関連付けられた前記第２のアイデンティティサービスの前記識別及び前記第２のアイデンティティサービスにおける前記ユーザと関連付けられた前記第２の属性に基づく前記第２の仮想属性フィールドの前記記入が、前記複数の仮想属性フィールドのうちの前記少なくとも１つの仮想属性フィールドに値が割り当てられていないとの前記判定に応答して実施される、請求項８に記載のシステム。
【請求項１２】
前記処理デバイスが、更に、
前記第１のアイデンティティサービスにおける前記第１の属性と前記第２のアイデンティティサービスにおける前記第２の属性との間のリンクを識別するためのものであり、前記第２のアイデンティティサービスにおける前記ユーザと関連付けられた前記第２の属性が、前記リンクに基づいて識別される、請求項８に記載のシステム。
【請求項１３】
前記第１の認証が、前記第１のアイデンティティサービスに対して実施される一次認証であり、前記第２のアイデンティティサービスが、前記第１のアイデンティティサービスとは異なるタイプのアイデンティティサービスであり、前記リンクが、前記ユーザの連合アイデンティティである、請求項１２に記載のシステム。
【請求項１４】
前記処理デバイスが、更に、
前記複数の仮想属性フィールドのうちの前記仮想属性フィールドのうちの少なくとも１つの値を前記ユーザによってアクセスされる前記アプリケーションに伝送するためのものである、請求項８に記載のシステム。
【請求項１５】
処理デバイスによって実行されると前記処理デバイスに動作を行わせる命令を含む非一時的コンピュータ可読記憶媒体であって、前記動作が、
第１のアイデンティティサービスと関連付けられたユーザの第１の認証を識別することと、
複数の仮想属性フィールドを含む前記ユーザの仮想アイデンティティを生成することと、
前記第１のアイデンティティサービスにおける前記ユーザと関連付けられた第１の属性に基づいて、前記複数の仮想属性フィールドのうちの第１の仮想属性フィールドに記入することと、
前記ユーザと関連付けられた第２のアイデンティティサービスを識別することと、
前記第２のアイデンティティサービスにおける前記ユーザと関連付けられた第２の属性に基づいて、前記複数の前記仮想属性フィールドのうちの第２の仮想属性フィールドに記入することと、
前記ユーザの前記仮想アイデンティティの前記複数の仮想属性フィールドに基づいて、前記ユーザに対してアプリケーションへのアクセスを許可することと、を含む、非一時的コンピュータ可読記憶媒体。
【請求項１６】
前記動作が、
前記仮想アイデンティティの前記複数の仮想属性フィールドの値に基づいてポリシーを定義することを更に含み、前記ユーザに対する前記アプリケーションへの前記アクセスの前記許可が、前記ポリシーに更に基づく、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【請求項１７】
前記ユーザに対する前記アプリケーションへの前記アクセスの前記許可は、前記ユーザの前記仮想アイデンティティの前記複数の仮想属性フィールドのうちの前記第１の仮想属性フィールド又は前記第２の仮想属性フィールドが、前記第１又は第２の仮想属性フィールドと関連付けられた前記ポリシーの条件と一致するように、前記ポリシーに更に基づく、請求項１６に記載の非一時的コンピュータ可読記憶媒体。
【請求項１８】
前記動作が、
前記第１のアイデンティティサービスにおける前記ユーザと関連付けられた第１の属性に基づく前記第１の仮想属性フィールドの前記記入後に、前記複数の仮想属性フィールドのうちの少なくとも１つの仮想属性フィールドに値が割り当てられていないと判定することを更に含み、
前記ユーザと関連付けられた前記第２のアイデンティティサービスの前記識別及び前記第２のアイデンティティサービスにおける前記ユーザと関連付けられた前記第２の属性に基づく前記第２の仮想属性フィールドの前記記入が、前記複数の仮想属性フィールドのうちの前記少なくとも１つの仮想属性フィールドに値が割り当てられていないとの前記判定に応答して実施される、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【請求項１９】
前記動作が、
前記第１のアイデンティティサービスにおける前記第１の属性と前記第２のアイデンティティサービスにおける前記第２の属性との間のリンクを識別することを更に含み、前記第２のアイデンティティサービスにおける前記ユーザと関連付けられた前記第２の属性が、前記リンクに基づいて識別される、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【請求項２０】
前記第１の認証が、前記第１のアイデンティティサービスに対して実施される一次認証であり、前記第２のアイデンティティサービスが、前記第１のアイデンティティサービスとは異なるタイプのアイデンティティサービスであり、前記リンクが、前記ユーザの連合アイデンティティである、請求項１９に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、仮想アイデンティティに関し、より具体的には、異種アイデンティティサービスに基づくユーザの仮想アイデンティティに関する。
【背景技術】
【０００２】
クラウドベースの単一のサインオン（ＳＳＯ）システムは、複数の独立したソフトウェア又はネットワークシステムへのアクセスを提供する。例えば、クラウドベースのＳＳＯシステムにより、ユーザは、クラウドベースのＳＳＯシステムにログインし、ソフトウェア又はネットワークシステムの各々で、次回以降、継続的にログインすることを促されることなく、複数の、しかし独立したソフトウェア又はネットワークシステムへのアクセスを得ることができる。
【０００３】
クラウドベースのＳＳＯシステムは、あるタイプの認証サービス若しくは機構を各々提供する、及び／又は認証されたユーザと関連付けられた情報源である、複数のアイデンティティサービスを管理し得る。例えば、アイデンティティサービスは、認証サービス、並びに認証サービスによって認証されたユーザの属性を提供し得る。一度ユーザが認証されると、クラウドベースのＳＳＯシステムは、ユーザがアイデンティティサービスに対して認証されていること、並びにアイデンティティサービスによって提供されたユーザと関連付けられた情報に基づいて、ソフトウェア又はネットワークアプリケーションへのアクセスを許可又は承認し得る。例えば、ユーザは、アイデンティティサービスにおいて記憶されているユーザのユーザ属性に基づいて、アプリケーションにアクセスすることを承認され得る。
【０００４】
ポリシーは、ユーザの属性に基づいて、ソフトウェア若しくはネットワークアプリケーションに割り当てられ得る、及び／又は属性は、ソフトウェア若しくはネットワークアプリケーションに伝送され得る。例えば、クラウドベースのＳＳＯシステムのアドミニストレータは、ユーザ属性がポリシーの条件と一致する場合、アプリケーションへのアクセスを許可するポリシーを定義し得る。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このため、クラウドベースのＳＳＯのアドミニストレータは、ポリシーを定義するために、アイデンティティサービスからユーザの特定の属性を識別することが必要とされ得る。しかしながら、アイデンティティサービスは、異なる形式（例えば、異なる属性名）でユーザの属性を記憶し得る。異なるアイデンティティサービスにおいて記憶されているかかる異種属性情報は、ポリシーへの属性の割り当て又はアプリケーションへのかかる属性の伝送を複雑かつ困難にし得る。
【課題を解決するための手段】
【０００６】
第１のアイデンティティサービスと関連付けられたユーザの第１の認証が識別され得る。複数の仮想属性フィールドを含むユーザの仮想アイデンティティが生成され得る。複数の仮想属性フィールドのうちの第１の仮想属性フィールドは、第１のアイデンティティサービスにおけるユーザと関連付けられた第１の属性に基づいて生成され得る。ユーザと関連付けられた第２のアイデンティティサービスが更に識別され得る。複数の仮想属性フィールドのうちの第２の仮想属性フィールドは、第２のアイデンティティサービスにおけるユーザと関連付けられた第２の属性に基づいて記入され得る。ユーザによるアプリケーションへのアクセスは、仮想アイデンティティの仮想属性フィールドに基づいて許可され得る。
【０００７】
いくつかの実施形態では、ポリシーは、仮想アイデンティティの複数の仮想属性フィールドの値に基づいて定義され得、ユーザに対するアプリケーションへのアクセスの許可は、ポリシーに更に基づき得る。
【０００８】
いくつかの実施形態では、ユーザに対するアプリケーションへのアクセスの許可は、ユーザの仮想アイデンティティの複数の仮想属性フィールドのうちの第１の仮想属性フィールド又は第２の仮想属性フィールドが、第１又は第２の仮想属性フィールドと関連付けられたポリシーの条件と一致するように、ポリシーに更に基づき得る。
【０００９】
いくつかの実施形態では、第１のアイデンティティサービスにおけるユーザと関連付けられた第１の属性に基づく第１の仮想属性フィールドの記入後に、複数の仮想属性フィールドのうちの少なくとも１つの仮想属性フィールドに値が割り当てられていないと判定され得る。ユーザと関連付けられた第２のアイデンティティサービスの識別及び第２のアイデンティティサービスにおけるユーザと関連付けられた第２の属性に基づく第２の仮想属性フィールドの記入は、複数の仮想属性フィールドのうちの少なくとも１つの仮想属性フィールドに値が割り当てられていないとの判定に応答して実施され得る。
【００１０】
いくつかの実施形態では、リンクは、第１のアイデンティティサービスにおける第１の属性フィールドと第２のアイデンティティサービスにおける第２の属性フィールドとの間で識別され得、第２のアイデンティティサービスにおけるユーザと関連付けられた第２の属性フィールドは、リンクに基づいて識別され得る。
【００１１】
いくつかの実施形態では、第１の認証は、第１のアイデンティティサービスに対して実施される一次認証であり得、第２のアイデンティティサービスは、第１のアイデンティティサービスとは異なるタイプのアイデンティティサービスであり得る。更に、リンクは、ユーザの連合アイデンティティであり得る。
【００１２】
いくつかの実施形態では、複数の仮想属性フィールドの仮想属性フィールドのうちの少なくとも１つの値は、ユーザによってアクセスされるアプリケーションに伝送され得る。
【図面の簡単な説明】
【００１３】
本開示は、以下に示される発明を実施するための形態及び本開示の種々の実施態様の添付の図面からより完全に理解されるであろう。
【図１】種々の実施態様に従う、例示的なシステムアーキテクチャを例解する。
【図２】本開示のいくつかの実施形態に従う、例示的なアイデンティティサービスブローカのブロック図である。
【図３】いくつかの実施形態に従う、仮想アイデンティティ及びコンテキストモジュールの実施例のブロック図である。
【図４】本開示のいくつかの実施形態に従う、仮想アイデンティティの仮想属性フィールドに記入するための例示的な方法を例解するフロー図である。
【図５】いくつかの実施形態に従う、例示的な仮想アイデンティティが異種アイデンティティサービスによって記入されている例解図である。
【図６】本開示のいくつかの実施形態に従う、１つ若しくは２つ以上のアイデンティティサービスに基づいて、仮想アイデンティティの仮想属性フィールドに記入するための例示的な方法である。
【図７】本明細書に記載される動作のうちの１つ若しくは２つ以上を実施し得る、例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１４】
異種又は複数のアイデンティティサービスに基づいてユーザの仮想アイデンティティを作成するための方法及び装置が、本明細書に記載される。認証とは、あるタイプの認証機構のソース（例えば、アイデンティティサービス）を使用することによって、あるエンティティ又はユーザが、そのエンティティ又はユーザが主張する者であるという検証を指し得る。例えば、ユーザは、複数のタイプ又はソースの認証機構を利用することによって、複数の独立したソフトウェア又はネットワークシステムに、単一のサインオンアクセス制御機構を提供する、集中型認証サーバにログインし得る。認証機構のタイプ又はソースは、アイデンティティサービスとも称され得る。したがって、集中型認証サーバは、それが複数のアイデンティティサービスを管理し得るため、アイデンティティサービスブローカと称され得る。
【００１５】
一度ユーザがアイデンティティサービスブローカ（例えば、ＳＳＯアクセス制御を通じて）にログインすると、ユーザは、アイデンティティサービスブローカによって管理されるアイデンティティサービスを通じて、又はそれに対しても認証され得る。いくつかの実施形態では、アイデンティティサービスは、あるタイプ又は役割のアイデンティティサービスにカテゴリ化又はグループ化され得る。例えば、アイデンティティサービスは、一次認証サービス、二次認証サービス、又は補足的属性サービスとしてカテゴリ化され得るが、これらに限定されない。
【００１６】
アイデンティティサービスは、単一の役割又は複数の役割と関連付けられ得る。例えば、アイデンティティサービスは、認証サービスを提供するのみであり得るか、又はユーザの情報（例えば、属性）を提供する補足的属性サービスを提供するのみであり得る。いくつかの実施形態では、アイデンティティサービスは、認証サービス並びに補足的属性サービスの両方を提供し得る。
【００１７】
いくつかの実施形態では、アイデンティティサービスブローカは、ソフトウェア又はネットワークアプリケーションへのアクセス制御（例えば、承認）も提供し得る。アイデンティティサービスブローカのアドミニストレータは、ユーザがソフトウェア又はネットワークアプリケーションにアクセスするために満たされなければならないソフトウェア又はネットワークアプリケーションの各々に割り当てられるべきポリシーを指定し得る。例えば、アドミニストレータは、アイデンティティサービスによっても提供されるユーザの属性に基づいてポリシーを指定又は定義し得る。かかる属性は、補足的属性とも称され得る。更に、アイデンティティサービスブローカは、アイデンティティサービスによって提供されるユーザの属性を、ユーザがアクセスしようとしているソフトウェア又はネットワークアプリケーションに伝送し得る。いくつかの実施形態では、属性は、役割ベースアクセス、資格付与、ジャストインタイムプロビジョニング、アプリケーションアカウント、識別及びマッピングなどの目的で、アプリケーションに伝送され得る。
【００１８】
しかしながら、アイデンティティサービスによって提供されるユーザの属性は、異なる形式で記憶され得る。例えば、ユーザのユーザ名に対応する属性は、第１のアイデンティティサービスにおいて「ｕｓｅｒｎａｍｅ」というフィールドに記憶され得、第２のアイデンティティサービスにおいて「ｎａｍｅ」というフィールドに記憶され得る。第１のアイデンティティサービスは、同じユーザに対する「ｅｍａｉｌ」というフィールド内の属性を更に含み得、第２のアイデンティティサービスは、同じユーザに対する「ｌｏｃａｔｉｏｎ」というフィールド内の属性を含み得る。
【００１９】
本開示の実施態様は、アイデンティティサービスの属性フィールド間のリンク又は関係を識別するように、かつアイデンティティサービスからの属性フィールドに基づいて仮想アイデンティティを生成するように、仮想アイデンティティ、及び以下で更に詳細に記載されるコンテキストモジュールを含み得る。仮想アイデンティティの使用は、アプリケーションのためのポリシーを定義するために使用され得る、正規化された仮想属性フィールドセットをもたらし得る。仮想アイデンティティ、及び以下で更に詳細に記載されるコンテキストモジュールの特性は、アイデンティティサービス識別子サブモジュール、生成器サブモジュール、記入サブモジュール、リンクサブモジュール、伝送器サブモジュール、及びセッションデータサブモジュールを含み得る。
【００２０】
図１は、種々の実施態様のための例示的なシステムアーキテクチャ１００を例解する。システムアーキテクチャ１００は、１つ若しくは２つ以上のコンピューティングデバイス１１０と、アイデンティティサービスブローカ１５０と、ネットワーク１２０を介して互いに連結されるネットワークアプリケーション１３０及び１４０と、を含み得る。ネットワーク１２０は、公的ネットワーク、私的ネットワーク、無線ネットワーク、セルラネットワーク、又はこれらの組み合わせであってもよい。
【００２１】
アイデンティティサービスブローカは、コンピューティングデバイス１１０のクライアントに対して、独立した及び別個のネットワーク又はソフトウェアシステムによってホスト又は提供されるアプリケーション１３０及び１４０への仮想アイデンティティ生成及び認証を提供する、中央認証サーバであり得る。例えば、アイデンティティサービスブローカは、遠隔ネットワーク又はソフトウェアシステムにアクセスするためのアイデンティティサービスを管理する、クラウドベースのコンピューティングシステムであると考えられ得る。コンピューティングデバイス１１０は、デスクトップコンピュータ、ラップトップコンピュータ、又はポータブルコンピューティングデバイス、例えば、限定されないが、モバイル電話、携帯情報端末（ＰＤＡ）、ポータブルメディアプレーヤ、ネットブック、タブレットコンピュータ、ポータブルゲームコンソール、ポータブルテレビ、電子書籍リーダなどであってもよい。示されるように、１人若しくは２人以上のユーザは、コンピューティングデバイス１１０を使用して、アイデンティティサービスブローカ１５０で認証し、アプリケーション１３０及び１４０にアクセスするための承認を受信し得る。
【００２２】
アイデンティティサービスブローカ１５０は、１つ若しくは２つ以上のアイデンティティサービス１６０、１７０、及び１８０に基づいて、ユーザを認証し得る。例えば、アイデンティティサービスブローカ１５０は、アイデンティティサービス１６０、１７０、及び１８０によって提供される、異なるタイプ若しくはソースの認証機構又は認証情報を管理し得る。認証機構の例としては、一次認証、二次認証、及び補足的属性情報が挙げられるが、これらに限定されない。一次認証とは、ユーザ名及びパスワードを提供するユーザに基づく認証を指し得る。例えば、ユーザは、ユーザ名及びパスワードを入力し得、ユーザ名及びパスワードは、認証機構又はソース、例えば、ユーザ名及びパスワードの有効な組み合わせのレポジトリを含み得るアクティブディレクトリ（ＡＤ）と照合され得る。いくつかの実施形態では、二次認証とは、一次認証に加えて提供されなければならない認証機構を指し得る。例えば、一次認証は、ユーザ名及びパスワードに対応し得、二次認証は、限定されないが、セキュリティトークン、デジタル証明書、例えば、公開鍵基盤（ＰＫＩ）証明書などに対応し得る。一次認証と二次認証との組み合わせは、ユーザが成功裏に認証されるために、２つの異なる認証機構又はソースが必要とされるため、２要素認証と称され得る。更に、補足的属性情報とは、ユーザのユーザ属性を指し得る。いくつかの実施形態では、ユーザのユーザ属性は、別個のアイデンティティサービスに記憶され得るか、又は一次認証若しくは二次認証のいずれかを提供するアイデンティティサービスと関連付けられ得るか、若しくは含まれ得る。
【００２３】
図１に示されるように、アイデンティティサービスブローカ１５０は、アイデンティティサービス１６０、１７０、及び１８０を管理し得る。アイデンティティサービス１６０、１７０、及び１８０の各々は、異なる認証サービスを提供し得る。例えば、アイデンティティサービス１６０は、ユーザ名及びパスワードに基づく一次認証を提供するアクティブディレクトリ又はセキュリティアサーションマークアップランゲージ（ＳＡＭＬ）ソースであってもよい。いくつかの実施形態では、一次認証は、ユーザによる最初のログインに応答して、ユーザに提供されるチケット（例えば、ケルベロスベースのチケット）にも基づき得る。更に、アイデンティティサービス１７０は、ＰＫＩ証明書、トークン、又は任意の他のかかる情報に基づく二次認証機構を提供し得る。アイデンティティサービス１８０は、ユーザに対応する補足的属性を提供し得る。いくつかの実施形態では、アイデンティティサービス１６０及び１７０も、ユーザに対応する補足的属性を提供し得る。
【００２４】
アイデンティティサービスブローカ１５０は、アプリケーション１３０及び１４０と関連付けられたポリシーと関連付けられ得、かつ／又はそれらを記憶し得る。いくつかの実施形態では、ポリシーは、ユーザ属性に基づく条件を含み得、かつアプリケーション１３０及び１４０に割り当てられ得る。例えば、ユーザに対応する場所属性に対する「Ｃａｌｉｆｏｒｎｉａ」の属性値を指定する第１のポリシーは、アプリケーション１３０に割り当てられ得、ユーザに対応する職業組織属性に対する「Ｅｎｇｉｎｅｅｒｉｎｇ」の属性値を指定する第２のポリシーは、アプリケーション１４０に割り当てられ得る。以下で更に詳細に述べられるように、ポリシーへの属性の割り当ては、仮想アイデンティティの仮想属性フィールドに基づき得る。
【００２５】
コンピューティングデバイス１１０のユーザが、アイデンティティサービス１６０、１７０、及び１８０に対して、アイデンティティサービスブローカ１５０で認証される際、ユーザの仮想アイデンティティは、ユーザが成功裏に認証されたアイデンティティサービス１６０、１７０、及び１８０において記憶された属性に基づいて生成され得る。例えば、アイデンティティサービス１６０は、「ｌｏｃａｔｉｏｎ」属性フィールドを含む属性を含み得、アイデンティティサービス１７０は、「ｗｏｒｋ  ｏｒｇａｎｉｚａｔｉｏｎ」属性フィールドを含む属性を含み得る。アイデンティティサービスブローカ１５０は、アイデンティティサービス１６０とアイデンティティサービス１７０との間のリンク又は関係を識別し得、アイデンティティサービス１６０及びアイデンティティサービス１７０での属性に基づいて、ユーザの仮想アイデンティティを生成し得る。
【００２６】
アイデンティティサービスブローカ１５０は、ポリシーを定義し、ポリシーをアプリケーションに割り当て、単一のサインオンアクセス制御を提供し、アイデンティティサービスにおいて記憶された属性を取り出す機能性、並びにアイデンティティサービス１６０、１７０、及び１８０において記憶された属性に基づく正規化された仮想属性を含む、仮想アイデンティティを生成するための仮想アイデンティティ及びコンテキストモジュールを含み得る。アイデンティティサービスブローカ１５０、並びに仮想アイデンティティ及びコンテキストモジュールに関する更なる詳細は、以下で更に詳細に開示される。
【００２７】
図２は、いくつかの実施形態に従う、アイデンティティサービスブローカ２００のブロック図である。一般的に、アイデンティティサービスブローカ２００は、図１に示されるアイデンティティサービスブローカ１５０に対応し得る。アイデンティティサービスブローカ２００は、単一のサインオン（ＳＳＯ）モジュール２１０と、仮想アイデンティティ及びコンテキストモジュール２２０と、ポリシーエンジンモジュール２３０と、承認モジュール２４０と、を含む。代替的な実施形態では、モジュールのうちの１つ若しくは２つ以上の機能性は、組み合わされ得るか、又は分割され得る。
【００２８】
図２に示されるように、アイデンティティサービスブローカ２００は、単一のサインオンモジュール２１０を含み得る。いくつかの実施形態では、単一のサインオンモジュール２１０は、複数のネットワーク又はシステムへのユーザに対するアクセス制御を提供し得る。例えば、ユーザは、ユーザ名及びパスワードを単一のサインオンモジュール２１０に提供し得、アクティブディレクトリ（ＡＤ）、ＳＡＭＬソースなどからの有効なユーザ名及びパスワードの組み合わせと一致するユーザ名及びパスワードに基づいて認証され得るか、又はケルベロスチケットを提供し得る。いくつかの実施形態では、単一のサインオンは、一次認証をもたらし得る。同じ又は代替的な実施形態では、単一のサインオンはまた、二次認証を含み得る。更に、アイデンティティサービスブローカ２００は、ポリシーエンジンモジュール２３０を含み得る。いくつかの実施形態では、ポリシーエンジンモジュール２３０は、ポリシーを定義するか、又は属性値をポリシーに割り当て、かつそのポリシーを１つ若しくは２つ以上のアプリケーションに割り当てるために使用され得る。例えば、「Ｒｏｂｅｒｔ」の属性値を必要とするポリシーは、あるアプリケーションに割り当てられ得、「Ｊｅｆｆ」の属性値を必要とする別のポリシーは、別のアプリケーションに割り当てられ得る。ポリシーエンジンモジュール２３０は、図４〜６を参照して以下で更に詳細に開示されるように、あるポリシーに対するユーザの仮想アイデンティティから、ある属性を指定し得る。アイデンティティサービスブローカ２００は、承認モジュール２４０を更に含み得る。いくつかの実施形態では、承認モジュール２４０は、アプリケーションに割り当てられたポリシーを満たすユーザに基づいて、１つ若しくは２つ以上のアプリケーションへのアクセスを許可又は承認し得る。
【００２９】
アイデンティティサービスブローカ２００は、仮想アイデンティティ及びコンテキストモジュール２２０を含み得る。いくつかの実施形態では、仮想アイデンティティ及びコンテキストモジュール２２０は、アイデンティティサービスブローカ２００の単一のサインオンモジュール２１０にログインしたユーザの仮想アイデンティティを生成し得る。例えば、仮想アイデンティティ及びコンテキストモジュール２２０は、異なるアイデンティティサービスにおいて記憶された属性に基づいて、ユーザに割り当てられた仮想アイデンティティの仮想属性フィールドに記入し得る。仮想アイデンティティ及びコンテキストモジュール２２０に関する更なる詳細は、図３を参照して更に詳細に開示される。
【００３０】
したがって、アイデンティティサービスブローカ２００は、アプリケーション若しくはサービスを提供する、クラウドベースのシステム並びに／又は他の独立したネットワーク及びシステムに対する、単一のサインオンアクセス制御を提供し得る。アイデンティティサービスブローカ２００は、ポリシーに対する属性を指定し、かつそのポリシーをアプリケーション又はサービスに割り当てるために使用され得る。更に、ユーザには、ユーザと関連付けられたアイデンティティサービスから、仮想属性フィールド及び値を含む仮想アイデンティティが割り当てられ得る。アイデンティティサービスブローカ２００は、仮想アイデンティティからのユーザの仮想属性値が、ポリシーの条件を満たす場合、ユーザがアプリケーションにアクセスすることを承認し得る、及び／又は仮想属性を、仮想アイデンティティからアクセスされたアプリケーションに伝送し得る。
【００３１】
図３は、いくつかの実施形態に従う、仮想アイデンティティ及びコンテキストモジュール３００のブロック図である。一般的に、仮想アイデンティティ及びコンテキストモジュール３００は、図１及び２に示されるようなアイデンティティサービスブローカ１５０又は２００内の仮想アイデンティティ及びコンテキストモジュール２２０に対応し得る。仮想アイデンティティ及びコンテキストモジュール３００は、アイデンティティサービス識別子サブモジュール３１０と、生成器サブモジュール３２０と、フィールド記入サブモジュール３３０と、リンクサブモジュール３４０と、伝送器サブモジュール３５０と、セッションデータサブモジュール３６０と、を含み得る。代替的な実施形態では、サブモジュールのうちの１つ若しくは２つ以上の機能性は、組み合わされ得るか、又は分割され得る。
【００３２】
図３に示されるように、仮想アイデンティティ及びコンテキストモジュール３００は、アイデンティティサービス識別子サブモジュール３１０を含み得る。いくつかの実施形態では、アイデンティティサービス識別子サブモジュール３１０は、ユーザと関連付けられたアイデンティティサービスを識別し得る。例えば、アイデンティティサービス識別子サブモジュール３１０は、ユーザが、一次認証、二次認証を提供する、アイデンティティサービスによって成功裏に検証されたこと、又はアイデンティティサービスが、ユーザの属性を提供することを識別し得る。いくつかの実施形態では、アイデンティティサービス識別子サブモジュール３１０は、ユーザが、検証されたユーザ名及びパスワード、又は他のかかる一次認証情報を、アイデンティティサービスブローカの単一のサインオンアクセス制御サービスに提供したという識別を受信し得る。ユーザ認証に応答して、アイデンティティサービス識別子サブモジュール３１０は、ユーザと関連付けられた１つ若しくは２つ以上のアイデンティティサービスを識別し得る。いくつかの実施形態では、アイデンティティサービス識別子サブモジュール３１０は、ユーザの属性（例えば、補足的属性）を含む、ユーザと関連付けられたアイデンティティソースを識別し得る。仮想アイデンティティ及びコンテキストモジュール３００は、生成器サブモジュール３２０を更に含み得る。いくつかの実施形態では、生成器サブモジュール３２０は、ユーザの仮想アイデンティティを作成又は生成し得る。同じ又は代替的な実施形態では、仮想アイデンティティは、ユーザと関連付けられたポリシー及び／又はアプリケーションと関連付けられたポリシーに基づいて、１つ若しくは２つ以上の生成された仮想属性フィールドを含み得る。例えば、生成器サブモジュール３２０は、アイデンティティサービスブローカによって管理されるポリシーによって必要とされる各属性に対する仮想アイデンティティに対する仮想属性フィールドを作成し得る。例として、第１のポリシーは、「ｎａｍｅ」及び「ｌｏｃａｔｉｏｎ」に対する属性を指定し得、第２のポリシーは、「ｅｍａｉｌ  ａｄｄｒｅｓｓ」に対する属性を指定し得る。第１及び第２のポリシーによって指定される属性の識別に応答して、生成器サブモジュール３２０は、「ｎａｍｅ」、「ｌｏｃａｔｉｏｎ」、及び「ｅｍａｉｌ  ａｄｄｒｅｓｓ」の属性に対応する仮想属性フィールドを含む、ユーザの仮想アイデンティティを作成又は生成し得る。属性に関する更なる詳細は、図５に関して開示される。
【００３３】
図３を参照すると、仮想アイデンティティ及びコンテキストモジュール３００は、フィールド記入サブモジュール３３０を含み得る。いくつかの実施形態では、フィールド記入サブモジュール３３０は、仮想アイデンティティの仮想属性フィールドに、１つ若しくは２つ以上のアイデンティティサービスからの属性値を書き込むか、又は記入し得る。例えば、フィールド記入サブモジュール３３０は、生成器サブモジュール３２０によって作成された仮想アイデンティティの仮想属性フィールドに、アイデンティティサービス識別子サブモジュール３１０によって識別されたアイデンティティサービスにおいて記憶された属性を記入し得る。更に、リンクサブモジュール３４０は、第１のアイデンティティサービスと第２のアイデンティティサービスとの間のリンクを識別し得る。かかる判定に応答して、フィールド記入サブモジュール３３０は、仮想アイデンティティの仮想属性フィールドに、識別されたリンクに基づく第２のアイデンティティサービスからの属性を記入し得る。かかる機構に関する更なる詳細は、以下で更に詳細に開示される。
【００３４】
いくつかの実施形態では、仮想アイデンティティ及びコンテキストモジュール３００は、セッションデータサブモジュール３６０を含み得る。セッションデータサブモジュール３６０は、永続的な記憶ユニットであってもよい。いくつかの実施形態では、永続的な記憶ユニットは、ローカル記憶ユニット又はリモート記憶ユニットであってもよい。永続的な記憶ユニットは、磁気記憶ユニット、光学的記憶ユニット、ソリッドステート記憶ユニット、電子記憶ユニット（メインメモリ）、又は同様の記憶ユニットであってもよい。永続的な記憶ユニットは、モノリシックデバイス、又は分散したデバイスセットであってもよい。本明細書で使用される際、「セット」は、任意の正の整数の項目を指す。いくつかの実施形態では、セッションデータサブモジュール３６０は、ユーザの仮想アイデンティティ、並びにユーザと関連付けられたセッションコンテキスト情報を記憶し得る。
【００３５】
仮想アイデンティティ及びコンテキストモジュール３００は、伝送器サブモジュール３５０を更に含み得る。いくつかの実施形態では、伝送器サブモジュール３５０は、ポリシーエンジンモジュール（例えば、ポリシーエンジンモジュール２３０）に、又はユーザがアクセスすることを承認されたアプリケーションに、仮想アイデンティティ及び／又はセッションデータ情報を伝送し得る。
【００３６】
したがって、仮想アイデンティティ及びコンテキストモジュール３００は、ユーザと関連付けられている１つ又は複数のアイデンティティサービスを識別し得る。いくつかの実施形態では、識別されたアイデンティティサービスの各々は、アイデンティティサービスに対して成功裏に認証されたユーザの属性情報を含み得る。仮想アイデンティティ及びコンテキストモジュール３００は、ユーザの仮想アイデンティティを更に生成し得る。例えば、仮想アイデンティティは、属性値を含み得る１つ若しくは２つ以上の仮想属性フィールドを含み得る。いくつかの実施形態では、仮想アイデンティティは、１つ若しくは２つ以上のポリシーにおいて指定される各タイプの属性に対する仮想属性フィールドを含み得る。仮想アイデンティティ及びコンテキストモジュール３００は、仮想アイデンティティの仮想属性フィールドに、アイデンティティサービスからの属性値を更に記入するか、又は書き込み得る。
【００３７】
図４は、仮想アイデンティティの仮想属性フィールドに記入するための例示的な方法４００を例解するフロー図である。方法４００は、ハードウェア（例えば、処理デバイス、回路、専用論理、プログラマブル論理、マイクロコードなど）、ソフトウェア（例えば、処理デバイス上で実行される命令）、又はこれらの組み合わせを含み得る処理論理によって実施され得る。いくつかの実施形態では、方法４００は、図１及び２のアイデンティティサービスブローカ１５０又は２００内の図２及び３の仮想アイデンティティ及びコンテキストモジュール２２０又は３００によって実施され得る。
【００３８】
図４に示されるように、方法４００は、ユーザと関連付けられた第１のアイデンティティサービスを識別する処理論理によって開始し得る（ブロック４１０）。例えば、処理論理は、ユーザが、アイデンティティサービスブローカの単一のサインオン機能にアクセスされ、第１のアイデンティティサービスに対して認証されたことを識別し得る。いくつかの実施形態では、かかる第１の認証は、一次認証と称され得る。処理論理は、第１のアイデンティティサービスにおけるユーザの属性値に基づいて、ユーザに割り当てられた仮想アイデンティティの仮想属性フィールドに記入するか、又は書き込み得る（ブロック４２０）。例えば、処理論理は、第１のアイデンティティサービスにおいて記憶されたユーザの属性値を取り出し、取り出された属性値を、仮想アイデンティティの対応する仮想属性フィールドに割り当て得る。処理論理は、ユーザと関連付けられている第２のアイデンティティサービスを識別し得る（ブロック４３０）。いくつかの実施形態では、第２のアイデンティティサービスは、第１のアイデンティティサービスとは別個かつ異なり得る。例えば、第２のアイデンティティサービスは、二次認証を提供し得る、及び／又はユーザの属性を提供するのみであり得る。処理論理は、第１のアイデンティティサービスと第２のアイデンティティサービスとの間のリンクされた属性フィールドを識別し得る（ブロック４４０）。いくつかの実施形態では、リンクされたフィールドは、連合識別と称され得る。例えば、第１のアイデンティティサービスに記憶された第１の属性フィールドは、第２のアイデンティティサービスに記憶された第２の属性フィールドとリンクされ得る。いくつかの実施形態では、アイデンティティサービスブローカのアドミニストレータは、第１のアイデンティティサービスと第２のアイデンティティサービスとの間の２つの属性フィールドのリンキングを事前設定し得る。リンクされた属性フィールドに関する更なる詳細は、図５を参照して更に詳細に開示される。
【００３９】
図４を参照すると、処理論理は、リンクされた属性フィールドによって識別された第２のアイデンティティサービスにおいて記憶されたユーザの属性値に基づいて、ユーザに割り当てられた仮想アイデンティティの仮想属性フィールドを更に記入し得る（ブロック４５０）。例えば、リンクされた属性フィールドは、第１のアイデンティティサービス内のユーザの属性値と第２のアイデンティティサービス内のユーザの属性値をリンクさせる、連合アイデンティティと考えられ得る。したがって、リンクされた属性フィールドは、個別のアイデンティティサービスにわたる単一のユーザの対応する属性を識別し得る。例として、アイデンティティサービスブローカのアドミニストレータは、第２のアイデンティティサービス内の「Ｅｍｐ．Ｎｕｍｂｅｒ」という名称のリンクされた属性フィールドと共に、第１のアイデンティティサービス内の「Ｅｍｐｌｏｙｅｅ−ＩＤ」という名称のリンクされた属性フィールドを指定し得る。処理論理は、「Ｅｍｐｌｏｙｅｅ−ＩＤ」フィールドに対する属性値を含む第１のアイデンティティサービスの記録においてユーザの属性値を識別し得、かつ第２のアイデンティティサービス内の「Ｅｍｐ．Ｎｕｍｂｅｒ」フィールド内の同じ属性値に対する第２のアイデンティティサービスにおいてその記録を検索し得る。第２のアイデンティティサービスのリンクされた属性フィールドで同じ属性値が見つかった場合、その属性値を含む記録の属性値を使用して、仮想アイデンティティの追加の仮想属性フィールドに記入するか、又は書き込み得る。
【００４０】
したがって、第１のアイデンティティサービスが識別され得、仮想アイデンティティの仮想属性フィールドは、第１のアイデンティティサービスに位置する属性値に基づいて書き込まれ得る。第２のアイデンティティサービスが、第１及び第２のアイデンティティサービス内のリンクされたフィールドに基づいて、第１のアイデンティティサービスにリンクされるかどうかの判定が行われ得る。更に、いくつかの実施形態では、アイデンティティサービスブローカのアドミニストレータは、第１のアイデンティティサービスと第２のアイデンティティサービスとの間の関係を事前設定し得る。次いで、仮想アイデンティティの追加の仮想属性フィールドが、第２のアイデンティティサービスに位置する属性値に基づいて書き込まれ得る。いくつかの実施形態では、複数の二次アイデンティティサービスがリンクされて、集約された仮想アイデンティティを作成し得る。例えば、一次認証を提供する第１のアイデンティティサービスは、第２のアイデンティティサービス及び第３のアイデンティティサービスにリンクされ得る。したがって、任意の数及び任意の異なるタイプのアイデンティティサービスが、アイデンティティサービスブローカのアドミニストレータによって事前設定され得る、リンクされたフィールドに基づいて、リンクされ得る。このため、例として、ユーザは、第１のアイデンティティサービスに対して成功裏に認証（例えば、一次認証）し得、第１のアイデンティティサービスからのリンクされたフィールドは、第２のアイデンティティサービスのリンクされたフィールドで識別され得る。更に、第１のアイデンティティサービスからのリンクされたフィールドはまた、第３のアイデンティティサービスのリンクされたフィールドで識別され得る。したがって、複数の異種アイデンティティサービスが、リンクされたフィールドに基づいてリンクされ得、かつ仮想アイデンティティを作成するために使用され得る。
【００４１】
図５は、例示的な仮想アイデンティティが異種アイデンティティサービスによって記入されている例解図である。一般的に、アイデンティティサービス５２０及び５３０は、図１のアイデンティティサービス１６０、１７０、及び１８０に対応し得る。更に、ユーザセッション情報５１０は、図３のセッションデータ３６０に対応し得る。仮想アイデンティティ５４０は、アイデンティティサービスブローカ内の図２及び３の仮想アイデンティティ及びコンテキストモジュール２２０又は３００によって作成され得る。
【００４２】
図５に示されるように、仮想アイデンティティ５４０は、アイデンティティサービス５２０及びアイデンティティサービス５３０によって記入されるか、又は書き込まれる、複数の仮想属性フィールドを含み得る。例として、仮想アイデンティティ５４０は、「Ｖｉｒｔ＿Ｎａｍｅ」、「Ｖｉｒｔ＿ＥｍｐｌｏｙｅｅＩＤ」、「Ｖｉｒｔ＿Ｌｏｃａｔｉｏｎ」、及び「Ｖｉｒｔ＿ｅｍａｉｌ」という標識又は名称の仮想属性フィールドを含み得る。図５は、４つの仮想属性フィールドを例解するが、任意の数の仮想属性フィールド及び異なるタイプの仮想属性フィールドが、使用されてもよい。いくつかの実施形態では、仮想アイデンティティ５４０は、ポリシーにおいて使用するために、かつアプリケーションに伝送するために、アイデンティティサービス５２０及び５３０において記憶された属性フィールドの抽象化を提供し得る。例えば、ポリシーは、アイデンティティサービス５２０及び５３０において記憶された異なる属性フィールドとは対照的に、仮想属性フィールドを指定することによって作成され得る。したがって、仮想アイデンティティは、アイデンティティサービスブローカのポリシーを定義するために使用され得る、正規化された属性フィールドセット（例えば、仮想属性フィールド）を含むと考えられ得る。いくつかの実施形態では、仮想属性フィールドの値は、値の正規化のみではなくむしろ、変換又は集約機能（例えば、サブストリング、整数への変換、組み合わせなど）の結果であり得る。例えば、属性フィールドからの値は、仮想属性フィールドが記入されるときに、変換又は集約され得る。
【００４３】
図５を参照すると、ユーザセッション情報５１０は、セッションコンテキスト情報５３０を含み得る。いくつかの実施形態では、セッションコンテキスト情報５３０は、ユーザがアイデンティティサービスブローカのＳＳＯにログインした際のユーザセッションと関連付けられた情報を指定し得る。セッションコンテキスト情報５３０は、アイデンティティサービスブローカにログインしたユーザのユーザ名、ユーザが認証されたアイデンティティサービスの認証タイプ、ユーザと関連付けられた保証のレベル、ユーザセッションの時間及び日付、ユーザによって使用されるデバイスタイプ、デバイス評価、デバイスインターネットプロトコル（ＩＰ）アドレスなどを含み得るが、これらに限定されない。
【００４４】
示されるように、仮想アイデンティティ５４０は、アイデンティティサービス５２０及びアイデンティティサービス５３０内の属性フィールドからの値によって記入され得る。例えば、いくつかの実施形態では、アイデンティティサービス５２０は、ユーザに対する一次認証を提供し得、並びにユーザの補足的属性のソースを提供し得る。例えば、アイデンティティサービス５２０は、「ｕｓｅｒｎａｍｅ」、「ｐａｓｓｗｏｒｄ」、及び「Ｅｍｐｌｏｙｅｅ  ＩＤ」等の属性フィールドを含む、各ユーザの記録を含み得る。いくつかの実施形態では、ユーザ及びアイデンティティサービス５２０は、アイデンティティサービス５３０にリンクされ得る。例えば、アイデンティティサービス５３０は、アイデンティティサービス５２０によって提供される一次認証と共に、２要素認証の一部としての二次認証を提供し得る。アイデンティティサービス５３０はまた、補足的属性のソースを提供し得る。例えば、アイデンティティサービス５３０は、「Ｅｍｐｌ．ＩＤ」、「Ｌｏｃａｔｉｏｎ」、及び「ｅｍａｉｌ」等の属性フィールドを含む、各ユーザの記録を含み得る。いくつかの実施形態では、アイデンティティサービスブローカのアドミニストレータは、アイデンティティサービス５２０及びアイデンティティサービス５３０の属性フィールド間のリンクを事前設定し得る。例えば、リンク５２５は、アイデンティティサービス５２０の属性フィールド「Ｅｍｐｌｏｙｅｅ  ＩＤ」と、アイデンティティサービス５３０の属性フィールド「Ｅｍｐｌ．ＩＤ」との間のかかる事前設定されたリンクを表し得る。いくつかの実施形態では、リンク５２５は、それが、アイデンティティサービス５２０内の記録とアイデンティティサービス５３０内の記録との間の関係を確立するために使用されるため、連合識別（ＩＤ）と称され得る。例えば、リンク５２５は、アイデンティティサービス５２０内の記録に対応する記録で、アイデンティティサービス５３０を検索するために使用され得る。いくつかの実施形態では、リンクされた属性フィールド内の共通の値を有する、アイデンティティサービス５２０内の記録、及びアイデンティティサービス５３０内の記録は、同じユーザと関連付けられた記録であり得る。したがって、アイデンティティサービスからの記録の属性フィールドは、仮想アイデンティティの仮想属性フィールドに記入するか、又は書き込むために使用され得る。例えば、示されるように、アイデンティティサービス５２０からの１つ若しくは２つ以上の属性フィールド値は、１つ若しくは２つ以上の仮想属性フィールドに記入するために使用され得、アイデンティティサービス５３０の対応する記録からの１つ若しくは２つ以上の属性フィールド値は、同じ仮想アイデンティティの１つ若しくは２つ以上の仮想属性フィールドに記入するために使用され得る。
【００４５】
いくつかの実施形態では、アイデンティティサービスは、統合Ｗｉｎｄｏｗｓ認証（ＷＡ）アイデンティティサービス、公開鍵基盤（ＰＫＩ）アイデンティティサービス、ケルベロスアイデンティティサービス、トークン、アクティブディレクトリ、第３者のウェブサイト認証情報（例えば、別のネットワークのユーザ名及びパスワード）、ライトウェイトディレクトリアクセスプロトコル（ＬＤＡＰ）、セキュリティアサーションマークアップランゲージ（ＳＡＭＬ）などを含み得るが、これらに限定されない。
【００４６】
図５は、単一のユーザの仮想アイデンティティが２つのアイデンティティサービスによって記入されていることを例解するが、任意の数及び任意のタイプのアイデンティティサービスが複数のユーザの複数の仮想アイデンティティを記入するために使用され得る。更に、仮想アイデンティティは、同時に複数の異種アイデンティティサービスに対処するために使用され得る。例えば、異なるアイデンティティサービスからの異なるユーザカテゴリが、仮想アイデンティティによって対処又はマッピングされ得る。例として、企業ディレクトリからの従業員の属性を含む第１のアイデンティティサービス、パートナユーザディレクトリに対応する顧客又はパートナの属性を含む第２のアイデンティティサービス、並びに外部からの訪問者の属性を含む第３のアイデンティティサービス、及び潜在的に公的なアイデンティティサービスはすべて、複数のユーザの仮想アイデンティティ又は複数の仮想アイデンティティの仮想属性フィールドにマッピングされ得る。いくつかの実施形態では、アイデンティティサービスブローカのアドミニストレータは、かかる異種アイデンティティサービス及びその中の異なるカテゴリへの仮想アイデンティティマップ間の関係を事前設定し得る。例えば、アイデンティティサービスブローカのアドミニストレータは、企業ディレクトリからの従業員、パートナユーザディレクトリからの顧客又はパートナ、及び外部アイデンティティサービスからの訪問者に対応する情報がすべて、特定の仮想属性フィールドに関連付け又はマッピングされ得ることを示し得る。
【００４７】
例として、第１のユーザの仮想アイデンティティは、第１のアイデンティティサービス及び第２のアイデンティティサービスの属性フィールドに基づいて記入され得る。第２のユーザの仮想アイデンティティは、第１のアイデンティティサービス、第３のアイデンティティサービス、及び第４のアイデンティティサービスの属性フィールドに基づき得る。このため、仮想アイデンティティは、第１及び第２のユーザと、第１、第２、第３、及び第４のアイデンティティサービスの種々の属性フィールドとの間のマッピングであり得る。
【００４８】
図６は、１つ若しくは２つ以上のアイデンティティサービスに基づいて、仮想アイデンティティの仮想属性フィールドに記入するための例示的な方法６００である。方法６００は、ハードウェア（例えば、処理デバイス、回路、専用論理、プログラマブル論理、マイクロコードなど）、ソフトウェア（例えば、処理デバイス上で実行される命令）、又はこれらの組み合わせを含み得る、処理論理によって実施され得る。いくつかの実施形態では、方法６００は、アイデンティティサービスブローカ１５０又は２００内の図２及び３の仮想アイデンティティ及びコンテキストモジュール２２０又は３００によって、実施され得る。
【００４９】
図６に示されるように、方法６００は、仮想アイデンティティの仮想属性フィールドに基づいてポリシーを定義する処理論理によって、開始し得る（ブロック６１０）。例えば、処理論理は、ユーザの仮想アイデンティティの仮想属性フィールドに対応する、ユーザの１つ若しくは２つ以上の補足的属性に基づく条件を含むように、ポリシーを生成し得る。処理論理は、第１のアイデンティティサービスに対して、ユーザ認証を更に識別し得る（ブロック６２０）。例えば、ユーザ認証は、一次認証であり得る。更に、処理論理は、第１のアイデンティティサービスの属性フィールドに記憶されたユーザの補足的属性に基づいて、ユーザの仮想アイデンティティの仮想属性フィールドに記入するか、又は書き込み得る（ブロック６３０）。例えば、処理論理は、仮想アイデンティティの仮想属性フィールドに対応する、第１のアイデンティティサービスにおいて記憶されたユーザ属性（例えば、補足的属性）を識別し得る。いくつかの実施形態では、アイデンティティサービスブローカのアドミニストレータは、第１のアイデンティティサービスにおいて記憶されたユーザ属性と、仮想アイデンティティの仮想属性フィールドとの間の関係又は対応性を事前設定し得る。処理論理は、ユーザの仮想アイデンティティの仮想属性フィールドが記入されているかどうかを更に判定し得る（ブロック６４０）。仮想属性フィールドが完了している（例えば、仮想属性フィールドのすべてが第１のアイデンティティサービスからの属性値を有している）場合、第２のアイデンティティサービスにおけるユーザ補足的属性に基づいて、いかなる仮想属性フィールドも更に記入されることはない（ブロック６５０）。しかしながら、ユーザの仮想アイデンティティの仮想属性フィールドのうちの少なくとも１つが記入されていないと判定された場合、ユーザと関連付けられた第２のアイデンティティサービスが識別され得る（ブロック６６０）。いくつかの実施形態では、アイデンティティサービスブローカのアドミニストレータは、第１のアイデンティティサービスと第２のアイデンティティサービスとの間のリンクを事前設定又は選択し得る。処理論理は、第１のアイデンティティサービスと第２のアイデンティティサービスとの間のリンクされた属性フィールドを更に識別し得る（ブロック６７０）。いくつかの実施形態では、アイデンティティサービスブローカのアドミニストレータは、第１のアイデンティティサービスと第２のアイデンティティサービスとの間のリンクされた属性フィールドの選択を事前設定し得る。更に、処理論理は、第２のアイデンティティサービスにおいて記憶されたユーザ補足的属性に基づいて、仮想アイデンティティの仮想属性フィールドに記入し得る。例えば、第２のアイデンティティサービスにおいて記憶された複数のユーザ属性を含む記録は、リンクされた属性フィールドの共通の属性値に基づいて識別され得る。
【００５０】
図７は、本明細書に記載される方法論のうちのいずれか１つ若しくは２つ以上をマシンに実施させるための命令セットが実行され得る、コンピュータシステム７００の例示的なマシンを例解する。代替的な実施態様では、マシンは、ＬＡＮ、イントラネット、エクストラネット、及び／又はインターネット内の他のマシンに接続（例えば、ネットワーク化）され得る。マシンは、クライアント・サーバネットワーク環境内のサーバ又はクライアントマシンの容量内で、ピアツーピア（若しくは分散）ネットワーク環境内のピアマシンとして、又はクラウドコンピューティング基盤若しくは環境内のサーバ若しくはクライアントマシンとして、動作し得る。
【００５１】
マシンは、パーソナルコンピュータ（ＰＣ）、タブレットＰＣ、セットトップボックス（ＳＴＢ）、携帯情報端末（ＰＤＡ）、携帯電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチ若しくはブリッジ、又はそのマシンが取るべき動作を指定する（逐次的又は非逐次的）命令セットを実行することが可能な任意のマシンであってもよい。更に、単一のマシンが例解されているが、「マシン」という用語は、個々に、又は連携して１つの（若しくは複数の）命令セットを実行して、本明細書に記載される方法論のうちのいずれか１つ若しくは２つ以上を実施する、任意のマシン群を含むとも見なされるべきである。
【００５２】
例示的なコンピュータシステム７００は、処理デバイス７０２と、メインメモリ７０４（例えば、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、同期的ＤＲＡＭ（ＳＤＲＡＭ）又はＤＲＡＭ（ＲＤＲＡＭ）等の動的ランダムアクセスメモリ（ＤＲＡＭ）など）と、静的メモリ７０６（例えば、フラッシュメモリ、静的ランダムアクセスメモリ（ＳＲＡＭ）など）と、データ記憶デバイス７１８と、を含み、これらは、バス７３０を介して互いに通信する。
【００５３】
処理デバイス７０２は、マイクロプロセッサ、中央演算処理ユニットなど１つ以上の汎用処理デバイスを示す。より具体的には、処理デバイスは、複合命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、又は他の命令セットを実行するプロセッサ、若しくは命令セットの組み合わせを実行するプロセッサであってよい。処理デバイス１２０２はまた、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサなど１つ以上の専用処理デバイスであってよい。処理デバイス７０２は、本明細書に記載の操作及び工程を実行するために命令７２２を実行するように構成される。
【００５４】
コンピュータシステム７００は、ネットワークインターフェースデバイス７０８を更に含んでよい。コンピュータシステム７００はまた、ビデオディスプレイユニット７１０（例えば、液晶ディスプレイ（ＬＣＤ）又は陰極線管（ＣＲＴ））、英数字入力デバイス７１２（例えば、キーボード）、カーソル制御デバイス７１４（例えば、マウス）、及び信号生成デバイス７１６（例えば、スピーカ）を含んでよい。
【００５５】
データ記憶デバイス７１８は、本明細書に記載される方法論又は機能のうちのいずれか１つ若しくは２つ以上を具現化する１つ若しくは２つ以上の命令セット又はソフトウェア７２２をそこに記憶する、マシン可読記憶媒体７２８（コンピュータ可読媒体としても知られる）を含み得る。命令７２２はまた、コンピュータシステム７００によるその実行中にメインメモリ７０４内、及び／又は処理デバイス７０２内に完全に、又は少なくとも部分的に存在し得、メインメモリ７０４及び処理デバイス７０２は、マシン可読記憶媒体も構成する。
【００５６】
一実施態様では、命令７２２は、仮想アイデンティティ及びコンテキストモジュール（例えば、図２の仮想アイデンティティ及びコンテキストモジュール２２０、若しくは図３の仮想アイデンティティ及びコンテキストモジュール３００）のための命令、並びに／又は仮想アイデンティティ及びコンテキストモジュール内のモジュール若しくはサブモジュールを呼び出す方法を含むソフトウェアライブラリを含む。マシン可読記憶媒体７２８は、例示的な実施態様では単一の媒体として示されるが、「マシン可読記憶媒体」という用語は、１つ若しくは２つ以上の命令セットを記憶する、単一の媒体又は複数の媒体（例えば、集中型若しくは分散型データベース、並びに／又は関連付けられたキャッシュ及びサーバ）を含むと見なされるべきである。「マシン可読記憶媒体」という用語はまた、マシンによって実行するための命令セットを記憶若しくは暗号化することが可能であり、かつ本開示の方法論のうちのいずれか１つ若しくは２つ以上をマシンに実行させる任意の媒体を含むと見なされるべきである。したがって、「マシン可読記憶媒体」という用語は、ソリッドステートメモリ、光学媒体、及び磁気媒体を含むが、これらに限定されないと見なされるべきである。
【００５７】
前述の「発明を実施するための形態」の一部は、コンピュータメモリ内のデータビットに関する動作のアルゴリズム及び象徴的表現に関して提示されている。これらのアルゴリズム的記述及び表現は、データ処理分野の当業者によって、他の当業者に仕事の内容を最も効果的に伝達するために使用される手段である。アルゴリズムは本明細書で、概して、所望の結果をもたらす、自己無撞着操作の連続であると考えられる。操作は、物理量の物理的操作を必要とするものである。必ずしもそうとは限らないが、通常、これらの量は、記憶する、組み合わせる、比較する、及び他の方法で操作することが可能な、電気信号又は磁気信号の形態を取る。これらの信号をビット、値、要素、記号、文字、用語、数値などと称することが、主に一般的な用法の理由から時には好都合であることが判明している。
【００５８】
しかしながら、これら及び同様の用語のすべてが、適切な物理量と関連付けられるものであり、これらの量に適用される好都合なラベルにすぎないことに留意すべきある。上の考察から明らかであるとして別途具体的に定められない限り、説明全体を通して、「識別すること」、又は「判定すること」、又は「実行すること」、又は「実施すること」、又は「収集すること」、又は「作成すること」、又は「送信すること」などの用語を利用した考察は、コンピュータシステム、又はコンピュータシステムのレジスタ及びメモリ内の物理（電子）量として表されるデータを操作し、コンピュータシステムメモリ若しくはレジスタ又は他のかかる情報記憶デバイス内の物理量として同様に表される他のデータに変換する同様の電子コンピューティングデバイスの行為及びプロセスを指すことを理解されたい。
【００５９】
本開示はまた、本明細書における動作を実施するための装置に関する。この装置は、意図された目的のために特別に構築されてよく、又はコンピュータに記憶されるコンピュータプログラムによって選択的に作動若しくは再構成される汎用コンピュータを備えてよい。かかるコンピュータプログラムは、フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ、及び光磁気ディスクを含む任意の種類のディスク、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気若しくは光カード、又は電子命令を記憶するのに好適な任意の種類の媒体などが挙げられるが、これらに限定されない、コンピュータ可読記憶媒体に記憶されてよく、それぞれがコンピュータシステムバスに接続される。
【００６０】
本明細書に記載のアルゴリズム及びディスプレイは、任意の特定のコンピュータ又は他の装置に本質的に関連しない。様々な汎用システムが、本明細書の教示に従ったプログラムと共に使用されてよいか、方法を実行するために、より特化した装置の構築が便利であることが判明することがある。様々なこれらのシステムの構造は、以下の説明から明らかとなる。加えて、本開示は、任意の特定のプログラミング言語に関して記載されていない。本明細書に記載されるように、本開示の教示を実行するために様々なプログラミング言語が使用されてよいことを理解されたい。
【００６１】
本開示は、コンピュータシステム（又は他の電子デバイス）に本開示に従ってプロセスを実行させるプログラムの作製に使用され得る、記憶された命令を有するマシン可読媒体を含んでよい、コンピュータプログラム製品又はソフトウェアとして提供されてよい。マシン可読媒体は、マシン（例えば、コンピュータ）可読の形態で情報を記憶する、任意のメカニズムを含む。例えば、マシン可読（例えば、コンピュータ可読）媒体は、読み取り専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光学的記憶媒体、フラッシュメモリデバイスなど等のマシン（例えば、コンピュータ）可読記憶媒体を含む。
【００６２】
前述の明細書において、本開示の実施態様は、その具体的な例示的な実施態様を参照して記載された。以下の「特許請求の範囲」に記載される、本開示の実施例のより広い趣旨及び範囲から逸脱することなく様々な変更を行うことができることは、明らかであろう。したがって、本明細書及び図面は、制限的意味ではなく、例示的意味と見なされるべきである。
【図１】
2017509964.tif 000003
【図２】
2017509964.tif 000004
【図３】
2017509964.tif 000005
【図４】
2017509964.tif 000006
【図５】
2017509964.tif 000007
【図６】
2017509964.tif 000008
【図７】
2017509964.tif 000009
【国際調査報告】
2017509964.tif 000010
2017509964.tif 000011
2017509964.tif 000012