(57)【要約】ジャスト・イン・タイム（ＪＩＴ）でプロビジョニングされたアカウントによる攻撃者の横方向移動を抑える技法であって、第１アカウントから、クライアント・デバイスを介して、１組のサーバー・デバイスにおけるサーバー・デバイスにアクセスするための第２アカウントを求める要求を受けるアカウント管理コンポーネントと、少なくとも部分的に第１アカウントに関連付けられたアカウント情報に基づいて、第２アカウントを求める要求を許可するアカウント許可コンポーネントと、クライアントがサーバー・デバイスにアクセスすることを可能にするために、第２アカウントをプロビジョニングするアカウント・プロビジョニング・コンポーネントと、第２アカウントに関連付けられたアカウント情報を、クライアント・デバイスを介してクライアントに提供するアカウント通知コンポーネントとを含む。他の実施形態についても記載し、特許請求する。【選択図】図１
2017510013.tif 000002
【特許請求の範囲】
【請求項１】
装置であって、
プロセッサー回路と、
前記プロセッサー回路による実行のためのサーバー・アプリケーションと、
を含み、前記サーバー・アプリケーションが、
第１アカウントを有するクライアントからの、１組のサーバー・デバイスにおけるサーバー・デバイスにアクセスするための第２アカウントを求める要求を、クライアント・デバイスを介して受けるアカウント管理コンポーネントと、
少なくとも部分的に前記第１アカウントに関連付けられたアカウント情報に基づいて、前記第２アカウントを求める要求を許可するアカウント許可コンポーネントと、
クライアントが前記サーバー・デバイスにアクセスすることを可能にするために前記第２アカウントをプロビジョニングするアカウント・プロビジョニング・コンポーネントと、
前記第２アカウントに関連付けられたアカウント情報を前記クライアントに前記クライアント・デバイスを介して提供するアカウント通知コンポーネントと、
を含む、装置。
【請求項２】
請求項１記載の装置において、前記アカウント許可コンポーネントが、更に、
前記要求に関連付けられた範囲および役割を判定し、
前記第１アカウントに関連付けられた前記アカウント情報に基づいて、前記第１アカウントに関連付けられた範囲および役割を判定し、
少なくとも部分的に前記第１アカウントの前記範囲および役割に基づいて、前記要求を許可する、装置。
【請求項３】
請求項２記載の装置において、前記アカウント・プロビジョニング・コンポーネントが、更に、
前記要求に関連付けられた役割および範囲に基づいて、１組の昇格アクセス許可を有する前記第２アカウントの存在を判定し、
前記第２アカウントが存在しないとき、前記サーバー・デバイスへのアクセスのために前記第２アカウントを作成し、
前記サーバー・デバイスへのアクセスのために前記第２アカウントをイネーブルする、装置。
【請求項４】
請求項３記載の装置において、前記アカウント許可コンポーネントが、更に、
前記サーバー・デバイスを含む違反境界へのアクセスを付与するように構成されたセキュリティ・グループを識別し、
前記第２アカウントの前記違反境界におけるサーバー・デバイスへのアクセスをイネーブルするために、前記第２アカウントを前記セキュリティ・グループと関連付ける、装置。
【請求項５】
請求項１記載の装置において、前記１組のサーバー・デバイスが、複数の違反境界にセグメント化され、前記複数の違反境界の各違反境界が、各違反境界内における１組のサーバー・デバイスへのアクセスを付与するように構成された１つのセキュリティ・グループに関連付けられる、装置。
【請求項６】
請求項１記載の装置において、アクセス許可を高めることを求める前記要求が、存続期間と関連付けられ、前記存続期間が、前記サーバー・デバイスへのアクセスをイネーブルする規定時間期間を含み、前記第２アカウントが前記規定時間期間の終了時に自動的にディスエーブルされる、装置。
【請求項７】
請求項１記載の装置において、前記サーバー・デバイスが、前記第１アカウントに関連付けられた１組のアクセス許可よりも高い１組のアクセス許可を要求し、前記第２アカウントが、前記第１アカウントに関連付けられた前記１組のアクセス許可よりも高い１組の上位アクセス許可を有する、装置。
【請求項８】
複数の命令を含む少なくとも１つの機械読み取り可能記憶媒体であって、前記複数の命令が、計算デバイス上において実行されることに応答して、前記計算デバイスに、請求項１から７までのいずれか１項記載の装置を実現させる、少なくとも１つの機械読み取り可能記憶媒体。
【請求項９】
コンピューター実装方法であって、
第１アカウントを有するクライアントからの、１組のサーバー・デバイスにおけるサーバー・デバイスにアクセスするための１組のアクセス許可を有する第２アカウントを求める要求を、クライアント・デバイスを介して受けるステップと、
回路によって、少なくとも部分的に、前記第１アカウントに関連付けられたアカウント情報に基づいて、前記第２アカウントを求める前記要求を許可するステップと、
クライアントが前記サーバー・デバイスにアクセスすることを可能にするために、前記第２アカウントをプロビジョニングするステップと、
前記第２アカウントに関連付けられたアカウント情報を、前記クライアント・デバイスを介して前記クライアントに提供するステップと、
を含む、コンピューター実装方法。
【請求項１０】
請求項９記載のコンピューター実装方法において、
アクセスのために前記第２アカウントをイネーブルするステップが、更に、
前記サーバー・デバイスを含む違反境界へのアクセスを付与するように構成されたセキュリティ・グループを識別するステップと、
前記違反境界における前記サーバー・デバイスへの前記第２アカウントのアクセスをイネーブルするために、前記第２アカウントを前記セキュリティ・グループと関連付けるステップと、
を含む、コンピューター実装方法。
【請求項１１】
請求項９記載のコンピューター実装方法において、前記１組のサーバー・デバイスが、複数の違反境界にセグメント化され、前記複数の違反境界の各違反境界が、違反境界内における１組のサーバー・デバイスへのアクセスを付与するように構成された１つのセキュリティ・グループに関連付けられる、コンピューター実装方法。
【請求項１２】
請求項９から１１までのいずれか１項記載のコンピューター実装方法を実行する手段を含む装置。
【請求項１３】
複数の命令を含む少なくとも１つの機械読み取り可能記憶媒体であって、前記命令が、計算デバイスにおいて実行されることに応答して、請求項９から１１までのいずれか１項記載の方法を前記計算デバイスに実行させる、少なくとも１つの機械読み取り可能記憶媒体。
【請求項１４】
命令を含む少なくとも１つのコンピューター読み取り可能記憶媒体であって、前記命令が実行されると、システムに、
サーバー・デバイスにアクセスするための１組の昇格アクセス許可を有するジャスト・イン・タイム（ＪＩＴ）アカウントを求める要求をクライアント・デバイスから受けさせ、前記クライアント・デバイスが、関連するクライアント・アカウントを有し、
少なくとも部分的に前記クライアント・アカウントに関連付けられたアカウント情報に基づいて、前記ＪＩＴアカウントを求める前記要求を許可させ、
前記サーバー・デバイスへのアクセスをイネーブルするために、前記ＪＩＴアカウントをプロビジョニングさせ、
前記ＪＩＴアカウントに関連付けられたアカウント情報を前記クライアント・デバイスに提供させる、少なくとも１つのコンピューター読み取り可能記憶媒体。
【請求項１５】
請求項１４記載のコンピューター読み取り可能記憶媒体において、前記アカウント情報が、認証トークン管理アプリケーションによって生成されたランダム・パスワードを含み、前記ランダム・パスワードが少なくとも２つの異なるキャラクター・クラスを含む、コンピューター読み取り可能記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  今日、サービスとしてのソフトウェア（ＳａａＳ）システムを設計するために利用可能な種々の方法が速いペースで開発されるため、多数のユーザー（例えば、検査技師、設計者、請負人、内部顧客、および／または外部顧客）が、これらのサービスを日毎に検査、アップグレード、デバッグ、開発、展開、および／または維持するために、ＳａａＳシステムの１つ以上のサービスをホストするサーバーにアクセスすることが必要となると考えられる。多数のユーザーがサーバーへのアクセスを要求するため、各ユーザーにはこれらのサーバーにアクセスするために１つ以上のユーザー・アカウントが付与される場合がある。しかしながら、ユーザー・アカウントの数が増えるに連れて、それに伴うセキュリティ・リスクも増大する。これは、追加のユーザー・アカウント毎に、潜在的なエントリ・ポイントを攻撃者に露出するおそれがあり、その結果攻撃者が不正アクセスを取得するための攻撃表面またはベクトルが増大するからである。これら潜在的なエントリ・ポイントは、あるユーザー・アカウントが、彼らの日々のタスクを実行するために、昇格された特権(elevated privilege)（例えば、管理者特権）を有することができるときに、特に問題となる。攻撃者が最初は昇格された特権を有するユーザー・アカウントへのアクセスができなくても、攻撃者は、例えば、「パス・ザ・ハッシュ攻撃」(pass the hash attack)というような技法を採用して、ＳａａＳシステムのサービスを崩壊させるために、昇格された特権があるユーザー・アカウントへのアクセスを取得する虞がある。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
このような攻撃者による不正アクセスは、業務に著しい危害を生ずる原因となり、顧客にとって深刻なセキュリティおよびプライバシーの問題が発生する虞がある。
【課題を解決するための手段】
【０００３】
[0002]  以下に導入するのは、本明細書において説明する新規な実施形態の基本的な理解を得るための簡略化した摘要である。この摘要は、広範な全体像ではなく、主要な／肝要なエレメントを識別することや、その範囲を明確に定めることを意図するのではない。その唯一の目的は、以下で提示する更に詳細な説明に対する序文として、一部の概念を簡略化した形態で紹介することである。
【０００４】
[0003]  一般に、種々の実施形態は、ジャスト・イン・タイム・プロビジョニング・アカウント即ちＪＩＴアカウントによって、攻撃者の横方向移動(lateral movement)を抑える(contain)ことによりネットワーク・セキュリティを強化する技法を対象とする。ある実施形態は、特に、ＪＩＴアカウントを管理する技法を対象とする。例えば、一実施形態では、装置が、プロセッサー回路と、このプロセッサー回路による実行のためのサーバー・アプリケーションとを含むことができる。サーバー・アプリケーションは、１組のサーバー・デバイスにおける１つのサーバー・デバイスにアクセスするための第２アカウントを求める第１アカウントからの要求を、クライアント・デバイスを介して受けるアカウント管理コンポーネントと、少なくとも部分的に第１アカウントに関連付けられたアカウント情報に基づいて、第２アカウントを求める要求を許可するアカウント許可コンポーネントと、クライアントがサーバー・デバイスにアクセスすることを可能にするために第２アカウントをプロビジョニングするアカウント・プロビジョニング・コンポーネントと、第２アカウントに関連付けられたアカウント情報をクライアントに、クライアント・デバイスを介して、提供するアカウント通知コンポーネントとを含む。他の実施形態についても説明し、特許請求する。
【０００５】
[0004]  以上の目的および関連する目的の遂行のために、本明細書では、以下の詳細な説明および添付図面に関連付けて、ある種の例示的態様(certain illustrative aspect)について説明する。これらの態様は、本明細書において開示する原理を実施することができる種々の方法を示し、その全ての態様および均等物が、特許請求する主題の範囲に該当することを意図している。他の利点および新規な特徴も、以下の詳細な説明を図面と併せて検討することから明白になるであろう。
【図面の簡単な説明】
【０００６】
【図１】図１は、ＪＩＴアカウントをプロビジョニングするＪＩＴアカウント・プロビジョニング・システムの実施形態を示す。
【図２】図２は、１つ以上のリソースおよび／またはアセット(asset)を１つ以上の違反境界(breach boundary)にセグメント化、プロビジョニング、および／または構成するＪＩＴアカウント・プロビジョニング・システムの他の実施形態を示す。
【図３】図３は、クライアントを許可しＪＩＴアカウントに関連付けられた認証トークンを管理するＪＩＴアカウント・プロビジョニング・システムの更に他の実施形態を示す。
【図４Ａ】図４Ａは、ＪＩＴアカウントをプロビジョニングする論理フローの実施形態を示す。
【図４Ｂ】図４Ｂは、昇格されたアクセス許可(elevated access permission)を有するＪＩＴアカウントを求める要求を受けたときに、この要求を許可する論理フローの実施形態を示す。
【図４Ｃ】図４Ｃは、プロビジョニングされたＪＩＴアカウントをイネーブルする論理フローの実施形態を示す。
【図４Ｄ】図４Ｄは、ＪＩＴアカウントに関連付けられたアクセス許可を構成する(configure)論理フローの実施形態を示す。
【図４Ｅ】図４Ｅは、ＪＩＴアカウントに関連付けられた存続期間を管理する論理フローの実施形態を示す。
【図５】図５は、計算アーキテクチャの実施形態を示す。
【発明を実施するための形態】
【０００７】
[0014]  種々の実施形態は、違反境界(breach boundaries)および資格証明書(credential)の分割を実施することによって、アイデンティティ(identity)のセグメンテーションを設けるように構成されたネットワーク・アカウント・プロビジョニング・システムを対象とする。違反境界を利用し、ＳａａＳシステムに関連付けられた１つ以上のリソースおよび／またはアセットをサービスし、管理し、および／または利用するクライアントにジャスト・イン・タイム（ＪＩＴ）アカウントを与えることによって、ＳａａＳシステムのセキュリティおよびプライバシーを著しく高めることができる。これらおよびその他の改良を達成するために、ネットワーク・アカウント・プロビジョニング・システムは、大まかには、ＳａａＳシステムの少なくとも一部（例えば、ドメイン）を、２つ以上の違反境界に分割またはセグメント化するように構成することができる。ここで、各違反境界には、１つ以上のリソースおよび／またはアセット（例えば、サーバー、ワークステーション、計算デバイス、移動体デバイス、アプリケーション、サービス、および／またはソフトウェア／ハードウェア・コンポーネント）と関連付けることができ、更に違反境界内においてこれらのリソースに対するアクセス許可を管理するように構成されたセキュリティ・グループにも関連付けることができる。
【０００８】
[0015]  これらのリソースおよび／またはアセットに対するクライアント（例えば、ユーザー、技術者、請負人、顧客、および／またはソフトウェア／ハードウェア・コンポーネント）のアクセスを可能にするために、ＪＩＴアカウント・プロビジョニング・システムは、更に、これらのリソースおよび／またはアセットを含む違反境界に関連付けられたセキュリティ・グループにおけるメンバーとして、１つ以上のＪＩＴアカウントを追加するように構成することができる。このように、ＪＩＴアカウントは、低い方または最も低い特権および／または許可を有する既存のアカウントを持つクライアントが、実行するためには昇格された特権を必要とする可能性がある１つ以上のサービス（例えば、ＳａａＳシステムの１つ以上のリソースを検査、アップグレード、デバッグ、開発、展開、および／または管理する）を実行するために、昇格された特権のＪＩＴアカウントを得ることを可能にすることができる。
【０００９】
[0016]  ＳａａＳシステムにおいて１つ以上のリソースおよび／またはアセットに対して１つ以上のサービスを実行するために昇格された特権のＪＩＴアカウントを得るために、ＪＩＴアカウント・プロビジョニング・システムは、ＳａａＳシステムのリソースおよび／またはアセットにアクセスするために昇格アクセス許可(elevated access permission)を求めるクライアントからの要求を受けるように構成することができる。これに応答して、ＪＩＴアカウント・プロビジョニング・システムは、昇格アクセス許可を求める要求の一部として、ＪＩＴアカウントをプロビジョニングするように構成することができる。更に、各要求には、クライアントによって供給される、要求役割／範囲(required role and scope)と関連付けることができるので、ＪＩＴアカウント・プロビジョニング・システムは、クライアントによって要求されたタスクまたはサービスを実行するために必要とされる最小範囲の許可を、各ＪＩＴアカウントにプロビジョニングすることができる。
【００１０】
[0017]  一旦要求が他のクライアントによって承認されたなら、および／または、自動的にＪＩＴアカウント・プロビジョニング・システムによって認証されたなら、ＪＩＴアカウント・プロビジョニング・システムは、更に、この承認に応答して、要求役割／範囲に合わせたＪＩＴアカウントを作成するように構成することができる。クライアントに関連付けられたＪＩＴアカウントが既に存在する場合、ＪＩＴアカウント・プロビジョニング・システムは、クライアントによって要求されたのと同じまたは実質的に同様の役割および範囲に合わせて既に作成されている既存のＪＩＴアカウントを再利用するように構成することができる。以前に作成されたＪＩＴアカウントの再利用と合わせて、ＪＩＴアカウントをプロビジョニングするのを省略する(lazy provisioning)ことによって、ＪＩＴアカウント・プロビジョニング・システムが管理することを要求される可能性があるＪＩＴアカウントの数を大幅に減らすことができる。
【００１１】
[0018]  要求が認証されたか、承認されたか、および／または拒否されたか否かクライアントに知らせるために、ＪＩＴアカウント・プロビジョニング・システムは、更に、アクセス許可が昇格されたＪＩＴアカウントを求めた要求が認証されたか、承認されたか、および／または拒否されたかの通知をクライアントに供給するように構成することができる。アクセス許可が昇格されたＪＩＴアカウントを求めた要求が認証されたおよび／または承認された場合、ＪＩＴアカウント・プロビジョニング・システムは、更に、承認に関してクライアントに通知し、プロビジョニングされたＪＩＴアカウントに関連付けられたＪＩＴアカウント情報を提供することができる。次いで、クライアントは、このＪＩＴアカウント情報を使用して、昇格アクセス許可によって、プロビジョニングされたＪＩＴアカウントの役割および範囲内で１つ以上のリソースおよび／またはアセットにアクセスするおよび／またはサービスすることができる。
【００１２】
[0019]  ＳａａＳシステムのセキュリティおよびプライバシーを更に確保するために、ＪＩＴアカウント・プロビジョニング・システムは、更に、各ＪＩＴアカウントを存続期間（例えば、４時間）と関連付け、各ＪＩＴアカウントがそれらに関連付けられた存続期間の終了時にはディスエーブルされることが可能となるように構成することができる。各アカウントに関連付けられる存続期間は、クライアントによって、それらのＪＩＴアカウントを求める要求において、明示的に示すことができる。これに加えて、またはその代わりに、存続期間は、特定のＪＩＴアカウントに関連付けられた範囲および役割に対して内在的であってもよい。長い時間期間（例えば、１か月）にわたってインアクティブのままであった１つ以上のＪＩＴアカウントに対して、ＪＩＴアカウント・プロビジョニング・システムは、更に、これらのインアクティブなＪＩＴアカウントをＪＩＴアカウント・プロビジョニング・システムから削除または放出する(destroy)ように構成することもできる。
【００１３】
[0020]  その結果、ＪＩＴアカウント・プロビジョニング・システムは、攻撃者の違反境界間における横方向移動を制限し、攻撃者を１つの違反境界に閉じ込めて、攻撃者がＪＩＴアカウントを漏洩する(compromise)ことによって行うことができる最良のことが、同じ影響の範囲内におけるリソースおよび／またはアセット間の横方向移動となるようにすることによって、ＳａａＳシステムのセキュリティおよびプライバシーを高めることができる。また、ＪＩＴアカウント・プロビジョニング・システムは、クライアントに関連付けられた既存のクライアント・アカウントをいずれも、攻撃者にとって興味をそそらないものにする。これは、既存のクライアント・アカウントが一般に低い方または最も低いレベルのアクセス許可に制限され、アクセス許可が昇格されたＪＩＴアカウントを求める要求は、いずれも事前の承認を必要とするかもしれないからである。アクセス許可が昇格されたＪＩＴアカウントが漏洩した場合であっても、攻撃者は１つの違反境界に閉じ込められ、彼らのアクセスは、ＪＩＴアカウントがディスエーブルされるまでの限定された存続期間しかない。このように、ＳａａＳシステムのセキュリティおよびプライバシーを大幅に高めることができる。
【００１４】
[0021]  本明細書において使用される観念および用語について概略的に参照したので、以下に続く詳細の説明では、コンピューターまたはコンピューターのネットワークにおいて実行されるプログラム手順について紹介することができよう。これらの手順についての説明および表現は、当業者が彼らの作業の実体(substance)を最も効果的に他の当業者に伝えるために使用される。
【００１５】
[0022]  ここでは、手順とは、一般に、所望の結果に至る動作の自己無撞着な(self-consistent)シーケンスであると考える。これらの動作は、物理量の物理的操作を必要とするものである。必ずという訳ではないが、大抵の場合、これらの量は、格納、転送、組み合わせ、比較、およびそれ以外の操作をすることができる電気、磁気、または光信号の形態をなす。これらの信号をビット、値、エレメント、シンボル、キャラクター、用語(terms)、数値等と呼ぶことが、主に共通使用の理由のために、ときには便利であることが分かる。しかしながら、注記すべきは、これらおよび同様の用語は全てしかるべき物理量と関連付けられるはずであり、これらの量に適用される便利な呼称に過ぎないということである。
【００１６】
[0023]  更に、実行される操作は、多くの場合、加算または比較というような用語で引用されるが、一般に、人の操作者によって実行される精神的動作に関連付けられる。本明細書において説明される動作が１つ以上の実施形態の一部をなすときはいずれも、殆どの場合、このような人の操作者の能力は必要ではなく、望ましくもない。むしろ、これらの動作は機械動作である。種々の実施形態の動作を実行する有用な機械には、汎用ディジタル・コンピューターまたは同様のデバイスが含まれる。
【００１７】
[0024]  また、種々の実施形態は、これらの動作を実行する装置またはシステムにも関する。この装置は、必要とされる目的に合わせて特別に組み立てることができ、または汎用コンピューターを含み、このコンピューターに格納されたコンピューター・プログラムによって選択的に作動させる(activate)または再構成することもできる。本明細書において紹介する手順は、本質的に、特定のコンピューターや他の装置に関係がない。種々の汎用マシンを、本明細書における教示にしたがって書かれたプログラムと共に使用することもでき、また、必要とされる方法ステップを実行するように、更に特殊化された装置を組み立てることも便利な場合もある。種々のこれらのマシンに必要とされる構造は、以下で行う説明に現れるであろう。
【００１８】
[0025]  これより図面を参照するが、図面においては、同様のエレメントを指すために同様の参照番号が全体を通じて使用される。以下の説明では、説明の目的に限って、完全な理解を得るために多数の具体的な詳細について明記する。しかしながら、新規な実施形態はこれらの具体的な詳細がなくても実施可能であることは明白であろう。他方で、周知の構造およびデバイスは、その説明を容易にするために、ブロック図形状で示される。その意図は、特許請求する主題と一致する全ての変更、均等、および代替を範囲に含めることである。
【００１９】
[0026]  図１は、ＪＩＴアカウント・プロビジョニング・システム１００の実施形態を示す。種々の実施形態において、ＪＩＴアカウント・プロビジョニング・システム１００は、１つ以上のクライアント１０２−ａ（例えば、ユーザー、技術者、請負人、顧客、および／またはソフトウェア／ハードウェア・コンポーネント）を含む企業用計算環境１５０（例えば、クラウド・ストレージ・システム、データー・センター等）において、またはこれらと共に実現することができる。ここで、各クライアント（例えば、クライアント１０２−１または１０２−２）には１つ以上のクライアント・アカウントを関連付けることができ、１つ以上のクライアント・アカウントの各クライアント・アカウントに更にクライアント・アカウント情報を関連付けることができる。クライアント・アカウント情報は、限定ではなく、クライアント・アカウント認証情報（例えば、ユーザー・プリンシパル名（ＵＰＮ：user-principal-name)、アカウント識別子、アカウント・パスワードあるいはそのハッシュおよび／またはソルトされた派生物、アカウント・ドメイン、スマート・カード証明書、生物計量(biometrics)等）、クライアント・アカウント許可情報（例えば、クライアント・アカウント役割／範囲情報、アクセス許可、関連グループ等）、および／または１つ以上のクライアント１０２−ａの認証および許可に関連する任意のその他の情報を含むことができる。
【００２０】
[0027]  １つ以上のクライアント１０２−ａは、例えば、１つ以上のＳａａＳシステムの１つ以上のサービスを提供するように構成されたサーバー・デバイス１４０−ｉ−ｊ（例えば、ＭＩＣＲＯＳＯＦＴ Ｏｆｆｉｃｅ ３６５、ＭＩＣＲＯＳＯＦＴ Ｅｘｃｈａｎｇｅ Ｏｎｌｉｎｅ，ＭＩＣＲＯＳＯＦＴ ＳｈａｒｅＰｏｉｎｔ Ｏｎｌｉｎｅ、ＭＩＣＲＯＳＯＦＴ Ｄｙｎａｍｉｃｓ ＣＲＭ等）のような、１つ以上のリソースおよび／またはアセットをサービスするための昇格アクセス許可を有するＪＩＴアカウントを要求するために、１つ以上のクライアント・アカウントを利用することができる。サーバー・デバイス１４０−ｉ−ｊは、更に、互いの間で、ネットワーク相互接続１１２を介して、ＳａａＳシステムのサービスを提供するために、相互接続されることも可能である。尚、サーバー・デバイス１４０−ｉ−ｊは、種々の実施形態では、限定ではなく単なる例示のために引用されるに過ぎないことは認めることができよう。したがって、種々の実施形態におけるサーバー・デバイス１４０−ｉ−ｊの内任意のものまたは全てを、例えば、仮想デバイス、ワークステーション、計算デバイス、移動体デバイス、アプリケーション、サービス、および／または他のソフトウェア／ハードウェア・コンポーネントのような任意の他のリソースおよび／またはアセットと交換してもよい。
【００２１】
[0028]  また、「ａ」および「ｂ」および「ｃ」ならびに同様の符号(designator)は、本明細書において使用される場合、任意の正の整数を表す変数であることを意図することも注記するに値する。つまり、例えば、ある実施態様がａ＝２と値を設定した場合、完全な１組のクライアント１０２−ａは、クライアント１０２−１および１０２−２を含むことができる。他の例では、ある実施態様がｉ＝１およびｊ＝６と値を設定した場合、完全な１組のサーバー・デバイス１４０−ｉ−ｊは、サーバー・デバイス１４０−１−１、１４０−１−２、１４０−１−３、１４０−１−４、１４０−１−５、および１４０−１−６を含むことができる。実施形態はこの文脈において限定されることはない。
【００２２】
[0029]  ＪＩＴアカウント・プロビジョニング・システム１００は、ネットワーク相互接続１１２を介して１つ以上のＳａａＳシステムのサーバー・デバイス１４０−ｉ−ｊにサービスするために（例えば、ＳａａＳシステムの１つ以上のリソースおよび／またはアセットを検査、アップグレード、デバッグ、開発、展開、および／または維持する）、クライアント１０２−ａによって使用される１つ以上のクライアント・デバイス１０４−ｂ（例えば、ラップトップ、コンピューター、電話機、ワークステーション、または任意の他の計算デバイス）を含むことができる。更に、企業用計算環境１５０におけるネットワーク相互接続１１２は、種々のデバイス、コンポーネント、アプリケーション、サーバー、リソース、および／またはアセット間において、１つ以上のネットワーク（例えば、イントラネットおよび／またはインターネット）を通じて、１つ以上のネットワーク・デバイス（例えば、リピーター、ブリッジ、ハブ、スイッチ、ルーター、ゲートウェイ、ロード・バランサー等）を利用して、ネットワーク接続を設けるように構成することができる。
【００２３】
[0030]  ＪＩＴアカウント・プロビジョニング・システム１００は、１つ以上のディレクトリ・サービス・サーバー・デバイス１３０−ｌを含むか、またはこれと統合されてもよい。ディレクトリ・サービス・サーバー・デバイス１３０−ｌは、大まかには、サーバー・デバイス１４０−ｉ−ｊを１つ以上の論理グループ、論理サブグループ、および／または論理サブ・サブグループ（例えば、フォーレスト１３２−ｋ、ドメイン１３６−ｄ、および／または組織的ユニット１３４−ｅ−ｆ）の階層に編成するために、アプリケーションの中でもとりわけディレクトリ・サービス・アプリケーション（図示せず）を実行するように構成することができる。また、ディレクトリ・サービス・サーバー・デバイス１３０−ｌは、ディレクトリ・サービス情報を含む１つ以上のディレクトリ・サービス・データーストア（図示せず）において階層を格納するように構成することもできる。
【００２４】
[0031]  １つ以上のディレクトリ・サービス・サーバー・デバイス１３０−ｌが、１つ以上のリソースおよび／またはアセットにアクセスするためのＪＩＴアカウントを使用して、１つ以上のクライアント１０２−ａからのアクセス要求を認証することができるように、ディレクトリ・サービス情報は、１つ以上のＪＩＴアカウントに関連付けられたＪＩＴアカウント情報を含むとよい。ＪＩＴアカウント情報は、限定ではなく、ＪＩＴアカウント認証情報（例えば、ユーザー・プリンシパル名（ＵＰＮ）、アカウント識別子、アカウント・パスワードあるいはそのハッシュおよび／またはソルトされた派生物、アカウント・ドメイン、スマート・カード証明書、生物計量等）、ＪＩＴアカウント許可情報（例えば、ＪＩＴアカウント役割／範囲情報、ＪＩＴアカウント・アクセス許可、ＪＩＴアカウント関連グループ等）、ＪＩＴアカウント存続期間情報（例えば、ＪＩＴアカウントの存続期間）、ディレクトリ・サービス情報（例えば、ＪＩＴアカウントに関連付けられたディレクトリ・サービス・サーバー・デバイス）、および／または１つ以上のＪＩＴアカウントの認証、許可、および存続期間に関連する任意の他の情報を含むことができる。
【００２５】
[0032]  種々の実施形態において、各ディレクトリ・サービス・サーバー・デバイス（例えば、ディレクトリ・サービス・サーバー・デバイス１３０−１）は、ディレクトリ・サービス・アプリケーション（図示せず）を含むまたは実装することができる。ディレクトリ・サービス・アプリケーションの具体例には、ＭＩＣＲＯＳＯＦＴ Ａｃｔｉｖｅ Ｄｉｒｅｃｔｏｒｙ、ＮＯＶＥＬＬ ｅＤｉｒｅｃｔｏｒｙ、ＡＰＰＬＥ Ｏｐｅｎ Ｄｉｒｅｃｔｏｒｙ、ＯＲＡＣＬＥ Ｉｎｔｅｒｎｅｔ Ｄｉｒｅｃｔｏｒｙ（ＯＩＤ）、ＩＢＭ Ｔｉｖｏｌｉ Ｄｉｒｅｃｔｏｒｙ Ｓｅｒｖｅｒ、あるいはＤｉｒｅｃｔｏｒｙ Ａｃｃｅｓｓ Ｐｒｏｔｏｃｏｌ（ＤＡＰ）、軽量Ｄｉｒｅｃｔｏｒｙ Ａｃｃｅｓｓ Ｐｒｏｔｏｃｏｌ（ＬＤＡＰ）、および／または国際通信連合（ＩＴＵ）電気通信標準化部門（ＩＴＵ−Ｔ）によって公表されたＸ．５００規格を実施する任意の他のアプリケーションを含むことができるが、これらに限定されるのではない。
【００２６】
[0033]  例示として、ディレクトリ・サービス・サーバー・デバイス１３０−１は、ＭＩＣＲＯＳＯＦＴ Ａｃｔｉｖｅ Ｄｉｒｅｃｔｏｒｙの少なくとも一部（例えば、Ａｃｔｉｖｅ Ｄｉｒｅｃｔｏｒｙ Ｄｏｍａｉｎ Ｓｅｒｖｉｃｅ、Ａｃｔｉｖｅ Ｄｉｒｅｃｔｏｒｙ Ｄｏｍａｉｎ Ｃｏｎｔｒｏｌｌｅｒ、Ａｃｔｉｖｅ Ｄｉｒｅｃｔｏｒｙ Ｄａｔａｓｔｏｒｅ等）を含むか、または実装することができる。１つ以上のディレクトリ・サービス・サーバー・デバイス１３０−ｌの各ディレクトリ・サービス・サーバー・デバイス（例えば、ディレクトリ・サービス・サーバー・デバイス１３０−１）は、例えば、フォーレスト１３２−１のような最上位の論理グループを管理するように構成することができる。１つ以上のフォーレスト１３２−ｋは、１つ以上のそれよりも低い論理グループ、例えば、ドメイン１３６−ｄのような、例えば、論理サブグループを含むことができる。１つ以上のドメイン１３６−ｄの各ドメイン（例えば、ドメイン１３６−１）は、それよりも低いレベルの論理グループ、例えば、編成ユニット１３４−ｅ−ｆのような、例えば、論理サブ・サブグループを管理するように構成することができる。随意に、ドメイン１３０−ｄは、更に、例えば、ツリー（図示せず）のような、フォーレスト１３２−ｋとドメイン１３６−ｄとの間において１つ以上の中間論理グループに論理的にグループ化されてもよい。１つ以上の編成ユニット１３４−ｅ−ｆの各編成ユニット（例えば、編成ユニット１３４−１−１）は、例えば、サーバー・デバイス１４０−ｇ−ｈのような、１つ以上のリソースおよび／またはアセットを含むことができる。
【００２７】
[0034]  尚、種々の実施形態において、フォーレスト１３２−ｋ、ドメイン１３６−ｄ、および／または編成ユニット１３４−ｅ−ｆは、限定ではなく例示の目的で引用されるに過ぎないことは認めることができよう。したがって、種々の実施形態において、フォーレスト１３２−ｋ、ドメイン１３６−ｄ、および／または編成ユニット１３４−ｅ−ｆの内任意のもの、または全ては、所与の実施態様に合わせたそれらの実質的な均等物と置き換えられてもよい。例えば、ディレクトリ・サービス・サーバー・デバイス１３０ーｌがＮＯＶＥＬＬ ｅＤｉｒｅｃｔｏｒｙの少なくとも一部を含むまたは実装する一実施態様では、フォーレスト１３２−ｋ、ドメイン１３６−ｄ、および編成ユニット１３４−ｅ−ｆは、それぞれ、ＮＯＶＥＬＬ ｅＤｉｒｅｃｔｏｒｙにおいて実施されるように、ツリー、パーティション、および編成ユニットと置き換えることができる。実施形態はこの文脈において限定されることはない。
【００２８】
[0035]  攻撃者の横方向移動を抑える(contain)ために、ＪＩＴアカウント・プロビジョニング・システム１００の各ドメイン（例えば、ドメイン１３６−１）は、更に、１つ以上の違反境界１３８−ｇ−ｈを含むことができる。例えば、ドメイン１３６−１は、違反境界１３８−１−１および１３８−１−２を含むことができる。加えて、ある実施態様では、違反境界１３８−ｇ−ｈは、１つ以上の編成ユニット１３４−ｅ−ｆとは独立であることもできる。例えば、ドメイン１３６−１において、編成ユニット１３４−１−１、１３４−１−２、１３４−１−３が、違反境界１３８−１−１および１３８−１−２の間に広がることができ、違反境界１３８−１−１のような１つの違反境界が、３つの全ての編成ユニット１３４−１−１、１３４−１−２、１３４−１−３からの、例えば、サーバー・デバイス１４０−１−１、１４０−１−２、１４０−２−３のようなリソースおよび／またはアセットを含むようにすることができる。例えば、ドメイン１３６−ｄのような他のドメインでは、例えば、違反境界１３８−ｇ−ｌのような１つの違反境界が、１つの編成ユニット１３４−ｅ−ｌからの、例えば、サーバー・デバイス１４０−ｉ−１、１４０−ｉ−４のような、リソースおよび／またはアセットを含むように、違反境界１３８−ｇ−１のような違反境界１３８−ｇ−ｈが、例えば、編成ユニット１３４−ｅ−ｌのような編成ユニット１３４−ｅ−ｆと共存することができる。
【００２９】
[0036]  １つ以上の違反境界１３８−ｇ−ｈは、一般に、１つ以上のディレクトリ・サービス・サーバー・デバイス１３０−ｌによって管理され、セキュリティ境界に関連付けることができる１つ以上のＪＩＴアカウントに対する１組のアクセス許可を付与しまたは与えて、１つ以上のＪＩＴアカウントがこのセキュリティ境界内において１つ以上のリソースおよび／またはアセットにアクセスできるように構成することができる。更に、ＪＩＴアカウントにアクセスできる攻撃者が「パス・ザ・ハッシュ攻撃」を利用して１つ以上の違反境界１３８−ｇ−ｈの間で移動できないことを確保するために、１つ以上の違反境界１３８−ｇ−ｈの各違反境界（例えば、違反境界１３８−１−１および１３８−１−２）は、更に、相互に排他的な、即ち、重複しない１組のリソースおよび／またはアセットを含み、いずれの違反境界１３８−ｇ−ｈの間にも重複がないように構成することができる。
【００３０】
[0037]  ＪＩＴアカウント・プロビジョニング・システム１００は、サーバー・デバイス１０８を含むことができる。サーバー・デバイス１０８は、大まかには、アプリケーションの中でもとりわけディレクトリ・サービス・アプリケーション１１０を実行するように構成することができる。ディレクトリ・サービス・アプリケーション１１０は、大まかには、クライアント１０２−ａの１つ以上のクライアント・アカウントに関連付けられたクライアント・アカウント情報を格納し提供するように構成することができる。また、ディレクトリ・サービス・アプリケーション１１０は、組織階層情報を格納するように構成することもできる。組織階層情報は、１つ以上のクライアント１０２−ａがメンバーまたは会員（例えば、会社）となることができる組織の階層構造を含むことにより、１つ以上のクライアント１０２−ａの任意のスーパーバイザーおよび／またはマネージャを識別することができる。ディレクトリ・サービス・アプリケーション１１０は、更に、ａｄｍｉｎ管理アプリケーション１１４を介して、昇格アクセス許可を有するＪＩＴアカウントを要求する１つ以上のクライアント１０４−ａを認証するように、または認証を補助するように構成することもできる。ディレクトリ・サービス・アプリケーションの具体例または実施態様には、ディレクトリ・サービス・サーバー・デバイス１３０−ｌに関して先に論じたものを含むことができるが、それらに限定されるのではない。
【００３１】
[0038]  昇格アクセス許可を有するＪＩＴアカウントを要求する１つ以上のクライアント１０２−ａを認証するため、またはその認証を容易にするために、ディレクトリ・サービス・アプリケーション１１０は、昇格アクセス許可を要求する１つ以上のクライアント１０２−ａを認証するために、ａｄｍｉｎ管理アプリケーション１１４に対して１つ以上のアプリケーション・プログラム・インターフェース（ＡＰＩ）を露出および／または実装することもできる。例えば、ａｄｍｉｎ管理アプリケーション１１４は、ネットワーク相互接続１１２を介して、１つ以上のＡＰＩ、および／または１つ以上のローカル手順コール（ＬＰＣ）、および／またはディレクトリ・サービス・アプリケーション１１０のリモート手順コール（ＲＰＣ）メカニズムを利用することによって、昇格アクセス許可を要求する１つ以上のクライアント１０２−ａを認証することができる。ＡＰＩの具体例には、ＡＤＰ ＡＰＩ、ＬＡＤＰ ＡＰＩ、ＭＩＣＲＯＳＯＦＴ Ａｃｔｉｖｅ Ｄｉｒｅｃｔｏｒｙ Ｓｅｒｖｉｃｅ Ｉｎｔｅｒｆａｃｅ（ＡＤＳＩ） ＡＰＩ、ＭＩＣＲＯＳＯＦＴ Ｍｅｓｓａｇｉｎｇ ＡＰＩ（ＭＡＰＩ）、ＭＩＣＲＯＳＯＦＴ Ｄｉｒｅｃｔｏｒｙ Ｓｙｓｔｅｍ Ａｇｅｎｔ（ＤＳＡ）ＡＰＩ、および／またはクライアント１０２−ａの認証を可能にする任意の他のＡＰＩを含むことができるが、これらに限定されるのではない。
【００３２】
[0039]  ＪＩＴアカウント・プロビジョニング・システム１００は、サーバー・デバイス１０６を含むことができる。サーバー・デバイス１０６は、大まかには、アプリケーションの中でもとりわけａｄｍｉｎ管理アプリケーション１１４を実行するように構成することができる。ａｄｍｉｎ管理アプリケーション１１４は、大まかには、１つ以上のクライアント１０２−ａからのアクセス許可を高めるための要求を受け、クライアント１０２−ａから受けた１つ以上の要求を認証するように構成することができる。加えて、ａｄｍｉｎ管理アプリケーション１１４は、更に、クライアント１０２−ａによって要求された、昇格アクセス許可を有する１つ以上のＪＩＴアカウントを管理、許可、およびプロビジョニングし、プロビジョニングされるＪＩＴアカウントに関連付けられたＪＩＴアカウント情報をクライアント１０２−ａに通知するように構成することができる。
【００３３】
[0040]  種々の実施形態では、ａｄｍｉｎ管理アプリケーション１１４はアカウント管理コンポーネント１１６を含むことができる。アカウント管理コンポーネント１１６は、大まかには、昇格アクセス許可を有するＪＩＴアカウントを要求する１つ以上のクライアント１０２−ａを認証し、リソースおよび／またはアセットにおいて１つ以上のアクションまたはタスクを実行するためにアクセス許可を高めるための１つ以上の要求を、クライアント・デバイス１０４−ｂを介して１つ以上のクライアント１０２−ａから受けるように構成することができる。
【００３４】
[0041]  例示として、アカウント管理コンポーネント１１６は、クライアント１０２−１が昇格アクセス許可を有するＪＩＴアカウントを要求することを可能にする前に、クライアント１０２−１がａｄｍｉｎ管理アプリケーション１１４に対して認証することを可能にすることができる。クライアント１０２−１を認証することを可能にするために、アカウント管理コンポーネント１１６は、クライアント・アカウント情報の少なくとも一部（たとえば、アカウント識別子および／またはアカウント・パスワード）をクライアント１０２−１に要求する、および／またはクライアント１０２−１から受けることができる。受けたクライアント・アカウント情報をクライアント１０２−１のクライアント・アカウントと関連付けることもできる。アカウント管理コンポーネント１１６は、クライアント・アカウント情報（例えば、ＵＰＮ、アカウント識別子、および／またはパスワード）を、クライアント・デバイス１０４−１の１つ以上のアプリケーションおよび／またはコンポーネント（例えば、計算デバイスのウェブ・ブラウザー）を介して受けることができる。受けたクライアント・アカウント情報に応答して、アカウント管理コンポーネント１１６は、少なくとも部分的に受けたクライアント・アカウント情報、および既に格納されておりディレクトリ・サービス・アプリケーション１１０によってアクセス可能なクライアント・アカウント情報に基づいて、クライアント１０２−１を認証することができる。更に、既に格納されておりディレクトリ・サービス・アプリケーション１１０によってアクセス可能なクライアント・アカウント情報に少なくとも部分的に基づいてクライアント１０２−１を認証するために、アカウント管理コンポーネント１１６は、ネットワーク相互接続１１２およびディレクトリ・サービス・アプリケーション１１０の１つ以上のＡＰＩを介して利用するように構成することができる。
【００３５】
[0042]  以上の例を続けると、一旦クライアント１０２−１が認証されたなら、アカウント管理コンポーネント１１６は、クライアント１０２−１がＪＩＴアカウント要求情報を入力することを可能にするように構成することができる。ＪＩＴアカウント要求情報は、実行される１つ以上のアクションまたはタスク、１つ以上のサーバー・デバイス１４０−ｉ−ｊ、および１つ以上のアクションまたはタスクに関連付けられた要求存続期間情報(requested lifetime information)を含むことができるが、これらに限定されるのではない。要求存続期間情報は、ＪＩＴアカウントが失効しディスエーブルされるときの具体的な時刻または時間の経過(elapse of time)、および／またはＪＩＴアカウントが削除されるときの具体的な時刻または時間の経過を含むことができるが、これに限定されるのではない。
【００３６】
[0043]  加えてまたは代わりに、アカウント管理コンポーネント１１６は、ＪＩＴアカウントに関連付けられた存続期間が所定の時間量（例えば、分、時間、日、週、年等の単位）を超えることができないように、１つ以上のクライアント１０２−ａから受ける要求存続期間情報を上限値に制限するように構成することもできる。一実施形態例では、アカウント管理コンポーネント１１６は、７２時間（例えば、４日）よりも長い存続期間のＪＩＴアカウントを求めるいずれの要求も７２時間即ち３日に制限されるように、昇格アクセス許可を有するＪＩＴアカウントに対して要求される存続期間情報を７２時間即ち３日の上限値に制限することができる。実施形態は、この文脈において限定されることはない。
【００３７】
[0044]  加えてまたは代わりに、アカウント管理コンポーネント１１６は、企業用計算環境１５０に関連付けられた１つ以上の既定の役割および範囲を設け、実行されるアクションまたはタスク、およびこれらのアクションまたはタスクが実行されることになるリソースおよび／またはアセットに基づいて、１つ以上のクライアント１０２−ａが１つ以上の既定の役割および範囲を選択することを可能にするように構成することもできる。
【００３８】
[0045]  実行されるアクションまたはタスクの例には、リモート・アプリケーション・デバッグ、アプリケーションのバックアップ、アプリケーションのアップグレードおよび／または保守、サーバーのアップグレードおよび／または保守、検査、および／または１つ以上のリソースおよび／またはアセットのアクセスおよび／または変更を必要とするかもしれない任意の他のアクションまたはタスクを含むことができるが、これらに限定されるのではない。要求存続期間情報の例には、ＪＩＴアカウントがイネーブルされたままでいることができる日数、分数、時間数、および／または秒数、および／またはＪＩＴアカウントがイネーブルされたままでいることができる前の具体的な時間および日付けを含むことができるが、これに限定されるのではない。
【００３９】
[0046]  種々の実施形態において、ａｄｍｉｎ管理アプリケーション１１４は、更に、アカウント許可コンポーネント１１８も含むことができる。アカウント許可コンポーネント１１８は、大まかには、要求役割／範囲情報、ならびにクライアント・アカウント役割／範囲情報を判定するように構成することができる。更に、アカウント許可コンポーネント１１８は、クライアント・アカウント役割／範囲情報をクライアントに提供し、要求役割／範囲情報ならびにクライアント・アカウント役割／範囲情報に基づいて、アクセス許可を高める要求を許可するように構成することができる。
【００４０】
[0047]  一実施形態では、アカウント許可コンポーネント１１８は、受けたＪＩＴアカウント要求情報、およびディレクトリ・サービス・サーバー・デバイス１３０−ｌによって提供されるディレクトリ・サービス情報に少なくとも部分的に基づいて、要求役割／範囲情報を判定するように構成することができる。要求役割／範囲情報を判定するために、アカウント管理コンポーネント１１６は、１つ以上のクライアント・デバイス１０４−ｂを介して１つ以上のクライアント１０２−ａによって与えられる要求アクションまたはタスクに基づいて、１つ以上の要求される役割を識別するように構成することができる。
【００４１】
[0048]  要求範囲を判定するために、アカウント許可コンポーネント１１８は、更に、ディレクトリ・サービス・サーバー・デバイス１３０−ｌと通信して、クライアント１０２−ａがアクションまたはタスクを実行するために要求したリソースおよび／またはアセットを含むセキュリティ境界を識別するように構成することができる。要求役割の例には、アドミニストレーター、バックアップ・オペレーター、デバッガー、リモート・ユーザー、テスター等を含むことができるが、これらに限定されるのではない。尚、各役割には、更に、１つ以上のリソースおよび／またはアセット、および／または１つ以上のリソースおよび／またはアセットのコンポーネントに対するアクセスを付与および／または拒否することができる１組のアクセス許可を関連付けることもできることは認めることができよう。要求範囲の例には、１つ以上のサーバー・デバイス１４０−１−１、１４０−１−２、１４０−１−３、あるいは他のリソースおよび／またはアセット、および／またはリソースおよび／またはアセットのコンポーネントを含むことができるが、これらに限定されるのではない。
【００４２】
[0049]  例示として、クライアント１０２−１がサーバー・デバイス１４０−１−１においてリモート・アプリケーション・デバックを実行することを要求すると、アカウント許可コンポーネント１１８によって判定され更に要求されたアクションまたはタスクに関連付けられた要求役割／範囲情報は、リモート・ユーザーおよびデバッガーという役割を含むことができ、範囲は違反境界１３８−１−１を含むことができる。加えてまたは代わりに、アカウント管理コンポーネント１１６が簡単にそして容易に、受けたＪＩＴアカウント要求情報に基づいて、要求役割／範囲情報を判定できるように、クライアント１０２−１から受けたＪＩＴアカウント要求情報が、アカウント管理コンポーネント１１６に関して先に論じた１つ以上の既定の役割および範囲のクライアントの選択を含むこともできる。
【００４３】
[0050]  一実施形態では、アカウント許可コンポーネント１１８は、更に、ネットワーク相互接続１１２およびディレクトリ・サービス・アプリケーション１１０の１つ以上のＡＰＩを介して利用することによってクライアント・アカウント役割／範囲情報を判定し、アクセス許可が昇格されたＪＩＴアカウントを要求する１つ以上のクライアント１０２−ａに関連付けられたクライアント・アカウント役割／範囲情報を引き出すように構成することができる。これに加えてまたはその代わりに、アカウント許可コンポーネント１１８は、更に、クライアント・デバイス１０４−ｂを介して１つ以上のクライアント１０２−ａから要求役割およびクライアント情報を受ける前に、アカウント通知コンポーネント１２２を介して、１つ以上のクライアント１０２−ａに関連付けられた、引き出されたクライアント・アカウント役割／範囲情報を提供するように構成することもできる。これによって、１つ以上のクライアント１０２−ａが、それらのクライアント・アカウント役割／範囲情報の範囲内である、またはこれと適合する(in comport with)要求役割／範囲情報を提供することを可能にすることができる。
【００４４】
[0051]  一旦クライアント・アカウント役割／範囲情報がディレクトリ・サービス・アプリケーション１１０から引き出されたなら、アカウント許可コンポーネント１１８は、少なくとも部分的に、要求された役割および範囲が、ＪＩＴアカウントを要求したクライアント１０２−ａに関連付けられたクライアント・アカウント役割の範囲内か、またはこれと適合するか否かに基づいて、自動的に、昇格アクセス許可を求める要求を許可することができる。クライアントによって要求された役割および範囲が、このクライアントに関連付けられたクライアント・アカウント役割および範囲と同等またはその範囲内である場合、アカウント許可コンポーネント１１８は、昇格アクセス許可を有するＪＩＴアカウントを求める要求を許可するように構成することができる。そうでない場合、アカウント許可コンポーネント１１８は、昇格アクセス許可を有するＪＩＴを求める要求を拒否することができる。
【００４５】
[0052]  例示として、クライアント１０２−１がサーバー・デバイス１４０−１−１においてリモート・アプリケーション・デバッグを実行することを要求するとき、要求役割／範囲情報は、リモート・ユーザーおよびデバッガーの役割を含むことができ、範囲は違反境界１３８−１−１を含むことができる。クライアント１０２−１のクライアント・アカウントに関連付けられ、ディレクトリ・サービス・アプリケーション１１０から引き出されたクライアント・アカウント役割／範囲情報は、リモート・ユーザーおよびデバッガーの役割を含むことができ、範囲はフォーレスト１３２−１を含むことができる。要求役割／範囲情報ならびにクライアント・アカウント役割／範囲情報に基づいて、アカウント許可コンポーネント１１８は、ＪＩＴアカウントを求める要求を許可することができる。何故なら、クライアント１０２−１によって要求された役割（例えば、リモート・ユーザーおよびデバッガー）は、クライアント・アカウントの役割（例えば、リモート・ユーザーおよびデバッガー）と同等であり、クライアントによって要求された範囲（例えば、違反境界１３８−１−１）は、クライアント・アカウントの範囲内にある（例えば、フォーレスト１３２−１）からである。
【００４６】
[0053]  他の例示では、要求役割／範囲情報がリモート・ユーザーおよびデバッガーの役割を含むと判定されることもあり、範囲が違反境界１３８−１−１を含むと判定されることもある。ディレクトリ・サービス・アプリケーション１１０から引き出されたクライアント１０２−１のクライアント・アカウント役割／範囲情報は、デバッガーの役割を含むがリモート・ユーザーを含まないこともあり、範囲はフォーレスト１３２−２（図示せず）を含むこともある。アカウント許可コンポーネント１１８は、この要求を拒否することができる。何故なら、クライアント１０２−１によって要求された役割（例えば、リモート・ユーザーおよびデバッガー）が、クライアント・アカウントの役割（例えば、デバッガーであるがリモート・ユーザーを含まない）と同等でもなく、その範囲内にあるのでもなく、更にクライアントによって要求された範囲（例えば、違反境界１３８−１−１）も、クライアント・アカウントの範囲（例えば、フォーレスト１３２−２）内でもないからである。
【００４７】
[0054]  加えてまたは代わりに、ＳａａＳシステムのセキュリティおよびプライバシーを確保するために、クライアントが要求できる要求役割／範囲の数およびタイプを限定することにより、要求役割／範囲情報を制限ために、クライアント・アカウント役割／範囲情報を更に限定することもできる。このように、ある実施形態では、クライアント・アカウント役割／範囲情報は、更に、要求される役割の数を１つの役割に限定し、役割のタイプを特定の役割の集合体（例えば、リモート・ユーザー、デバッグ、および／または検査）に限定し、範囲を１つの違反境界に限定して、クライアントから受けた要求役割／範囲がこれらの制約の範囲内に収まらない場合、許可コンポーネント１１８によって拒否されるようにすることができる。その結果、アカウント・プロビジョニング・コンポーネント１２０によってプロビジョニングされるＪＩＴアカウントはいずれも、更にそれらの役割および範囲が限定される。
【００４８】
[0055]  例示として、要求役割／範囲情報がリモート・ユーザーおよびデバッガーの役割を含むと判定されることもあり、範囲が違反境界１３８−１−１を含むと判定されることもある。クライアント１０２−１に関連付けられたクライアント・アカウント役割／範囲情報が、リモート・ユーザーおよびデバッガーの役割を含むこともあるが、クライアント・アカウント役割／範囲情報が更に役割を１つの役割（例えば、リモート・ユーザーまたはデバッガーはよいが、双方はいけない）に限定することもあり、範囲が１つの違反境界に限定されることもある。アカウント許可コンポーネント１１８は、この要求を拒否することができる。何故なら、クライアント１０２−１によって要求された役割（例えば、リモート・ユーザーおよびデバッガーの双方）は１つの役割という制限（例えば、リモート・ユーザーまたはデバッガーはよいが、双方はいけない）の範囲内ではないからである。
【００４９】
[0056]  クライアント・アカウントの役割および範囲を更に限定することによって実現される少なくとも１つの技術的利点は、許可され後にアカウント・プロビジョニング・コンポーネント１２０によってプロビジョニングされるいずれのＪＩＴアカウントも、各ＪＩＴアカウントにはクライアントに要求されたタスクまたはサービスを実行するために必要とされる最小限の範囲に設定された許可がプロビジョニングされることを確保するために、役割および範囲が限定されることである。このように、攻撃表面または攻撃ベクトルがＪＩＴアカウント数の増大と共に増えるが、その影響は、プロビジョニングされる各ＪＩＴアカウントは役割および範囲が限定されるので、軽減される。
【００５０】
[0057]  加えてまたは代わりに、ＳａａＳシステムのセキュリティおよびプライバシーを更に確保するために、アカウント許可コンポーネント１１８は、更に、ネットワーク相互接続１１２およびディレクトリ・サービス・アプリケーション１１０の１つ以上のＡＰＩを介して利用することにより、ディレクトリ・サービス・アプリケーション１１０によってアクセス可能な編成階層情報に基づいて、１つ以上のクライアント１０２−ａのスーパーバイザーまたはマネージャを識別することによって、昇格アクセス許可を要求する１つ以上のクライアント１０２−ａのスーパーバイザーまたはマネージャを決定するように構成することができる。一旦１つ以上のクライアント１０２−ａのスーパーバイザーまたはマネージャが決定されたなら、アカウント許可コンポーネント１１８は、アカウント通知コンポーネント１２２を介して、スーパーバイザーまたはマネージャに監督承認情報を通知し提供するように構成することができる。監督承認情報は、ＪＩＴアカウントを要求した１つ以上のクライアント１０２−ａについての要求役割／範囲アカウント情報、要求存続期間情報、ならびにクライアント・アカウント役割／範囲情報を含むことができる。また、アカウント許可コンポーネント１１８は、要求を許可する前に、１つ以上のクライアント１０２−ａのスーパーバイザーまたはマネージャの承認を要求し受けるように構成することもできる。
【００５１】
[0058]  例示として、アクセス許可が昇格されたＪＩＴアカウントを求める要求をクライアント１０２−１に対して許可する前であるが、要求役割／範囲情報ならびにクライアント・アカウント役割／範囲情報を判定した後において、アカウント許可コンポーネント１１８は、スーパーバイザーまたはマネージャがクライアント１０２−２であることを決定することができ、クライアント１０２−２に、要求役割／範囲情報ならびにクライアント１０２−１のクライアント・アカウント役割／範囲情報を、アカウント通知コンポーネント１２２を介して通知し提供することができる。アカウント許可コンポーネント１１８は、更に、要求を許可する前に、クライアント１０２−２に承認を要求し、受けることができる。
【００５２】
[0059]  種々の実施形態において、ａｄｍｉｎ管理アプリケーション１１４は、更に、ＪＩＴアカウント・データーストア１２６に通信可能に結合されたアカウント・プロビジョニング・コンポーネント１２０も含むことができる。ＪＩＴアカウント・データーストア１２６は、大まかには、１つ以上のＪＩＴアカウントに関連付けられたＪＩＴアカウント情報を格納するように構成することができる。アカウント・プロビジョニング・コンポーネント１２０は、大まかには、ＪＩＴアカウントを求める要求が許可された後に、ＪＩＴアカウントをプロビジョニングするように構成することができる。アカウント・プロビジョニング・コンポーネント１２０は、更に、同じまたは実質的に同様の要求役割／範囲を有するＪＩＴアカウントが既にクライアントのために存在するか否か判定するように構成することもできる。アカウント・プロビジョニング・コンポーネント１２０は、同じまたは実質的に同様の要求役割／範囲を有するＪＩＴアカウントが既にそのクライアントのために存在するとき、このクライアントに関連付けられた既存のＪＩＴアカウントを引き出すように構成することができる。あるいは、同じまたは実質的に同様の要求役割／範囲を有するＪＩＴアカウントが未だクライアントのために存在しないとき、アカウント・プロビジョニング・コンポーネント１２０は、通常、新たなＪＩＴアカウントを作成するように構成することができる。ＪＩＴアカウントを作成しおよび／または引き出した後、アカウント・プロビジョニング・コンポーネント１２０は、更に、ＪＩＴアカウントをイネーブルするように構成することができる。
【００５３】
[0060]  一実施形態では、アカウント・プロビジョニング・コンポーネント１２０は、クライアントによって要求された役割および範囲と同等または実質的に同様である役割および範囲を有するＪＩＴアカウントが、ＪＩＴアカウント・データーストア１２６において、そのクライアントに既のために存在するか否か判定するように構成することができる。アカウント・プロビジョニング・コンポーネント１２０は、ＪＩＴアカウント・データーストア１２６を検索および／またはスキャンし、要求役割／範囲情報を、既存のＪＩＴアカウントのＪＩＴアカウント役割／範囲情報と比較し照合することによって、既に作成されているＪＩＴアカウントの存在を判定することができる。アカウント・プロビジョニング・コンポーネント１２０が、要求された役割および範囲を有するＪＩＴアカウントが既にそのクライアントのために存在すると判定したとき、アカウント・プロビジョニング・コンポーネント１２０は、既に作成されているＪＩＴアカウントに関連付けられた、そのクライアントについてのＪＩＴアカウント情報をＪＩＴアカウント・データーストア１２６から引き出すように構成することができる。
【００５４】
[0061]  あるいは、アカウント・プロビジョニング・コンポーネント１２０が、要求された役割および範囲を有するＪＩＴアカウントがそのクライアントには存在しないと判定したとき、アカウント・プロビジョニング・コンポーネント１２０は、自動的にそのクライアントに新たなＪＩＴアカウントを作成するように構成することができる。これは、言い換えると、ＪＩＴアカウントのレイジ・プロビジョニング(lazy provisioning)としても知られており、アカウント・プロビジョニング・コンポーネント１２０は、役割および範囲が同等または実質的に同様である以前のＪＩＴアカウントが未だそのクライアントのために存在しないときにのみ、ＪＩＴアカウントを作成するように構成することができる。
【００５５】
[0062]  一実施形態において、アカウント・プロビジョニング・コンポーネント１２０は、少なくとも部分的に、ＪＩＴアカウント要求情報（例えば、要求役割／範囲情報、要求存続期間情報等）およびクライアント・アカウント情報に基づいて、新たなＪＩＴアカウントおよびその関連するＪＩＴアカウント情報を作成することができる。例えば、クライアント１０２−１についてのクライアント・アカウント情報がＵＰＮ "EllenAdams@domainl36-l.contoso.com"を含むことができ、要求された役割がリモート・ユーザーおよびデバッガーを含み、要求された範囲が違反境界１３８−１−１を含むと仮定する。アカウント・プロビジョニング・コンポーネント１２０は、クライアント１０２−１が少なくとも部分的にＵＰＮに基づいてＪＩＴアカウントに対する１つ以上の役割および範囲を識別できるように、ＵＰＮ"EllenAdams_RemoteDebugger_Boundaryl38-l-l@domainl36-1.contoso.com" を含むＪＩＴアカウント情報によって新たなＪＩＴアカウントを作成することができる。加えて、アカウント・プロビジョニング・コンポーネント１２０は、更に、新たに作成したＪＩＴアカウントをＪＩＴアカウント・データーストア１２６に格納し、この新たに作成したＪＩＴアカウントを、そのクライアントのクライアント・アカウントと関連付けることもできる。
【００５６】
[0063]  １つ以上のディレクトリ・サービス・サーバー・デバイス１３０ーｌによって管理されるリソースおよび／またはアセットが、新たに作成されたＪＩＴアカウントを使用して１つ以上のクライアント１０２−ａによってアクセス可能および／またはサービス可能であることを確保するために、アカウント・プロビジョニング・コンポーネント１２０は、更に、クライアントがアクセスおよび／またはサービスすることを要求した１つ以上のリソースおよび／またはアセットを含む１つ以上の違反境界１３８−ｇ−ｈを管理する、該当のディレクトリ・サービス・サーバー・デバイスを識別するように構成することができる。一旦該当するディレクトリ・サービス・サーバー・デバイスを識別したなら、アカウント・プロビジョニング・コンポーネント１２０は、更に、ＪＩＴアカウントを作成するために、ネットワーク相互接続１１２および識別したディレクトリ・サービス・サーバー・デバイスの１つ以上のＡＰＩを介して、識別したディレクトリ・サービス・サーバー・デバイスと通信するように構成することができる。加えて、アカウント・プロビジョニング・コンポーネント１２０は、新たに作成したＪＩＴアカウントおよび関連するＪＩＴアカウント情報をＪＩＴアカウント・データーストア１２６に格納し、それを引き出して再利用できるように、この新たに作成したＪＩＴアカウントおよび関連するＪＩＴアカウント情報をクライアント・アカウントと関連付けるように構成することができる。
【００５７】
[0064]  例示として、クライアント１０２−１に対して要求された役割がリモート・ユーザーおよびデバッガーを含み、要求された範囲が違反境界１３８−１−１を含み、要求がアカウント許可コンポーネント１１８によって許可されたと仮定すると、アカウント・プロビジョニング・コンポーネント１２０は、最初に、リモート・ユーザーおよびデバッガーの役割と、違反境界１３８−１−１を含む範囲とを有するＪＩＴアカウントが以前に作成されたか否か判定することができる。以前に作成されたＪＩＴアカウントがＪＩＴアカウント・データーストア１２６において発見され、その関連するＪＩＴアカウント情報がリモート・ユーザーおよびデバッガーの役割を含み、範囲が違反境界１３８−１−１を含むとき、アカウント・プロビジョニング・コンポーネント１２０は、ＪＩＴアカウントに関連付けられ、以前に作成されおよび／または格納されているＪＩＴアカウント情報を引き出すことができる。
【００５８】
[0065]  上記例示を続けると、クライアント１０２−１に関連付けられたＪＩＴアカウントがＪＩＴアカウント・データーストア１２６において発見されなかったとき、アカウント・プロビジョニング・コンポーネント１２０は、新たなＪＩＴアカウントの作成のために、ディレクトリ・サービス・サーバー・デバイス１３０−１を識別してもよい。何故なら、要求された範囲が、ディレクトリ・サービス・サーバー・デバイス１３０−１によって管理されている違反境界１３８−１−１を含むからである。次いで、アカウント・プロビジョニング・コンポーネント１２０は、新たなＪＩＴアカウントを作成するために、ディレクトリ・サービス・サーバー・デバイス１３０−１と通信することができる。アカウント・プロビジョニング・コンポーネント１２０は、更に、引き出しおよび再利用のために、新たに作成したＪＩＴアカウントおよび関連するＪＩＴアカウント情報をＪＩＴアカウント・データーストア１２６に格納することができる。
【００５９】
[0066]  一旦ＪＩＴアカウントが引き出されたならまたは作成されたなら、アカウント・プロビジョニング・コンポーネント１２０は、更に、引き出されたまたは作成されたＪＩＴアカウントが、クライアントによって要求されたのと同じ役割および範囲を有するように、少なくとも部分的に要求役割／範囲情報に基づいて、ＪＩＴアカウントをイネーブルするように構成することができる。また、これは、作成された、または引き出された各ＪＩＴアカウントが、クライアントに要求された通りにリソースおよび／またはアセットにおいてサービスにアクセスするまたはサービスを実行するために必要とされる、１組の最小限の範囲に設定された昇格アクセス許可を含むことも確保する。ＪＩＴアカウントをイネーブルするために、アカウント・プロビジョニング・コンポーネント１２０は、更に、少なくとも部分的に要求役割／範囲情報に基づいて、１組のアクセス許可をＪＩＴアカウントに付与する、即ち、与えるように構成することができる。
【００６０】
[0067]  種々の実施形態では、ａｄｍｉｎ管理アプリケーション１１４は、更に、アカウント通知コンポーネント１２２も含むことができる。アカウント通知コンポーネント１２２は、大まかには、１つ以上のクライアント・デバイス１０４−ｂを介して、１つ以上のクライアント１０２−ａにクライアント・アカウント情報（例えば、クライアント・アカウント役割および範囲）、要求承認情報（例えば、アクセス許可を高める要求が承認されたかまたは拒否されたか）、監督承認情報、およびＪＩＴアカウント情報を通知し、１つ以上の通知メッセージにおいてこれらの情報を提供するように構成することができる。通知メッセージの例には、移動体ＳＭＳメッセージング、自動音声コール、電子メール、インタラクティブ・ウェブ・ベースの形式(form)、ウェブ警報、インターネットおよび／またはイントラネット・ベースのメッセージング・アプリケーション、あるいは昇格アクセス許可の承認および／または拒否に関して１つ以上のクライアント１０２−ａに通知し、１つ以上のクライアント１０２−ａに要求承認情報、監督承認情報、および／またはＪＩＴアカウント情報を提供する任意の他の手段を含むことができるが、これらに限定されるのではない。
【００６１】
[0068]  一実施形態では、アクセス許可を高める要求が拒否された後、アカウント通知コンポーネント１２２は、１つ以上のクライアント・デバイス１０４−ｂの１つ以上のアプリケーションおよび／またはコンポーネントを介して、１つ以上の通知メッセージにおいて、要求が拒否されたことをクライアント（例えば、クライアント１０２−１）に通知するように構成することができる。加えて、１つ以上の通知メッセージは、拒否に対する１つ以上の理由を示すことができるＪＩＴアカウント拒否情報も含むことができる（例えば、要求がクライアント・アカウントの役割および／または範囲を超過する）。
【００６２】
[0069]  アクセス許可が昇格されたＪＩＴアカウントを求める要求が承認され、ＪＩＴアカウントがプロビジョニングされた後、アカウント通知コンポーネント１２２は、クライアント・デバイス（例えば、クライアント・デバイス１０４−１）を介して、１つ以上の通知メッセージにおいて要求が承認されたことをクライアント（例えば、クライアント１０２−１）に通知するように構成することができる。また、アカウント通知コンポーネント１２２は、ＪＩＴアカウントの役割および範囲に適合した１つ以上のリソースおよび／またはアセット（例えば、サーバー・デバイス１４０−１−１）に、クライアント（例えば、クライアント・デバイス１０４−１）がアクセスするおよび／またはサービスすることを可能にするのに十分な昇格アクセス許可を有しプロビジョニングされたＪＩＴアカウントに関連付けられたＪＩＴアカウント情報を提供するように構成することができる。
【００６３】
[0070]  他の実施形態では、アクセス許可が昇格されたＪＩＴアカウントをクライアント（例えば、クライアント１０２−１）のために求める要求を許可する前で、要求役割／範囲情報ならびにそのクライアントについてのクライアント・アカウント役割／範囲情報を判定した後に、アカウント通知コンポーネント１２２は、更に、アクセス許可が昇格されたＪＩＴアカウントを求める要求を許可する前に、１つ以上の通知メッセージによって、そのクライアント（例えば、クライアント１０２−１）のスーパーバイザーまたはマネージャ（例えば、クライアント１０２−２）に承認を要求するように構成することができる。１つ以上の要求を承認するかまたは拒否するときにスーパーバイザーまたはマネージャ（例えば、クライアント１０２−２）を更に補助するために、アカウント通知コンポーネント１２２は、更に、監督承認情報（例えば、要求役割／範囲アカウント情報、要求存続期間情報、ならびに昇格アクセス許可を要求したクライアント１０２−１に関連付けられたクライアント・アカウント役割／範囲情報）を、１つ以上の通知メッセージにおいてスーパーバイザーまたはマネージャ（例えば、クライアント１０２−２）に提供するように構成することができる。
【００６４】
[0071]  図１に示すＪＩＴアカウント・プロビジョニング・システムは、ある種のトポロジーではエレメント数が限定されていたが、ＪＩＴアカウント・プロビジョニング・システム１００は、代わりのトポロジーでは、所与の実施態様に合わせて望まれる通りに、もっと多いまたは少ないエレメントを含むこともできることは認めることができよう。同様に、種々の実施形態は、１つ以上のクライアント・デバイス１０４−ｂ、サーバー・デバイス１０８、サーバー・デバイス１０６、および１つ以上のフォーレスト１３２−ｋを内包する企業用計算環境１５０を示すことができるが、クライアントおよび／またはサーバー・デバイスの内少なくとも一部は、所与の実施態様に合わせて、企業用計算環境１５０の外部にあってもよいことは認めることができよう。
【００６５】
[0072]  図２は、ＪＩＴアカウント・プロビジョニング・システム１００の他の実施形態を示す。ＪＩＴアカウント・プロビジョニング・システム１００の種々の実施形態では、更に、サーバー・デバイス２０２を含むことができる。サーバー・デバイス２０２は、大まかには、アプリケーションの中でもとりわけリソースおよびアセット管理アプリケーション２０４を実行するように構成することができる。ディレクトリ・サービス・サーバー・デバイス１３０−ｌは、更に、１つ以上の関連するセキュリティ・グループを利用して、１つ以上のセキュリティ境界１３８−ｇ−ｈを実施する(implement)ように構成することができ、各セキュリティ・グループは、各セキュリティ・グループの１つ以上のメンバーに対する１つ以上のリソースおよび／またはアセットの１組のアクセス許可を管理するように構成することができる。
【００６６】
[0073]  アセット管理アプリケーション２０４は、大まかには、ネットワーク相互接続１１２と、１つ以上のディレクトリ・サービス・サーバー・デバイス１３０−ｌのディレクトリ・サービス・アプリケーション（図示せず）の１つ以上のＡＰＩとを介して、１つ以上のリソースおよび／またはアセットを１つ以上のセキュリティ・グループに構成する、即ち、分離するように構成することができる。一実施形態では、アセット管理アプリケーション２０４は、１つ以上の違反境界セキュリティ・グループ２１０−ｍ−ｎを作成することによって、１つ以上のセキュリティ境界１３８−ｇ−ｈを実施するように構成することができる。更に、漏洩したＪＩＴアカウントに対するアクセスを獲得した攻撃者の横方向移動を抑えるために、ある実施形態では、アセット管理アプリケーション２０４は、更に、１つのリソースおよび／またはアセットが、２つの異なる違反境界セキュリティ・グループのメンバーであるＪＩＴアカウントからアクセス可能またはサービス可能とならないように、１つ以上のリソースおよび／またはアセットを１つ以上の相互に排他的な、即ち、重複しない違反境界セキュリティ・グループ２１０−ｍ−ｎに構成する、即ち、分離するように構成することができる。
【００６７】
[0074]  他の実施形態では、アセット管理アプリケーション２０４は、更に、１つ以上の違反境界セキュリティ・グループ２１０−ｍ−ｎの各違反境界セキュリティ・グループに、１つ以上のリソースおよび／またはアセットに対する１組のアクセス許可を割り当てて(assign)、違反境界セキュリティ・グループに追加された任意のメンバー（例えば、１つ以上のＪＩＴアカウント）が、１組のアクセス許可にしたがってそのセキュリティ・グループによって管理される１つ以上のリソースおよび／またはアセットにアクセスできるように構成することができる。加えてまたは代わりに、１つ以上のリソースおよび／またはアセットが仮想デバイス（例えば、１つ以上の仮想機械を使用して実装される仮想サーバー・デバイス）を含む実施態様では、アセット管理アプリケーション２０４は、更に、プロビジョニングされる各リソースおよび／またはアセットが違反境界セキュリティ・グループと関連付けられるように、１つ以上のリソースおよび／またはアセットをプロビジョニングまたは展開するように構成することもできる。
【００６８】
[0075]  例示として、アセット管理アプリケーション２０４は、ネットワーク相互接続１１２とディレクトリ・サービス・サーバー・デバイス１３０−ｌのディレクトリ・サービス・アプリケーション（図示せず）の１つ以上のＡＰＩとを利用して、関連する違反境界セキュリティ・グループ２１０−１−１および２１０−１−２をそれぞれ作成することによって、セキュリティ境界１３８−１−１および１３８−１−２を実施することができる。加えて、アセット管理アプリケーション２０４は、サーバー・デバイス１４０−１−１、１４０−１−２、１４０−１−３が違反境界セキュリティ・グループ１３８−１−１によって管理され、サーバー・デバイス１４０−１−４、１４０−１−５、１４０−１−６がセキュリティ・グループ１３８−１−２によって管理されるように構成することもできる。
【００６９】
[0076]  以上の例示を続けると、アセット管理アプリケーション２０４は、更に、違反境界セキュリティ・グループ２１０−１−１を、１組のアクセス許可をサーバー・デバイス１４０−１−１、１４０−１−２、１４０−１−３に付与する即ち与えるように構成することができる。１組のアクセス許可は、ＪＩＴアカウントが違反境界セキュリティ・グループ２１０−１−１に追加されたときに、そのＪＩＴアカウントが、セキュリティ・グループ２１０−１−１に関連付けられた１組のアクセス許可にしたがって、サーバー・デバイス１４０−１−１、１４０−１−２、１４０−１−３にアクセスすることを可能にすることができる。
【００７０】
[0077]  以上の例示を更に続けると、アセット管理アプリケーション２０４は、違反境界セキュリティ・グループ２１０−１−２のメンバーであるＪＩＴアカウントが、違反境界セキュリティ・グループ２１０−１−２に関連付けられた１組のアクセス許可にしたがって、サーバー・デバイス１４０−１−４、１４０−１−５、１４０−１−６にアクセスできるように、違反境界セキュリティ・グループ２１０−１−１に関して論じたのと同様に、違反境界セキュリティ・グループ２１０−１−２も構成することができる。サーバー・デバイス１４０−１−１から１４０−１６までが、サーバー・デバイス１４０−ｉ−ｊ上に存在する１つ以上の仮想機械を使用して実装された仮想サーバー・デバイスである実施態様では、アセット管理アプリケーション２０４は、仮想サーバー・デバイスのプロビジョニング・プロセス（例えば、作成および／または展開）の間に自動的に仮想サーバー・デバイスを構成することができる。
【００７１】
[0078]  尚、種々の実施形態では、２つの違反境界セキュリティ・グループ２１０−１−１および２１０−１−２のみを例示したが、アセット管理アプリケーション２０４は、１つ以上の役割に対して複数のグループ（例えば、リモート・アクセス・グループ、デバッガーグループ等）を作成するように構成することもでき、ＪＩＴアカウントが役割に基づくアクセス制御（ＲＢＡＣ）を達成するために、ネスト状で多数のグループのメンバーになることができるように、各グループには、役割に関連付けられた１組のアクセス許可（例えば、１つ以上のリソースおよび／またはアセットへのリモート・アクセス、１つ以上のリソースおよび／またはアセットのデバッグ等）を関連付けることができることは認めることができよう。実施形態はこの文脈に限定されるのではない。
【００７２】
[0079]  適正な１組のアクセス許可が、プロビジョニングされたＪＩＴアカウントに付与される即ち与えられることを確保するために、ａｄｍｉｎ管理アプリケーション１１４のアカウント・プロビジョニング・コンポーネント１２０は、更に、ネットワーク相互接続１１２と１つ以上のディレクトリ・サービス・サーバー・デバイス１３０−ｌのディレクトリ・サービス・アプリケーション（図示せず）の１つ以上のＡＰＩとを利用することによって、該当する違反境界セキュリティ・グループ２１０−ｍ−ｎを実施するディレクトリ・サービス・サーバー・デバイスを識別し、更に、１つ以上のリソースおよび／またはアセットへのアクセスを付与するように構成された１つ以上の違反境界セキュリティ・グループ２１０−ｍ−ｎを識別するように構成することができる。一旦該当するディレクトリ・サービス・サーバー・デバイスおよび１つ以上の違反境界セキュリティ・グループ２１０−ｍ−ｎが識別されたなら、アカウント・プロビジョニング・コンポーネント１２０は、プロビジョニングしたＪＩＴアカウントを、識別した違反境界セキュリティ・グループと関連付けるように構成することができる。
【００７３】
[0080]  一実施形態では、アカウント・プロビジョニング・コンポーネント１２０は、違反境界セキュリティ・グループに関連付けられた違反境界内の１つ以上のリソースおよび／またはアセットにアクセスするための１組のアクセス許可をＪＩＴアカウントに付与できるように、ＪＩＴアカウントを１つ以上の違反境界セキュリティ・グループ２１０−ｍ−ｎにメンバーとして追加することによって、ＪＩＴアカウントを違反境界セキュリティ・グループ２１０−ｍ−ｎと関連付けることができる。ある実施形態では、アカウント・プロビジョニング・コンポーネント１２０は、更に、攻撃者が漏洩したＪＩＴアカウントを使用して起こすおそれがある影響の範囲を更に限定するために、ＪＩＴアカウントに関連付けることができる違反境界セキュリティ・グループ２１０−ｍ−ｎの数を限定するように構成することができる（例えば、各ＪＩＴアカウントには１つの違反境界セキュリティ・グループしか関連付けることができない）。
【００７４】
[0081]  例示として、アクセス許可が昇格されたＪＩＴアカウントに対してクライアント１０２−１から受けた要求役割／範囲情報が、違反境界１３８−１−１に対してリモート・ユーザーおよびデバッガーを含み、ＪＩＴアカウントが既にプロビジョニングされていると仮定すると、アカウント・プロビジョニング・コンポーネント１２０は、最初に、違反境界セキュリティ・グループ２１０−１−１を利用して、１つ以上のディレクトリ・サービス・サーバー・デバイス１３０−ｌの中から、違反境界１３８−１−１を実施しているディレクトリ・サービス・サーバー・デバイス１３０−ｌを識別することができる。また、アカウント・プロビジョニング・コンポーネント１２０は、違反境界セキュリティ・グループ２１０−１−１を、１組のアクセス許可をサーバー・デバイス１４０−１−１、１４０−１−２、１４０−１−３に付与するように構成された違反境界セキュリティ・グループとして識別することができる。更に、アカウント・プロビジョニング・コンポーネント１２０は、プロビジョニングされたＪＩＴアカウントに、サーバー・デバイス１４０−１−１、１４０−１−２、１４０−１−３に対する１組のアクセス許可を付与するために、プロビジョニングされたＪＩＴアカウントを少なくとも識別された違反境界セキュリティ・グループ２１０−１−１に追加することによって関連付けることができる。尚、アカウント・プロビジョニング・コンポーネント１２０は、サーバー・デバイス１４０−１−１、１４０−１−２、１４０−１−３においてリモート・デバッグを実行するために、プロビジョニングしたＪＩＴアカウントがクライアント１０２−１によって使用できるように、リモート・ユーザーおよびデバッガーとしてアクセス許可を付与するために、プロビジョニングしたＪＩＴアカウントを他のグループ（例えば、リモート・ユーザー・グループ、デバッガーグループ等）に追加することによって関連付けることもできることは認めることができよう。
【００７５】
[0082]  種々の実施形態では、ａｄｍｉｎ管理アプリケーション１１４が、更に、アカウント存続期間コンポーネント１２４も含むことができる。アカウント存続期間コンポーネント１２４は、大まかには、ＪＩＴアカウント存続期間情報または既定のＪＩＴアカウント存続期間情報に基づいて、各ＪＩＴアカウントに関連付けられた存続期間を管理するように構成することができる。アカウント存続期間コンポーネント１２４は、更に、ある時間期間が経過した後、１つ以上のＪＩＴアカウントをディスエーブルするおよび／または削除するように構成することができる。ＪＩＴアカウント存続期間情報は、ＪＩＴアカウントが失効しディスエーブルされるときの具体的な時刻または経過時間、およびＪＩＴアカウントが削除される具体的な時刻または経過時間を含むことができるが、これらに限定されるのではない。
【００７６】
[0083]  尚、ある実施形態では、ＪＩＴアカウント存続期間情報は、所与の実施態様に合わせて、クライアント・デバイス１０４−ｂを介して１つ以上のクライアント１０２−ａから受けたＪＩＴアカウント要求情報に基づいて判定されるおよび／または導き出されるのでもよいことは認めることができよう。他の実施形態では、ＪＩＴアカウント要求情報は、ＪＩＴアカウント役割／範囲情報によって示される１つ以上の役割に基づいて判定されるおよび／または導き出されてよく、ある役割（例えば、リモート・ユーザーおよびデバッガー）が２時間という関連ＪＩＴアカウント存続期間を有するのでもよく、一方他の役割（例えば、バックアップ・オペレータ）が４時間という関連存続期間を有するのでもよい。実施形態はこの文脈において限定されるのではない。
【００７７】
[0084]  一実施形態では、アカウント存続期間コンポーネント１２４は、更に、１つ以上のクライアント１０２−ａが、１つ以上のディレクトリ・サービス・サーバー・デバイス１３０−ｌによって管理される１つ以上のリソースおよび／またはアセットにアクセスするとき、ネットワーク相互接続１１２を介して１つ以上のディレクトリ・サービス・サーバー・デバイス１３０−ｌから１つ以上のアクセス承認要求を受けるように構成することができる。更に、アカウント存続期間コンポーネント１２４は、ＪＩＴアカウントの存続期間が未だ終わっていないとき、それぞれのディレクトリ・サービス・サーバー・デバイス１３０−ｌによって管理される１つ以上のリソースおよび／またはアセットにアクセスすることを、自動的に１つ以上のクライアント１０２−ａに承認するまたは許可するように構成することができる。
【００７８】
[0085]  あるいは、アカウント存続期間コンポーネント１２４は、ＪＩＴアカウントの存続期間が既に経過しているとき、それぞれのディレクトリ・サービス・サーバー・デバイス１３０−ｌによって管理される１つ以上リソースおよび／またはアセットに対するあらゆる１つ以上のクライアント１０２−ａのアクセスを自動的に否認(deny)するように構成することができる。加えて、一実施形態では、アカウント存続期間コンポーネント１２４は、ＪＩＴアカウントをディスエーブルする、および／またはＪＩＴアカウントを１つ以上の違反境界セキュリティ・グループから離脱させる(disassociate)ように構成することもできる。例えば、アカウント存続期間コンポーネント１２４は、全てのアクセス承認要求を否認することによってＪＩＴアカウントをディスエーブルし、新たな認証トークンを生成するが、この新たに生成した認証トークンをクライアント１０２−ａに供給しないのでもよい。また、アカウント存続期間コンポーネントは、１つ以上の違反境界セキュリティ・グループにおけるメンバーシップからＪＩＴアカウントを削除することによって、ＪＩＴアカウントを離脱させることもできる。
【００７９】
[0086]  一実施形態例では、ＪＩＴアカウントの存続期間は、ＪＩＴアカウントがプロビジョニングされた時点（例えば、アカウント・プロビジョニング・コンポーネント１２０によってプロビジョニングされた）から開始するのでもよく、ＪＩＴアカウント存続期間情報に基づいて指定された時刻または経過時間において終了する。あるいは、ＪＩＴアカウントの存続期間は、ＪＩＴアカウントが最初に利用された（例えば、クライアントがリソースおよび／またはアセットにアクセスしようとした）時点から開始するのでもよく、ＪＩＴアカウント存続期間情報に基づいて指定された時刻または経過時間において終了する。実施形態例は、この文脈において限定されるのではない。
【００８０】
[0087]  加えてまたは代わりに、アカウント存続期間コンポーネント１２４は、更に、任意のイネーブルされたＪＩＴアカウントを求めてＪＩＴアカウント・データーストア１２４を周期的にスキャンし、ＪＩＴアカウント存続期間情報に基づいて、存続期間が既に経過したＪＩＴアカウントをいずれもディスエーブルするように構成することもできる。ある実施形態では、ディスエーブルされたＪＩＴアカウントは、直ちに、現在使用中のあらゆるＪＩＴアカウントおよびそれらの関連するアクティブなアクションまたはタスクも終了させる（例えば、強制ログオフ）。１つ以上のリソースおよび／またはアセットを管理する１つ以上のディレクトリ・サーバー・デバイス１３０−ｌが適正にＪＩＴアカウント・データーストア１２６と同期されることを確保するために、アカウント存続期間コンポーネント１２４は、更に、ＪＩＴアカウントのＪＩＴアカウント存続期間情報を更新するためおよび／または存続期間が経過したＪＩＴアカウントをいずれもディスエーブルするために、ネットワーク相互接続１１２とディレクトリ・サービス・アプリケーション１１０の１つ以上のＡＰＩとを介して通信するように構成することができる。
【００８１】
[0088]  加えてまたは代わりに、アカウント存続期間コンポーネント１２４は、更に、あらゆるディスエーブルされたＪＩＴアカウントを捜してＪＩＴアカウント・データーストア１２４を周期的にスキャンし、ＪＩＴアカウント存続期間情報に基づいて、既定の時間期間にわたって利用されずにディスエーブルされたＪＩＴアカウント（例えば、インアクティブなＪＩＴアカウント）をいずれも削除するように構成することもできる。１つ以上のリソースおよび／またはアセットを管理する１つ以上のディレクトリ・サーバー・デバイス１３０−ｌが適正に同期されることを確保するために、アカウント存続期間コンポーネント１２４は、更に、ネットワーク相互接続１１２と１つ以上のディレクトリ・サーバー・デバイス１３０−ｌの１つ以上のディレクトリ・サービス・アプリケーション（図示せず）の１つ以上のＡＰＩとを介して通信することによって、これらのディスエーブルされたＪＩＴアカウントを削除するように構成することができる。
【００８２】
[0089]  例示として、ＪＩＴアカウント要求情報が、ＪＩＴアカウントに対する要求存続期間が４時間であることを示す要求存続期間情報を含むように、クライアント１０２−１が、アクセス許可が昇格されたＪＩＴアカウントを、違反境界１３８−１−１に対してリモート・ユーザーおよびデバッガーとして要求したと仮定する。更に、ＪＩＴアカウントが午後１２時にクライアント１０２−１にプロビジョニングされ、このＪＩＴアカウントが、プロビジョニングされたＪＩＴアカウントの存続期間が４時間であり、プロビジョニングされたＪＩＴアカウントの存続期間が、ＪＩＴアカウントがプロビジョニングされる時刻である午後１２時から開始し、ＪＩＴアカウントの存続期間が午後４時に終了することを示すＪＩＴアカウント存続期間情報を有すると仮定する。一実施形態例では、クライアント１０２−１が、プロビジョニングされたＪＩＴアカウントを使用して、クライアント・デバイス１０４−１およびネットワーク相互接続１１２を介して、午後４時前に遠方からサーバー・デバイス１４０−１−１にアクセスしようとしたとき（例えば、リモート・デスクトップ・プロトコル（ＲＤＰ）を使用して）、アカウント存続期間コンポーネント１２４は、ディレクトリ・サービス・サーバー・デバイス１３０−ｌからのアクセス承認要求を許可する(grant)ことができる。
【００８３】
[0090]  以上の例を続けると、他の実施形態例では、アカウント存続期間コンポーネント１２４は、クライアント１０２−１が午後４時以降に、プロビジョニングされたＪＩＴアカウントを使用して遠方からサーバー・デバイス１４０−１−１にアクセスしようとしたとき（例えば、リモート・デスクトップ・プロトコル（ＲＤＰ）を使用して）、ディレクトリ・サービス・サーバー・デバイス１３０−ｌからのアクセス承認要求を拒否することができる。また、アカウント存続期間コンポーネント１２４は、午後４時以降は、自動的にサーバー・デバイス１４０−１−１に対するアクセスをいずれも否認し、プロビジョニングされたＪＩＴアカウントをディスエーブルすることもできる。加えて、アカウント存続期間コンポーネント１２４は、プロビジョニングされたＪＩＴアカウントのメンバーシップを違反境界セキュリティ・グループ２１０−１−１から削除することによって、プロビジョニングされたＪＩＴアカウントを違反境界セキュリティ・グループ２１０−１−１から離脱させることもできる。更に、アカウント存続期間コンポーネント１２４は、連続する不動作期間（例えば、ログオンしない）（例えば、１日、１週間、１月、１年等）の後、ディスエーブルされたＪＩＴアカウントがクライアント１０２−１によって利用されていないとき、ディスエーブルされたＪＩＴアカウントを自動的にスキャンし、インアクティブなＪＩＴアカウントであると判定し、削除することもできる。
【００８４】
[0091]  各ＪＩＴアカウントの存続期間との関連付けによって実現することができる少なくとも１つの技術的利点は、攻撃者が、いずれのＪＩＴアカウントであってもこれに対するアクセスを取得するのが、ＪＩＴアカウントが未だイネーブルされているときだけに限られることである。加えて、ＪＩＴアカウントが未だイネーブルされている時間にＪＩＴアカウントが漏洩しても、この漏洩したＪＩＴアカウントに関連付けられた存続期間に少なくとも部分的に基づいて、攻撃者が危害を加えることができる時間が限定される。実現することができる他の技術的利点は、「パス・ザ・ハッシュ攻撃」に伴う有効性の低下である。何故なら、攻撃者がＪＩＴアカウントの１つ以上の認証トークン（例えば、ＪＩＴアカウントのハッシュおよび／またはソルトされたパスワード）へのアクセスを獲得しても、更に、現在イネーブルされているＪＩＴアカウントも発見しなければならないからである。実現することができる更に他の技術的利点は、１つ以上のインアクティブなＪＩＴアカウントの削除による攻撃表面または攻撃ベクトルの減少である。実現することができる更に他の技術的利点は、ＪＩＴアカウントが存続期間を限定されて（例えば、４時間に制限される）、役割を限定されて（例えば、１つの役割に制限される）、役割のタイプを限定されて（例えば、デバッガーに制限される）、そして範囲を限定されて（例えば、１つの違反境界に制限される）プロビジョニングされると、プロビジョニングされるＪＩＴアカウント数の増大に伴う攻撃表面または攻撃ベクトルの増大を全て緩和できることである。加えて、存続期間限定、役割限定、役割タイプ限定、および範囲限定が、相互に排他的である、即ち、重複しないように配列された違反境界と組み合わせられると、漏洩したＪＩＴアカウントにアクセスすることができる攻撃者の横方向移動（例えば、違反境界間の移動）はいずれも、大きく制限されるかまたは不可能にさせることさえある。
【００８５】
[0092]  図３は、ＪＩＴアカウント・プロビジョニング・システム１００の他の実施形態を示す。ＪＩＴアカウント・プロビジョニング・システム１００の種々の実施形態では、更に、サーバー・デバイス３０２および３０６も含むことができる。これらは、大まかには、アプリケーションの中でもとりわけ、フェデレーテット・アイデンティティ・アプリケーション(federated identity application)３０４、および認証トークン管理アプリケーション３０８をそれぞれ実行するように構成することができる。加えて、少なくとも１つのクライアント・デバイスが、更に、ＪＩＴアカウントに関連付けられた１つ以上の認証トークンを認証トークン・データーストア３１０に格納するように構成することができる。
【００８６】
[0093]  種々の実施形態において、フェデレーテット・アイデンティティ・アプリケーション３０４は、大まかには、１つ以上の認証プロトコル（例えば、Ｋｅｒｂｅｒｏｓプロトコル）を利用する多要素認証（例えば、スマート・カード、パスワード／ピン、および／または指紋を利用する二要素認証）を行うように構成することができる。また、フェデレーテット・アイデンティティ・アプリケーション３０４は、大まかには、セキュリティ・トークン・サービスを提供し、１つ以上のセキュリティ・トークン（例えば、セキュリティ・アサーション・マークアップ言語（ＳＡＭＬ： Security Assertion Markup Language）トークン）を１つ以上のクライアント１０２−ａおよび／または要求可能化アプリケーション(claim enabled application)に発行して、１つ以上の要求可能化アプリケーションが、１つ以上のクライアント１０２−ａに関連付けられたクライアント・アカウント情報（例えば、ユーザー・プリンシパル名（ＵＰＮ）、アカウント識別子、アカウント・パスワードまたはそのハッシュ派生物、アカウント・ドメイン、スマート・カード証明書等）を直接受けることなくおよび／または処理することなく、クライアントを識別できるように構成することができる。フェデレーテット・アイデンティティ・アプリケーション３０４の具体例は、ＭＩＣＲＯＳＯＦＴ  Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ  Ｆｅｄｅｒａｔｉｏｎ  Ｓｅｒｖｉｃｅ（ＡＤ ＦＳ）、ＭＩＣＲＯＳＯＦＴ  Ｆｅｄｅｒａｔｉｏｎ  Ｇａｔｅｗａｙ、または既に認証されているクライアントのアイデンティティをアサートすることの請求を含むセキュリティ・トークンを発行するように構成された任意の他のフェデレーテット・アイデンティティ・サービス・プロバイダを含むことができるが、これらに限定されるのではない。
【００８７】
[0094]  種々の実施形態において、ａｄｍｉｎ管理アプリケーション１１４のアカウント管理コンポーネント１１６は、更に、フェデレーテット・アイデンティティ・アプリケーション３０４によって発行されたセキュリティ・トークンを１つ以上のクライアント・デバイス１０４−ｂから受けて、受けたセキュリティ・トークンに基づいて、昇格アクセス許可を要求する１つ以上のクライアント１０２−ａを識別するように構成することができる。また、受けたセキュリティ・トークンは、１つ以上のクライアント１０２−ａに関連付けられたクライアント・アカウント情報も含み、アカウント許可コンポーネント１１８が、１つ以上のクライアント１０２−ａについてのクライアント・アカウント役割／範囲情報を判定することを可能にすることもできる。
【００８８】
[0095]  種々の実施形態において、認証トークン管理アプリケーション３０８は、大まかには、クライアントに関連付けられた１つ以上のＪＩＴアカウントの認証トークン（例えば、パスワード）を管理するように構成することができる。一実施形態では、認証トークン管理アプリケーション３０８は、フェデレーテット・アイデンティティ・アプリケーション３０４によって発行されたセキュリティ・トークンを１つ以上のクライアント・デバイス１０４−ｂから受け、これらの１つ以上のクライアント１０２−ａを識別するように構成することができる。
【００８９】
[0096]  一実施形態では、認証トークン管理アプリケーション３０８は、更に、１つ以上のクライアント１０２−ａと関連付けられたＪＩＴアカウントの集合体を得ることを求める１つ以上のクライアント１０２−ａの要求に応答して、１つ以上のクライアント１０２−ａに、ＪＩＴアカウントの集合体およびそれらの関連するＪＩＴアカウント情報（例えば、ＪＩＴアカウント存続期間情報、ＪＩＴアカウント役割／範囲情報、ＪＩＴアカウント識別子等）を管理のために提供するように構成することができる。更に、認証トークン管理アプリケーション３０８は、１つ以上のクライアント１０２−ａから受けた１つ以上のＪＩＴアカウントに対する認証トークンを関連付けるように構成することができ、または１つ以上のＪＩＴアカウントに対する１つ以上の認証トークンを自動的に生成し関連付けるように構成することができる。
【００９０】
[0097]  他の実施形態では、認証トークン管理アプリケーション３０８は、更に、ＪＩＴアカウント毎に受けた認証トークンまたは生成した認証トークンをＪＩＴアカウント・データーストア１２６に格納するように構成することができる。認証トークン管理アプリケーション３０８は、ネットワーク相互接続１１２およびディレクトリ・サービス・サーバー・デバイス１３０−ｌのディレクトリ・サービス・アプリケーション（図示せず）の１つ以上のＡＰＩを利用することによって、１つ以上のクライアント１０２−ａが、ディレクトリ・サービス・サーバー・デバイス１３０−ｌによって管理される１つ以上のリソースおよび／またはアセットにアクセスできるのでもよい(may be able to)ように、受けた認証トークンまたは生成した認証トークンによって１つ以上のＪＩＴアカウントを更新するように構成することができる。
【００９１】
[0098]  更に他の実施形態では、認証トークン管理アプリケーション３０８は、１つ以上の安全通信プロトコル（例えば、ハイパーテキスト・トランスファー・プロトコル・セキュア（ＨＴＴＰＳ））を利用して、安全な接続（例えば、信頼および暗号化された接続）を介して、ネットワーク相互接続１１２およびクライアント・デバイス１０４−ｂを経由して１つ以上のクライアント１０２−ａに認証トークンを供給することもできる。尚、例えば、クライアント・デバイス１０４−２のような、クライアント・デバイス１０４−ｂの内少なくとも一部が、少なくともＪＩＴアカウント識別子およびそれらに関連する認証トークンを暗号化フォーマットで、１つ以上の暗号化アルゴリズム（例えば、Ｔｗｏｆｉｓｈ対称鍵ブロック暗号）を利用して、安全に格納するために、通信可能に認証トークン・データーストア３１０に結合されるとよいことは認めることができよう。このように、ある実施形態では、クライアント・デバイス１０４−２は、クライアント１０２−２に供給された任意の認証トークンを自動的に暗号化して認証トークン・データーストア３１０に格納し、クライアント１０２−２が、１つ以上のリソースおよび／またはアセットにアクセスするために、以前に格納されたＪＩＴアカウント識別子およびそれらに関連する認証トークンを後に引き出すことを可能にするように構成することができる。
【００９２】
[0099]  ＪＩＴアカウントに対する認証トークンが平文パスワードである実施態様では、認証トークン管理アプリケーション３０８は、例えば、少なくとも２つの異なるキャラクター・クラス（例えば、数値、文字、および／または記号）を最小キャラクター長（例えば、最小８キャラクター）と結合するというような、様々な複雑さの要件を有するランダム・パスワードを生成するように構成することができる。認証トークン管理アプリケーション３０８は、更に、１つ以上のディレクトリ・サービス・サーバー・デバイス１３０−ｌおよび／または１つ以上のリソースおよび／またはアセットが攻撃者によって漏洩したときに、平文パスワードを復元できないように、生成された平文パスワードまたはクライアントによって供給された平文パスワードをハッシュおよび／またはソルトするように構成することができる。しかしながら、平文パスワードがハッシュおよび／またはソルトされても、クライアント１０２−ａは、クライアント１０２−ａに供給された平文パスワードを使用して、１つ以上のリソースおよび／またはアセットにアクセスするためにＪＩＴアカウントを利用しつづけることができることは認めることができよう。
【００９３】
[00100]  クライアントが認証トークンを設定または生成するのを容易にするために、ａｄｍｉｎ管理アプリケーション１１４の通知コンポーネント１２２は、更に、１つ以上の通知メッセージにおいて、１つ以上のクライアント１０２−ａが１つ以上のプロビジョニングされたＪＩＴアカウントのために１つ以上の認証トークンを設定および／または生成するために認証管理アプリケーション３０８にアクセスできるように、認証トークン管理アプリケーション３０８への参照を与えるように構成することができる。
【００９４】
[00101]  例示として、ＪＩＴアカウントがクライアント１０２−２に違反境界１３８−１−２に対してプロビジョニングされていると仮定すると、通知コンポーネント１２２は、情報の中でもとりわけ、このプロビジョニングされたＪＩＴアカウントに関連付けられたＪＩＴアカウント識別子と、トークン管理アプリケーション３０８のＵＲＬとを電子メールによってクライアント１０２−２に供給することができる。次いで、クライアント１０２−２はクライアント・デバイス１０４−２の１つ以上のアプリケーションおよび／またはコンポーネント（例えば、計算デバイスのウェブ・ブラウザー）を利用して、トークン管理アプリケーション３０８にアクセスして、クライアント１０２−２に関連付けられてプロビジョニングされたＪＩＴアカウントを含む、ＪＩＴアカウントの集合体を引き出すことができる。更に、クライアント１０２−２は、プロビジョニングされたＪＩＴアカウントに対してランダムな平文パスワードを設定および／または生成し、その後ＪＩＴアカウント識別子および関連するランダムな平文パスワードを認証トークン・データーストア３１０に格納することができる。プロビジョニングされたＪＩＴアカウントを使用してサーバー・デバイス１４０−１−４、１４０−１−５、１４０−１−６にアクセスまたはサービスするために、クライアント１０２−２は、次いで、クライアント・デバイス１０４−２を介して、認証トークン・データーストア３１０に格納されているＪＩＴアカウント識別子および関連するランダムな平文パスワードを引き出し、引き出したＪＩＴアカウント識別子および関連するランダムな平文パスワードを使用してサーバー・デバイス１４０−１−４にアクセスすることができる。
【００９５】
[00102]  本明細書に含まれるのは、開示したアーキテクチャの新規な態様を実行する方法の具体例を表す１組のフロー・チャートである。説明を簡略化する目的のために、ここでは、例えば、フロー・チャートまたは流れ図の形態で示される１つ以上の方法を、一連のアクトとして示し説明するが、これらの方法論は、アクトの順序によって限定されないことは理解されそして認められよう。何故なら、本開示によれば、一部のアクトは、ここで示し説明する順序とは異なる順序で現れること、および／または他のアクトと同時に行われることも可能であるからである。例えば、方法は、代わりに、状態図におけるように、相互に関係付けられた一連の状態またはイベントとして表すことも可能であることは、当業者には理解されそして認められよう。更に、方法に例示される全てのアクトが、新規な実施態様には必要ではない場合もある。
【００９６】
[00103]  図４Ａは、論理フロー４００の一実施形態を示す。論理フロー４００は、本明細書において説明した１つ以上の実施形態によって実行される動作の一部または全部を表すことができる。
【００９７】
[00104]  図４Ａに示す例示用実施形態(illustrated embodiment)では、論理フロー４００はブロック４０２において開始することができ、ブロック４０４において、アクセス許可が昇格されたＪＩＴアカウントを要求するクライアントを認証することができる。例えば、アカウント管理コンポーネント１１６は、関連クライアント・アカウントを有しアクセス許可が昇格された１つ以上のＪＩＴアカウントを要求するクライアント１０２−１を認証することができる。また、アカウント管理コンポーネント１１６は、クライアント１０２−１が、このクライアント・アカウントよりも高いアクセス許可を必要とするサーバー・デバイス１４０−１−１にアクセスするまたはサービスするために、クライアント・デバイス１０４−１を介して、アクセス許可が昇格されたＪＩＴアカウントを要求することを可能にするのでもよい。
【００９８】
[00105]  論理フロー４００は、ブロック４０６において、アクセス許可が昇格されたＪＩＴアカウントを求める要求を受けることができる。例えば、アカウント管理コンポーネント１１６は、サーバー・デバイス１４０−１−１にアクセスするまたはサービスするために１組の昇格アクセス許可を有するＪＩＴアカウントを求める要求を、クライアント・デバイス１４０−１を介して、関連クライアント・アカウントを有するクライアント１０２−１から受けることができる。
【００９９】
[00106]  論理フロー４００は、ブロック４０８において、受けた要求を許可するか否か決定することができる。例えば、アカウント許可コンポーネント１１８は、少なくとも部分的に、クライアント１０２−１のクライアント・アカウントに関連付けられたクライアント・アカウント情報、およびクライアント・デバイス１０４−１を介してクライアント１０２−１に関連付けられたクライアント・アカウントから受けたＪＩＴアカウント要求情報に基づいて、ＪＩＴアカウントを求める要求を許可するか否か決定することができる。
【０１００】
[00107]  論理フロー４００は、ブロック４１２において、要求が許可されたときにＪＩＴアカウントをプロビジョニングすることができる。例えば、アカウント・プロビジョニング・コンポーネント１２０は、ＪＩＴアカウントを求める要求がアカウント許可コンポーネント１１８によって許可されたときに、クライアント１０２−１がサーバー・デバイス１４０−１−１にアクセスすることを可能にする、アクセス許可が昇格されたＪＩＴアカウントをプロビジョニングすることができる。
【０１０１】
[00108]  論理フロー４００は、ブロック４１４において、ＪＩＴアカウント情報を提供するか、またはＪＩＴアカウント拒否情報を提供し、ブロック４１６において終了することができる。例えば、アカウント通知コンポーネント１２２は、ＪＩＴアカウントを求める要求が許可されたとき、プロビジョニングされた昇格アクセス許可を有するＪＩＴアカウントに関連付けられたＪＩＴアカウント情報を、クライアント１０２−１に提供することができる。あるいは、ＪＩＴアカウントを求める要求がアカウント許可コンポーネント１１８によって許可されなかったときは、アカウント通知コンポーネント１２２は、ＪＩＴアカウント拒否情報をクライアント１０２−１に、クライアント・デバイス１０４−１を介して提供することができ、ＪＩＴアカウント拒否情報は、拒否に対する１つ以上の理由を示すことができる。実施形態はこれらの例に限定されるのではない。
【０１０２】
[00109]  図４Ｂは、論理フロー４２０、具体的には図４Ａのブロック４０８の一実施形態を示す。論理フロー４２０は、本明細書において説明した１つ以上の実施形態において実行される動作の一部または全部を表すことができる。
【０１０３】
[00110]  図４Ｂに示す例示用実施形態では、論理フロー４２０はブロック４２２において開始することができ、ブロック４２４において、要求に関連付けられた役割および範囲を判定することができる。例えば、アカウント許可コンポーネント１１８は、ＪＩＴアカウントを求める要求に関連付けられた役割（例えば、リモート・ユーザーおよびデバッガー）および範囲（違反境界１３８−１−１）を、少なくとも部分的にクライアント・デバイス１０４−１を介してクライアント１０２−１から受けたＪＩＴアカウント要求情報に基づいて判定することができる。
【０１０４】
[00111]  論理フロー４２０は、ブロック４２６において、クライアント・アカウントに関連付けられた役割および範囲を判定することができる。例えば、アカウント許可コンポーネント１１８は、クライアント１０２−１のクライアント・アカウントに関連付けられた役割（例えば、リモート・ユーザーおよびデバッガー）および範囲（フォーレスト１３２−１）を、少なくとも部分的にクライアント１０２−１に関連付けられたクライアント・アカウント情報に基づいて判定することができる。アカウント許可コンポーネント１１８は、クライアント１０２−１についてのクライアント・アカウント情報を、ディレクトリ・サービス・アプリケーション１１０および／またはクライアント１０２−１によってクライアント・デバイス１０４−１を介して供給されたセキュリティ・トークンから受けることができる。
【０１０５】
[00112]  論理フロー４２０は、ブロック４２８において、要求された役割および範囲がアカウントの役割および範囲に該当するか否か判定することができる。例えば、アカウント許可コンポーネント１１８は、要求された役割（１つまたは複数）および範囲をアカウントの役割（１つまたは複数）および範囲と比較することによって、要求された役割および範囲が、アカウントの役割（１つまたは複数）および範囲に該当するか、または    適合するか否か判定することができる。
【０１０６】
[00113]  論理フロー４２０は、ブロック４３２において、要求された役割および範囲がアカウントの役割および範囲に該当しないとき、要求を拒否し、ブロック４３６において終了することができる。例えば、アカウント許可コンポーネント１１８は、要求された役割がリモート・ユーザーおよびデバッガーを含み、要求範囲が違反境界１３８−１−１を含み、一方アカウントの役割がデバッガーを含むがリモート・ユーザーを含まず、アカウント範囲がフォーレスト１３２−２を含むとき、要求を拒否することができる。
【０１０７】
[00114]  論理フロー４２０は、ブロック４３２において、要求された役割および範囲がアカウントの役割および範囲に該当するとき、要求を許可し、ブロック４３６において終了することができる。例えば、アカウント許可コンポーネント１１８は、要求された役割がリモート・ユーザーおよびデバッガーを含み、要求範囲が違反境界１３８−１−１を含み、一方アカウントの役割もリモート・ユーザーおよびデバッガーを含み、アカウント範囲が違反境界１３８−１−１を含むフォーレスト１３２−１を含むとき、要求を許可することができる。実施形態は、これらの例に限定されるのではない。
【０１０８】
[00115]  図４Cは、論理フロー４４０、具体的には、図４Aのブロック４１２の一実施形態を示す。論理フロー４４０は、本明細書において説明した１つ以上の実施形態によって実行される動作の一部または全部を表すことができる。
【０１０９】
[00116]  図４Cに示す例示用実施形態では、論理フロー４４０はブロック４４２において開始し、ブロック４４４において、要求された役割および範囲を有するＪＩＴアカウントの存在を判定することができる。例えば、アカウント・プロビジョニング・コンポーネント１２０は、ＪＩＴアカウント・データーストア１２６を検索および／またはスキャンし、要求役割／範囲情報を既存のＪＩＴアカウントのＪＩＴアカウント役割／範囲情報と比較することによって、要求された役割および範囲ならびに１組の昇格アクセス許可を有するＪＩＴアカウントの存在を判定することができる。アカウント・プロビジョニング・コンポーネント１２０は、更に、既存のＪＩＴアカウントに関連付けられたＪＩＴアカウント役割／範囲情報と、クライアント１０２−１から受けた要求役割／範囲情報との間における実質的な一致を判定することができる。
【０１１０】
[00117]  論理フロー４４０は、ブロック４４８において、クライアントに要求された役割および範囲を有するＪＩＴアカウントが既に存在するときに、既存のＪＩＴアカウントを引き出すことができる。例えば、アカウント・プロビジョニング・コンポーネント１２０が、要求された役割および範囲を有するＪＩＴアカウントが既にクライアント１２０−１のために存在すると判定したとき、アカウント・プロビジョニング・コンポーネント１２０は、既に作成されているＪＩＴアカウントに関連付けられたＪＩＴアカウント情報を、クライアント１２０−１のためにＪＩＴアカウント・データーストア１２６から引き出すことができる。
【０１１１】
[00118]  論理フロー４４０は、ブロック４５０において、要求された役割および範囲を有するＪＩＴアカウントがまだそのクライアントのために存在していないとき、ＪＩＴアカウントを作成することができる。例えば、アカウント・プロビジョニング・コンポーネント１２０は、要求の役割および範囲を有する既存のＪＩＴがＪＩＴアカウント・データーストア１２６において発見されなかったとき、サーバー・デバイス１４０−１−１にアクセスするためのＪＩＴアカウントをクライアント１０２−１のために作成することができる。
【０１１２】
[00119]  論理フロー４４０は、ブロック４５２においてＪＩＴをイネーブルし、ブロック４５４において終了することができる。例えば、一旦ＪＩＴアカウントが作成されたかまたは引き出されたなら、アカウント・プロビジョニング・コンポーネント１２０は、クライアント１０２−２が、イネーブルされたＪＩＴアカウントを使用して、サーバー・デバイス１４０−１−１にアクセスまたはサービスすることを可能にすることができるように、１組の昇格アクセス許可を有するＪＩＴアカウントをイネーブルすることができる。実施形態は、これらの例に限定されるのではない。
【０１１３】
[00120]  図４Ｄは、論理フロー４７０、具体的には、図４Ｃのブロック４５２の一実施形態を示す。論理フロー４７０は、本明細書において説明した１つ以上の実施形態によって実行される動作の一部または全部を表すことができる。
【０１１４】
[00121]  図４Ｄに示す例示用実施形態では、論理フロー４７０はブロック４７２において開始することができ、ブロック４７４において、違反境界へのアクセスを付与するように構成されたセキュリティ・グループを識別することができる。例えば、ＪＩＴアカウントに対して要求された範囲が違反境界１３８−１−１を含むと仮定すると、アカウント・プロビジョニング・コンポーネント１２０は、ネットワーク相互接続１１２とディレクトリ・サービス・サーバー・デバイス１３０−ｌのディレクトリ・サービス・アプリケーション（図示せず）の１つ以上のＡＰＩとを利用することによって、違反境界セキュリティ・グループ２１０−１−１を、違反境界１３８−１−１へのアクセスを付与するように構成されているものと識別することができる。
【０１１５】
[00122]  論理フロー４７０は、ブロック４７６において、ＪＩＴアカウントを、識別されたセキュリティ・グループと関連付け、ブロック４７８において終了することができる。例えば、一旦違反境界セキュリティ・グループ２１０−１−１が識別されたなら、違反境界１３８−１−１内のサーバー・デバイス１４０−１−１、１４０−１−２、１４０−１−３へのアクセスを可能にするためにＪＩＴアカウントに１組のアクセス許可を付与することができるように、このＪＩＴアカウントを違反境界セキュリティ・グループ２１０−１−１にメンバーとして追加することによって、アカウント・プロビジョニング・コンポーネント１２０はＪＩＴアカウントを違反境界セキュリティ・グループ２１０−１−１と関連付けることができる。実施形態は、これらの例に限定されるのではない。
【０１１６】
[00123]  図４Ｅは、論理フロー４８０の一実施形態を示す。論理フロー４７８は、本明細書において説明した１つ以上の実施形態によって実行される動作の一部または全部を表すことができる。
【０１１７】
[00124]  図４Ｅに示す例示用実施形態では、論理フロー４８０はブロック４８２において開始することができ、ブロック４８４においてＪＩＴアカウントの存続期間を判定することができる。例えば、アカウント存続期間コンポーネント１２４は、クライアント１０２−１からクライアント・デバイス１０４−１を介して受けたＪＩＴアカウント要求情報に基づいて、ＪＩＴアカウントの存続期間を判定することができる。あるいは、アカウント存続期間コンポーネント１２４は、ＪＩＴアカウント役割／範囲情報に基づいて、ＪＩＴアカウントの存続期間を判定することもできる。
【０１１８】
[00125]  論理フロー４８０は、ブロック４８４において、ＪＩＴアカウントの存続期間が終了したか否か判定することができる。例えば、ＪＩＴアカウント存続期間情報が、アクセス・サーバー・デバイス１４０−１−１にプロビジョニングされたＪＩＴアカウントの存続期間が２時間であり、ＪＩＴアカウントの存続期間が、ＪＩＴアカウントがプロビジョニングされた時点である午後１時から開始することを示すと仮定する。アカウント存続期間コンポーネント１２４は、アカウント存続期間コンポーネント１２４が午後３時１５分にサーバー・デバイス１４０−１−１にアクセスするためのアクセス承認要求をディレクトリ・サービス・サーバー・デバイス１３０−ｌから受けたときには、ＪＩＴアカウントの存続期間が終了していると判定することができる。あるいは、アカウント存続期間コンポーネント１２４は、アカウント存続期間コンポーネント１２４が午後１時３０分にサーバー・デバイス１４０−１−１にアクセスするためのアクセス承認要求をディレクトリ・サービス・サーバー・デバイス１３０−ｌから受けたときには、ＪＩＴアカウントの存続期間が未だ終了していないと判定することができる。
【０１１９】
[00126]  論理フロー４８０は、ブロック４９０において、ＪＩＴアカウント存続期間が終了したときにＪＩＴアカウントをディスエーブルし、ブロック４９２において終了することができる。例えば、ＪＩＴアカウント存続期間情報が、ＪＩＴアカウントの存続期間が２時間であること、そして２時間が既に経過したのでＪＩＴアカウントの存続期間は既に終了していることを示すと仮定する。すると、アカウント存続期間コンポーネント１２４は、失効したＪＩＴアカウントを使用してクライアントがサーバー・デバイス１４０−１−１にアクセスするときに、ディレクトリ・サービス・サーバー・デバイス１３０−ｌから受けたサーバー・デバイス１４０−１−１に対するあらゆるアクセス承認要求を拒否することによって、ＪＩＴアカウントを自動的に拒否することができる。実施形態は、これらの例に限定されるのではない。
【０１２０】
[00127]  図５は、既に説明した種々の実施形態を実現するのに適した例示用計算アーキテクチャ５００の実施形態を示す。一実施形態では、計算アーキテクチャ５００は、クライアント・デバイスおよび／またはサーバー・デバイスの一部を含んでもよく、またはその一部として実装されてもよい。実施形態はこの文脈において限定されることはない。
【０１２１】
[00128]  本願において使用する場合、「システム」および「コンポーネント」という用語は、ハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかのコンピューター関連エンティティを指すことを意図しており、その例は具体例としての計算アーキテクチャ５００によって示される。例えば、コンポーネントは、プロセッサー上で実行するプロセス、プロセッサー、ハード・ディスク・ドライブ、多数の記憶デバイス（光および／または磁気記憶媒体の）、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および／またはコンピューターであることが可能であるが、これらに限定されるのではない。例示として、サーバー上で実行するアプリケーションおよびサーバーの双方がコンポーネントであることが可能である。１つ以上のコンポーネントがプロセスおよび／または実行のスレッド内に常駐する(reside)ことができ、コンポーネントが１つのコンピューター上に集中配置される(localize)こと、および／または２つ以上のコンピューター間で分散されることが可能である。更に、コンポーネントは、動作を調整するために、種々のタイプの通信媒体によって互いに通信可能に結合することができる。調整には、一方向または双方向の情報交換を必要とする場合もある。例えば、コンポーネントは、通信媒体上で伝達される信号の形態で、情報を伝達することができる。情報は、種々の信号線に割り当てられる信号として実現することができる。このような割り当てでは、各メッセージが信号となる。しかしながら、他の実施形態では、代わりにデーター・メッセージを採用することもできる。このようなデーター・メッセージは、種々の接続を通して送ることができる。接続の具体例には、パラレル・インターフェース、シリアル・インターフェース、およびバス・インターフェースが含まれる。
【０１２２】
[00129]  計算アーキテクチャ５００は、１つ以上のプロセッサー、マルチコア・プロセッサー、コプロセッサー、メモリー・ユニット、チップセット、コントローラー、周辺素子、インターフェース、発振器、タイミング・デバイス、ビデオ・カード、オーディオ・カード、マルチメディア入力／出力（Ｉ／Ｏ）コンポーネント、電源等のような、種々の共通する計算エレメントを含む。しかしながら、実施形態は計算アーキテクチャ５００による実現に限定されるのではない。
【０１２３】
[00130]  図５に示すように、計算アーキテクチャ５００は、処理ユニット５０４、システム・メモリー５０６、およびシステム・バス５０８を含む。処理ユニット５０４は、種々の市販のプロセッサーの内任意のものとすることができ、限定ではなく、ＡＭＤ（登録商標）Ａｔｈｌｏｎ（登録商標）、Ｄｕｒｏｎ（登録商標）およびＯｐｔｅｒｏｎ（登録商標）プロセッサー、ＡＲＭ（登録商標）アプリケーション、埋め込みおよびセキュア・プロセッサー、ＩＢＭ（登録商標）およびＭｏｔｏｒｏｌａ（登録商標）ＤｒａｇｏｎＢａｌｌ（登録商標）、およびＰｏｗｅｒＰＣ（登録商標）プロセッサー、ＩＢＭおよびＳｏｎｙ（登録商標）Ｃｅｌｌプロセッサー、Ｉｎｔｅｌ（登録商標）Ｃｅｌｅｒｏｎ（登録商標）、Ｃｏｒｅ（２）Ｄｕｏ（登録商標）、Ｉｔａｎｉｕｍ（登録商標）、Ｐｅｎｔｉｕｍ（登録商標）、Ｘｅｏｎ（登録商標）、およびＸＳｃａｌｅ（登録商標）プロセッサー、ならびに同様のプロセッサーを含む。デュアル・マイクロプロセッサー、マルチコア・プロセッサー、および他のマルチプロセッサー・アーキテクチャも、処理ユニット５０４として採用することができる。
【０１２４】
[00131]  システム・バス５０８は、システム・メモリー５０６から処理ユニット５０４までを含むがこれらに限定されないシステム・コンポーネントのためにインターフェースを設ける。システム・バス５０８は、種々のタイプのバス構造の内任意のものにすることができ、更に、メモリー・バス（メモリー・コントローラー付きまたはメモリー・コントローラーなし）、周辺バス、およびローカル・バスに、種々の市販のバス・アーキテクチャの内任意のものを使用して相互接続することができる。インターフェース・アダプターがシステム・バス５０８に、スロット・アーキテクチャを介して接続することもできる。スロット・アーキテクチャの例には、限定ではなく、加速グラフィクス・ポート（ＡＧＰ）、カード・バス、（拡張）業界標準アーキテクチャ（（Ｅ）ＩＳＡ）、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）、ＮｕＢｕｓ、周辺素子相互接続（拡張）（ＰＣＩ（Ｘ））、ＰＣＩＥｘｐｒｅｓｓ、パーソナル・コンピューター・メモリー・カード国際連合（ＰＣＭＣＩＡ）等を含むことができる。
【０１２５】
[00132]  計算アーキテクチャ５００は、種々の製品(articles of manufacture)を含むまたは実装することができる。製品は、ロジックを格納するためのコンピューター読み取り可能記憶媒体を含むこともできる。コンピューター読み取り可能記憶媒体の例には、電子データーを格納することができるあらゆる有形媒体を含むことができ、揮発性メモリーまたは不揮発性メモリー、リムーバブルまたは非リムーバブル・メモリー、消去可能または消去不可メモリー、書き込み可能または再書き込み可能メモリー等を含むことができる。ロジックの例には、ソース・コード、コンパイル・コード(compiled code)、インタプリタ・コード(interpreted code)、実行可能コード、スタティック・コード、ダイナミック・コード、オブジェクト指向コード、ビジュアル・コード等というような、任意の適したタイプのコードを使用して実装される実行可能コンピューター・プログラム命令を含むことができる。また、実施形態は、少なくとも部分的に、一時的ではないコンピューター読み取り可能媒体内またはその上に収容される命令として実現することもでき、本明細書において説明した動作の実行を可能にするために、１つ以上のプロセッサーによって読み取り実行することができる。
【０１２６】
[00133]  システム・メモリー５０６は、リード・オンリー・メモリー（ＲＯＭ）、ランダム・アクセス・メモリー（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、データー倍速ＤＲＡＭ（ＤＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、フラッシュ・メモリー、強磁性ポリマー・メモリーのようなポリマー・メモリー、オボニック・メモリー、位相変化または強磁性メモリー、シリコン−酸化物−窒化物−酸化物−シリコン（ＳＯＮＯＳ）メモリー、磁気または光カード、独立ディスクの冗長アレイ（ＲＡＩＤ）ドライブのようなデバイスのアレイ、ソリッド・ステート・メモリー・デバイス（例えば、ＵＳＢメモリー、ソリッド・ステート・ドライブ（ＳＳＤ）、およびは情報を格納するのに適した他のあらゆるタイプの記憶媒体というような、１つ以上の高速メモリー・ユニットの形態とした種々のタイプのコンピューター読み取り可能記憶媒体を含むことができる。図５に示す例示の実施形態では、システム・メモリー５０６は不揮発性メモリー５１０および／または揮発性メモリー５１２を含むことができる。基本入力／出力システム（ＢＩＯＳ）は、不揮発性メモリー５１０に格納することができる。
【０１２７】
[00134]  コンピューター５０２は、１つ以上の低速メモリー・ユニットの形態とした種々のタイプのコンピューター読み取り可能記憶媒体を含むことができ、内部（または外部）ハード・ディスク・ドライブ（ＨＤＤ）５１４、リムーバブル磁気ディスク５１８に対して読み取りまたは書き込みを行うための磁気フロッピー・ディスク・ドライブ（ＦＤＤ）５１６、ならびにリムーバブル光ディスク５２２（例えば、ＣＤ−ＲＯＭまたはＤＶＤ）に対する読み取りまたは書き込みを行うための光ディスク・ドライブ５２０を含む。ＨＤＤ５１４、ＦＤＤ５１６、および光ディスク・ドライブ５２０は、それぞれ、ＨＤＤインターフェース５２４、ＦＤＤインターフェース５２６、および光ドライブ・インターフェース５２８によって、システム・バス５０８に接続することができる。外部ドライブ実装用のＨＤＤインターフェース５２４は、ユニバーサル・シリアル・バス（ＵＳＢ）およびＩＥＥＥ１３９４インターフェース技術の少なくとも一方または両方を含むことができる。
【０１２８】
[00135]  ドライブおよび付随するコンピューター読み取り可能媒体は、データー、データー構造、コンピューター実行可能命令等の揮発性および／または不揮発性ストレージを提供する。例えば、多数のプログラム・モジュールをドライブおよびメモリー・ユニット５１０、５１２に格納することができ、これらのプログラム・モジュールは、オペレーティング・システム５３０、１つ以上のアプリケーション・プログラム５３２、他のプログラム・モジュール５３４、およびプログラム・データー５３６を含む。一実施形態では、１つ以上のアプリケーション・プログラム５３２、他のプログラム・モジュール５３４、およびプログラム・データー５３６は、例えば、システム１００の種々のアプリケーションおよび／またはコンポーネントを含むことができる。
【０１２９】
[00136]  ユーザーは、１つ以上の有線／ワイヤレス入力デバイス、例えば、キーボード５３８およびマウス５４０のようなポインティング・デバイスによって、コマンドおよび情報をコンピューター５０２に入力することができる。他の入力デバイスは、マイクロフォン、赤外線（ＩＲ）遠隔制御手段、無線周波数（ＲＦ）遠隔制御手段、ゲーム・パッド、スタイラス・ペン、カード・リーダー、ドングル、指紋読み取り装置、グローブ、グラフィクス・タブレット、ジョイスティック、キーボード、網膜読み取り装置、タッチ・スクリーン（例えば、容量式、抵抗式等）、トラックボール、トラックパッド、センサ、スタイラス等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、入力デバイス・インターフェース５４２を介して処理ユニット５０４に接続され、入力デバイス・インターフェース５４２はシステム・バス５０８に結合されるが、パラレル・ポート、ＩＥＥＥ１３９４シリアル・ポート、ゲーム・ポート、ＵＳＢポート、ＩＲインターフェース等というような、他のインターフェースによって接続することもできる。
【０１３０】
[00137]  モニター５４４または他のタイプのディスプレイ・デバイスも、ビデオ・アダプター５４６のようなインターフェースを介して、システム・バス５０８に接続される。モニター５４４は、コンピューター５０２に対して内部でもまたは外部でもよい。モニター５４４に加えて、コンピューターは、通例、スピーカー、プリンター等のような、他の周辺出力デバイスを含む。
【０１３１】
[00138]  コンピューター５０２は、論理接続を使用して、ネットワーク接続環境において、リモート・コンピューター５４８のような１つ以上のリモート・コンピューターへの有線通信および／またはワイヤレス通信によって動作することもできる。リモート・コンピューター５４８は、ワークステーション、サーバー・コンピューター、ルーター、パーソナル・コンピューター、携帯用コンピューター、マイクロプロセッサー・ベースの娯楽アプライアンス、ピア・デバイスまたは他の共通ネットワーク・ノードとすることができ、通例、コンピューター５０２に関して説明したエレメントの多くまたは全部を含むが、簡潔さの目的のために、メモリー／記憶デバイス５５０だけが示される。図示する論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）５５２、および／またはそれよりも大きなネットワーク、例えば、ワイド・エリア・ネットワーク（ＷＡＮ）５５４に対する有線／ワイヤレス接続(connectivity)を含む。このようなＬＡＮおよびＷＡＮネットワーキング環境は、事務所や会社では極一般的であり、イントラネットのような企業規模のコンピューター・ネットワークを容易にする。イントラネットの全ては、グローバル通信ネットワーク、例えば、インターネットに接続することもできる。
【０１３２】
[00139]  ＬＡＮネットワーキング環境において使用される場合、コンピューター５０２は有線および／またはワイヤレス通信ネットワーク・インターフェースあるいはアダプター５５６を介して、ＬＡＮ５５２に接続される。アダプター５５６は、ＬＡＮ５５２に対する有線通信および／またはワイヤレス通信を容易にすることができ、アダプター５５６のワイヤレス機能性と通信するために配置されるワイヤレス・アクセス・ポイントも含むことができる。
【０１３３】
[00140]  ＷＡＮネットワーキング環境において使用される場合、コンピューター５０２はモデム５５８を含むことができ、あるいはＷＡＮ５５４上の通信サーバーに接続されるか、またはインターネットによってというように、ＷＡＮ５５４上に通信を確立する他の手段を有する。モデム５５８は、内蔵型または外付け型の有線デバイスおよび／またはワイヤレス・デバイスとすることができ、入力デバイス・インターフェース５４２を介してシステム・バス５０８に接続する。ネットワーク接続環境では、コンピューター５０２に関して図示したプログラム・モジュール、またはその一部をリモート・メモリー／記憶デバイス５５０に格納することができる。尚、図示するネットワーク接続は例示であり、コンピューター間に通信リンクを確立する他の手段を使用することもできることは認められよう。
【０１３４】
[00141]  コンピューター５０２は、ワイヤレス通信（例えば、ＩＥＥＥ８０２．１１オーバー・ジ・エア変調技法）において動作的に配置されるワイヤレス・デバイスのような、標準のＩＥＥＥ８０２ファミリーを使用して、有線およびワイヤレス・デバイスまたはエンティティと通信するように動作可能である。これは、少なくとも、Ｗｉ−Ｆｉ（即ち、ワイヤレス・フィデリティ）、ＷｉＭａｘ、およびBluetooth（登録商標）ワイヤレス技術をとりわけ含む。このように、通信は、従来のネットワークのような、予め定められた構造であること、または単に少なくとも２つのデバイス間におけるアド・ホック通信であることができる。Ｗｉ−Ｆｉネットワークは、安全で、信頼性が高く、高速なワイヤレス接続性を提供するために、ＩＥＥＥ８０２．１１ｘ（ａ、ｂ、ｇ、ｎ等）と呼ばれる無線技術を使用する。Ｗｉ−Ｆｉネットワークは、コンピューターを互いに接続するため、インターネットに接続するため、そして有線ネットワーク（ＩＥＥＥ８０２．３関連媒体および機能を使用する）に接続するために使用することができる。
【０１３５】
[00142]  実施形態には、「一実施形態」(one embodiment)または「実施形態」(an embodiment)という表現をその派生語と共に使用して説明するとよいものがある。これらの用語は、当該実施形態と関連付けて説明された特定の特徴、構造、または特性が、少なくとも１つの実施形態に含まれることを意味する。本明細書の種々の場所において「一実施形態では」という句が出てくる場合、必ずしも全てが同じ実施形態を指す訳ではない。更に、実施形態は、「結合される」(coupled)および「接続される」(connected)という表現を、その派生語と共に使用して説明することもできる。これらの用語は、必ずしも互いに対する同義語であることを意図しているのではない。例えば、実施形態の中には、２つ以上のエレメントが直接物理的にまたは電気的に互いに接触していることを示すために、「接続される」および／または「結合される」という用語を使用して説明するとよい場合がある。しかしながら、「結合される」という用語は、２つ以上のエレメントが互いに直接接触していないが、それでも互いに協働するまたは相互作用することを意味することもできる。
【０１３６】
[00143]  尚、開示の要約は、読者が本技術的開示の固有性を素早く確認することを可能にするために設けられることを強調しておく。尚、これは、請求項の範囲または意味を解釈するためや限定するために使用されるのではないことを理解した上で申し述べられることである。加えて、以上の詳細な説明では、開示を簡素化する目的に限って、１つの実施形態において種々の特徴が一緒に纏められていることがわかるであろう。この開示方法は、特許請求する実施形態が各請求項において明示的に記載されるよりも多くの特徴を必要とするという意図を表す(reflect)というように解釈してはならない。逆に、以下の特許請求の範囲が表すように、発明の主題は、１つの開示された実施形態の全ての特徴に存在する訳ではない。つまり、以下の特許請求の範囲は詳細な説明に含まれ、各請求項が別個の実施形態としてそれ自体を成り立たせている(stand on its own)。添付した特許請求の範囲において、「含む」(including)および「において」(in which)という用語は、それぞれ、「含む」(comprising)および「において」(wherein)というそれぞれの用語の平素な英語の同等語(equivalent)として使用されるものとする。更に、「第１」、「第２」、「第３」等の用語は、単に名称として使用されるのであり、それらの目的語に対して数値的な要件を強制することは意図していない。
【０１３７】
[00144]  以上で説明したことは、開示されたアーキテクチャの例を含む。勿論、コンポーネントおよび／または方法の着想可能なあらゆる組み合わせを記載することは不可能であるが、多くの他の組み合わせや置換(permutations)も可能であることは、当業者には認めることができよう。したがって、新規なアーキテクチャは、添付した請求項の主旨および範囲に該当するような全ての改変、変更、および変形を包含することを意図している。
【図１】
2017510013.tif 000003
【図２】
2017510013.tif 000004
【図３】
2017510013.tif 000005
【図４Ａ】
2017510013.tif 000006
【図４Ｂ】
2017510013.tif 000007
【図４Ｃ】
2017510013.tif 000008
【図４Ｄ】
2017510013.tif 000009
【図４Ｅ】
2017510013.tif 000010
【図５】
2017510013.tif 000011
【国際調査報告】
2017510013.tif 000012
2017510013.tif 000013
2017510013.tif 000014