Ограничиваемая удаленной частью модель делегирования

Иллюстрации

Показать все

Изобретение относится к способу и системе связи по сети между клиентом и сервером, который обрабатывает запросы от клиента к серверу. Технический результат заключается в повышении безопасности осуществления связи с серверными вычислительными устройствами и достигается за счет того, что выполняют прием первым компьютерным устройством, предназначенным для управления первым доменом, запроса от второго компьютерного устройства во втором домене на осуществление связи в качестве и от имени клиента с третьим компьютерным устройством. Определяют, что третье компьютерное устройство находится в первом домене. Проверяют условие соответствия требований политики для делегирования полномочий по осуществлению связи с третьим компьютерным устройством, причем эти одно или более требований политики заданы третьим компьютерным устройством и введены в действие первым компьютерным устройством. Принимают конфигурационную информацию касаемо второго компьютерного устройства и четвертого компьютерного устройства. Формируют подписанный билет сервиса, представляющего собой совокупность информации для удовлетворения упомянутого запроса на осуществление связи. 3 н. и 17 з.п. ф-лы, 6 ил.

Реферат

УРОВЕНЬ ТЕХНИКИ

В своей самой простой форме, осуществление связи по сети между клиентом и сервером содержит запросы от клиента к серверу, отвечать на которые и возвращать ответы клиенту может только этот сервер. Хотя такая система действительно проста, она не может хорошо масштабироваться и не может обеспечить вызывающей стороне возможности взаимодействия одновременно с несколькими сервисами, такими как сервис хранения файлов, сервис хранения базы данных и сервис электронной почты, по единственному каналу. Чтобы обеспечить клиенту возможность все также осуществлять связь с одним сервером, но еще обеспечить серверу возможность увеличения его возможностей, была применена многослойная структура. В многослойной структуре, клиент может передавать его запросы на сервер, который действует в качестве промежуточного слоя (middle tier). Этому серверу промежуточного слоя самому не обязательно содержать соответствующую информацию, необходимую для ответа на запросы клиента. Вместо этого, сервер промежуточного слоя мог бы идти дальше и обращаться к одному или нескольким серверам, которые входят в состав серверов слоя баз данных (back end tier), для того чтобы получить запрошенную клиентом информацию. Получив такую информацию, сервер промежуточного слоя сможет ответить клиенту. С точки зрения клиента, одна конечная точка связи, а именно, промежуточный слой, может обеспечивать доступ к потенциально неограниченному количеству данных и другим информационным ресурсам.

Для того чтобы обеспечить серверу промежуточного слоя возможность отвечать на запрос клиента, можно было бы разрешить ему получать информацию с серверов слоя баз данных от имени клиента. С точки зрения безопасности может быть опасно разрешить серверу промежуточного слоя осуществлять связь в качестве клиента с другими серверами, которые не входят в состав серверов слоя баз данных. Такая структура, посредством которой клиент мог обеспечивать сервер промежуточного слоя своим паролем или долгосрочными учетными данными, или другой информацией аутентификации, после чего сервер промежуточного слоя мог осуществлять связь с любыми серверами в качестве клиента, предоставляя эту информацию аутентификации, как правило, называлась "неограниченным делегированием", поскольку делегирование роли клиента серверу промежуточного слоя не было ограничено в отношении того сервера, с которым сервер промежуточного слоя мог осуществлять связь.

Одним решением проблем безопасности неограниченного делегирования была модель делегирования, как правило, называемая "ограниченным делегированием", посредством которой была введена политика, которая ограничивала серверы слоя баз данных, с которыми сервер промежуточного слоя мог осуществлять связь от имени или в качестве клиента. Обычно, модель ограниченного делегирования работала через контроллер домена, который мог обращаться к одной или нескольким политикам и определять, позволено ли серверу промежуточного слоя осуществление связи с одним или несколькими серверами слоя баз данных от имени или в качестве клиента. Например, после того, как клиент предоставлял серверу промежуточного слоя свою информацию аутентификации, сервер промежуточного слоя мог запросить у контроллера домена право действовать от имени и в качестве клиента по отношению к одному или нескольким серверам в слое баз данных. Контроллер домена, обращаясь к одной или нескольким соответствующим политикам, мог определить давать ли разрешение на запрос сервера промежуточного слоя и, если он дал разрешение на запрос сервера промежуточного слоя, контроллер домена мог бы предоставить серверу промежуточного слоя билет сервиса или другой набор информации, который сервер промежуточного слоя мог бы представить одному или нескольким серверам слоя баз данных, указывая, что контроллер домена признал допустимым, что сервер промежуточного слоя действует от имени и в качестве клиента при осуществлении связи с этими серверами слоя баз данных.

К сожалению, реализация ограниченного делегирования во множестве доменов сетевых вычислительных устройств может быть сложной. Точнее, серверы слоя баз данных в одном домене не обязательно должны доверять контроллеру домена другого, отличающегося домена, такого как домен, который содержит сервер промежуточного слоя. Вместо этого, контроллер домена упомянутого домена, который содержит сервер промежуточного слоя, может устанавливать связь, напрямую или опосредованно, через сервер промежуточного слоя и серверы слоя баз данных, с контроллером домена того домена, который содержит серверы слоя баз данных, и предоставлять этому контроллеру второго домена достаточную информацию для того, чтобы обеспечить ему возможность определения, что действительно разрешено делегирование серверу промежуточного слоя полномочий на осуществление связи с одним или несколькими серверами слоя баз данных. Такая модель может быть сложна для реализации, поскольку требует взаимодействия администраторов множества контроллеров доменов или множества доменов. В дополнение к этому, такая модель направлена на ограничение делегирования тем, разрешено ли политикой домена делегировать серверу промежуточного слоя полномочия на осуществление связи с одним или несколькими серверами слоя баз данных.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

В одном варианте осуществления, делегирование вычислительному устройству промежуточного слоя полномочий на осуществление связи с одним или несколькими серверными вычислительными устройствами, которые входят в состав слоя баз данных, может быть определено не тем, позволяет ли политика домена делегировать вычислительному устройству промежуточного слоя полномочия на осуществление связи с одним или несколькими вычислительными устройствам слоя баз данных, но вместо этого, тем, позволяют ли индивидуальные политики каждого из одного или нескольких вычислительных устройств слоя баз данных делегирование вычислительному устройству промежуточного слоя полномочий на осуществление связи с ними. Следовательно, роль администратора домена уменьшается, и вместо этого, соответствующее принятие решений на основании политики может выполняться системными администраторами вычислительных устройств слоя баз данных, которые могут быть более осведомлены о сервисах, которые предлагаются такими вычислительными устройствами слоя баз данных.

В другом варианте осуществления, вычислительное устройство контроллера домена, при получении от вычислительного устройства промежуточного слоя запроса делегирования ему полномочий на осуществление связи с одним или несколькими вычислительными устройствами слоя баз данных, может принять во внимание, находятся ли одно или несколько вычислительных устройств слоя баз данных в домене данного контроллера домена. Если вычислительные устройства слоя баз данных находятся в домене данного контроллера домена, то вычислительное устройство контроллера домена может предоставить вычислительному устройству промежуточного слоя билет сервиса или другой набор информации, который вычислительное устройство промежуточного слоя может представить одному или нескольким вычислительным устройствам слоя баз данных, чтобы обеспечить вычислительному устройству промежуточного слоя возможность действовать в качестве и от имени клиентского вычислительного устройства. Однако, если вычислительные устройства слоя баз данных не находятся в домене данного контроллера домена, то вычислительное устройство контроллера домена может, вместо этого, предоставить вычислительному устройству промежуточного слоя маркер или другой набор информации, который вычислительное устройство промежуточного слоя может представить другому вычислительному устройству контроллера домена отличающегося домена, чтобы действовать в качестве и от имени клиентского вычислительного устройства в отношении вычислительных устройств слоя баз данных в упомянутом другом, отличающемся домене.

В дополнительном варианте осуществления, вычислительные устройства контроллера домена могут удостоверять вычислительное устройство промежуточного слоя или другие вычислительные устройства контроллера домена, до предоставления маркеров, билетов сервиса или других подобных данных, которые могут использоваться, чтобы в перспективе обеспечить вычислительному устройству промежуточного слоя возможность действовать в качестве и от имени клиентского вычислительного устройства при осуществлении связи с одним или несколькими вычислительными устройствами слоя баз данных.

Данный раздел Раскрытие изобретения представлен, чтобы в упрощенной форме ввести набор идей, которые далее описаны в разделе Осуществление изобретения. Раскрытие изобретения не предназначено для определения ключевых признаков или существенных признаков заявленного изобретения и не предназначено для того, чтобы использоваться для ограничения объема заявленного изобретения.

Дополнительные признаки и преимущества станут очевидными из приведенного ниже подробного описания осуществления изобретения, которое развивается со ссылками на прилагаемые чертежи.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Приведенное ниже подробное описание может быть наилучшим образом понято при изучении в совокупности с сопровождающими чертежами, из которых:

Фиг. 1 - схема примерного вычислительного устройства;

Фиг. 2 - схема системы, иллюстрирующая примерную последовательность обмена сообщениями для обеспечения возможности делегирования вычислительному устройству промежуточного слоя полномочий на осуществление связи с вычислительным устройством слоя баз данных в рамках одного и того же домена;

Фиг. 3 - схема системы, иллюстрирующая примерную последовательность обмена сообщениями для обеспечения возможности делегирования вычислительному устройству промежуточного слоя полномочий на осуществление связи с вычислительным устройством слоя баз данных в другом домене;

Фиг. 4 - схема системы, иллюстрирующая другую примерную последовательность обмена сообщениями для обеспечения возможности делегирования вычислительному устройству промежуточного слоя полномочий на осуществление связи с вычислительным устройством слоя баз данных в другом домене;

Фиг. 5 - блок-схема примерной последовательности операций примерного вычислительного устройства промежуточного слоя;

Фиг. 6 - блок-схема примерной последовательности операций примерного вычислительного устройства контроллера домена.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ

Приведенное ниже подробное описание относится к модели делегирования, в которой решения относительно того, могут ли вычислительному устройству промежуточного слоя быть делегированы полномочия на осуществление связи с вычислительным устройством слоя баз данных, определяются тем, позволит ли вычислительное устройство слоя баз данных делегирование полномочий вычислительному устройству промежуточного слоя на осуществление связи с ним. Для реализации такой модели делегирования, в одном варианте осуществления, вычислительное устройство контроллера домена, при получении от вычислительного устройства промежуточного слоя запроса делегирования ему полномочий на осуществление связи с вычислительным устройством слоя баз данных, может сначала определить, находится ли вычислительное устройство слоя баз данных в домене данного контроллера домена. Если вычислительное устройство слоя баз данных находится в домене данного контроллера домена, контроллер домена может предоставить вычислительному устройству промежуточного слоя билет сервиса или другой набор информации, который вычислительное устройство промежуточного слоя может представить вычислительному устройству слоя баз данных, чтобы обеспечить вычислительному устройству промежуточного слоя возможность действовать в качестве и от имени клиентского вычислительного устройства. Однако, если вычислительное устройство слоя баз данных не находится в домене контроллера домена, вычислительное устройство контроллера домена может, вместо этого, предоставить вычислительному устройству промежуточного слоя маркер или другой набор информации, который вычислительное устройство промежуточного слоя может представить другому вычислительному устройству контроллера домена отличающегося домена для того, чтобы действовать в качестве и от имени клиентского вычислительного устройства по отношению к вычислительному устройству слоя баз данных в этом другом, отличающемся домене. Таким образом, возможность вычислительного устройства промежуточного слоя действовать в качестве и от имени клиентского вычислительного устройства, при его осуществлении связи с вычислительным устройством слоя баз данных, может управляться политикой, приводимой в исполнение вычислительным устройством контроллера домена того же самого домена, в котором находится вычислительное устройство слоя баз данных, а следовательно, самим вычислительным устройством слоя баз данных, выступающим в качестве спецификатора этой политики.

Методы, описанные здесь, могут ссылаться на конкретные типы связи и элементов связи, такие как "билеты сервиса" или "маркеры". Такие ссылки, однако, представлены только для того, чтобы назначить систему условных названий для наборов данных, которые предоставляют информацию, которую необходимо сообщить процессам и процедурам принятия решений, подробно разъясненных в представленном ниже описании. Такие ссылки не предназначены для ограничения методов, описанных для конкретных стандартных протоколов, с которыми обычно ассоциирована система условных названий. Следовательно, хотя специалисты в данной области техники могут распознать, что конкретные, существующие протоколы аутентификации и делегирования, такие как Kerberos, могут быть оптимизированы для выполнения, по меньшей мере, некоторых из подробно описанных ниже элементов, представленное здесь описание не предназначено для ограничения такими существующими протоколами, а, вместо этого, является в равной степени применимым к любому набору сообщений и данных, которые могут предоставляться для, и выполнять отдельные аспекты механизмов и процессов, описанных ниже. Аналогично, описанные здесь методы ссылаются на один или несколько вычислительных устройств "контроллера домена". Такие ссылки даны для удобства обозначения и простоты понимания и не предназначены для ограничения описанных методов конкретно вычислительными устройствами, которые должны реализовывать полный комплект функциональных возможностей контроллера домена. Вместо этого, как будет понятно специалистам в данной области техники, функциональные возможности, подробно описанные ниже со ссылкой на "контроллеры домена" могут реализовываться любым вычислительным устройством доверенного центрального органа управления. Следовательно, согласно его использованию здесь, термин "контроллер домена" означает любой доверенный центральный орган управления, а термин "вычислительное устройство контроллера домена" означает любое одно или несколько вычислительных устройств, которые включают в себя и реализуют доверенный центральный орган управления.

Хотя и не обязательно, приведенное ниже описание будет представлено в общем контексте компьютерно-выполняемых инструкций, таких как программные модули, выполняемые вычислительным устройством. Более конкретно, описание будет ссылаться на действия и символические представления операций, которые выполняются одним или несколькими вычислительными устройствами или периферийными средствами, если не указано иное. Таким образом, необходимо понимать, что такие действия и операции, которые иногда называются компьютерно-выполняемыми, включают в себя выполняемые блоком обработки действия с электрическими сигналами, представляющими данные в структурированной форме. Эти действия преобразуют данные или сохраняют их в ячейках в памяти, что реконфигурирует или по-другому изменяет работу вычислительного устройства или периферийных средств хорошо известным специалистам в данной области техники. Структуры данных, где сохраняются данные, являются физическими ячейками, которые имеют конкретные свойства, определяемые форматом данных.

Как правило, программные модули включают в себя подпрограммы, программы, объекты, компоненты, структуры данных и т.п., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Кроме того, специалисты в этой области техники поймут, что вычислительные устройства не должны быть ограничены обычными персональными компьютерами и включают в себя другие вычислительные конфигурации, включая портативные устройства, многопроцессорные системы, бытовую электронику на микропроцессорной основе или программируемую бытовую электронику, сетевые персональные компьютеры, миникомпьютеры, мэйнфреймы и тому подобное. Кроме того, вычислительные устройства не должны быть ограничены отдельным вычислительным устройством, поскольку описанные механизмы также могут быть осуществлены в распределенных вычислительных средах, связанных через сеть связи. В распределенной вычислительной среде программные модули могут быть расположены как в локальных, так и в удаленных запоминающих устройствах.

Со ссылкой на Фиг. 1 показано примерное вычислительное устройство 100, содержащее, в частности, аппаратные элементы, которые могут быть использованы в описанных ниже методах, и содействовать им. Примерное вычислительное устройство 100 может включать в себя, но не ограничиваясь этим, один или несколько центральных блоков обработки (CPU) 120, системную память 130 и системную шину 121, которая соединяет различные компоненты системы, включая системную память, с блоком 120 обработки. Системная шина 121 может быть любой из нескольких типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, использующих любую из разнообразных шинных конфигураций. В зависимости от конкретной физической реализации, один или несколько CPU 120, системная память 130 и другие компоненты вычислительного устройства 100 могут быть физически совмещены, например, на однокристальной схеме. В таком случае, часть или вся системная шина 121 может представлять собой не более чем дорожки на кристалле в пределах структуры на однокристальной схеме и ее изображение на Фиг. 1 может представлять служить не более чем для удобства обозначения с целью иллюстрации.

Вычислительное устройство 100 также обычно включает в себя машиночитаемые носители, которые могут включать в себя любые доступные носители, к которым может иметь доступ вычислительное устройство 100. В качестве примера, но не ограничения, машиночитаемые носители могут содержать компьютерные носители хранения данных и носители передачи данных. Компьютерные носители хранения данных включают носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные носители хранения данных включают в себя, но не ограничиваются ими, ОЗУ (RAM), ПЗУ (ROM), ЭСППЗУ (EEPROM), флэш-память или другую технологию памяти, CD-ROM,цифровые универсальные диски (DVD) или другие оптические дисковые носители, магнитные кассеты, магнитную ленту, накопитель на магнитных дисках или другие магнитные запоминающие устройства или любой другой носитель, который может использоваться для хранения требуемой информации и к которому может обращаться вычислительное устройство 100. Носители передачи данных обычно воплощают машиночитаемые команды, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как сигнал несущей или другой транспортный механизм, и включают в себя любую среду доставки информации. В качестве примера, но не ограничения, носители передачи данных включают в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как акустические, радиочастотные (RF), инфракрасные и другие беспроводные среды. Комбинации любых вышеуказанных носителей также должны быть включены в объем машиночитаемых носителей.

При использовании носителей передачи данных, вычислительное устройство 100 может работать в сетевой среде через логические соединения с одним или несколькими удаленными компьютерами. Логическое соединение, изображенное на Фиг. 1, является общим сетевым соединением 171 с сетью 180, которая может быть локальной сетью (LAN), глобальной сетью (WAN), такой как Интернет, или другими сетями. Вычислительное устройство 100 подключено к общему сетевому соединению 171 через сетевой интерфейс или адаптер 170, который, в свою очередь, подключен к системной шине 121. В сетевой среде программные модули, изображенные по отношению к вычислительному устройству 100, или их части, или их периферийные средства, могут храниться в памяти одного или нескольких других вычислительных устройств, которые соединены с возможностью связи с вычислительным устройством 100 через общее сетевое соединение 171. Следует понимать, что показанные сетевые соединения являются примерными, и могут использоваться другие средства установления линии связи между вычислительными устройствами.

В числе компьютерных носителей хранения данных, системная память 130 содержит компьютерные носители хранения данных в виде энергозависимой и/или энергонезависимой памяти, в том числе Постоянную Память (ROM) 131 и Оперативная Память (RAM) 132. Базовая система ввода/вывода (BIOS) 133, содержащая, среди прочего, код для загрузки вычислительного устройства 100, обычно хранится в ROM 131. RAM 132 обычно содержит данные и/или программные модули, которые доступны немедленно и/или в данный момент обрабатываются блоком 120 обработки. В качестве примера, но не ограничения, Фиг. 1 иллюстрирует операционную систему 134, другие программные модули 135 и программные данные 136. RAM 132 может дополнительно содержать данные, которые могут иметь отношение к работе ТРМ 150, например, журнал 190 событий TCG. В одном варианте осуществления, журнал событий TCG 190 может содержать уникальную идентификацию всех модулей, загруженных или исполняемых вычислительным устройством 100 с момента подачи питания или с момента последней перезапуска, тех же модулей, загрузка или исполнение которых могли привести к значениям, в настоящее время хранимым ТРМ 150 в одном или нескольких PCR.

Вычислительное устройство 100 может также включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители хранения данных. Только в качестве примера, Фиг. 1 иллюстрирует накопитель 141 на жестких дисках, который считывает или записывает на несъемные энергонезависимые носители. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители хранения данных, которые могут использоваться с примерным вычислительным устройством, включают в себя, но не ограничиваются ими, кассеты с магнитной лентой, карты флэш-памяти, цифровые многоцелевые диски, цифровую видеокассету, твердотельный RAM, твердотельный ROM и тому подобное. Накопитель 141 на жестких дисках обычно соединен с системной шиной 121 через несъемный интерфейс памяти, такой как интерфейс 140.

Накопители и ассоциированные с ними компьютерные носители хранения данных, описанные выше и проиллюстрированные в Фигуре 1, обеспечивают хранение машиночитаемых инструкций, структур данных, программных модулей и других данных для вычислительного устройства 100. На Фиг. 1, например, накопитель 141 на жестких дисках проиллюстрирован как хранящий операционную систему 144, другие программные модули 145 и программные данные 146. Заметим, что эти компоненты могут быть либо такими же, либо отличающимися от операционной системы 134, других программных модулей 135 и программных данных 136. Операционная система 144, другие программные модули 145 и программные данные 146 обозначены различными числами для иллюстрации того, что, как минимум, они являются разными копиями. Показанная на Фиг. 2 система 200 содержит четыре вычислительных устройства, то есть клиентское вычислительное устройство 210, вычислительное устройство 220 промежуточного слоя, вычислительное устройство 230 слоя баз данных и вычислительное устройство 240 контроллера домена. Каждое из этих вычислительных устройств может быть представлено в форме примерного вычислительного устройства 100 только что описанного, и может содержать некоторые или все компоненты, описанные выше со ссылкой на примерное вычислительное устройство 100. Вычислительные устройства системы 200 показаны на Фиг. 2 соединенными с возможностью связи через коммуникационные соединения с сетью 180. Для простоты иллюстрации, сеть 180 схематично показана как единый иллюстративный элемент, однако не подразумевается, что она ограничена одним доменом сети или чем-либо другим, таким как сетевой раздел или структура, а также не подразумевается, что она иллюстрирует сеть, которая является внешней по отношению к домену А 290, который также показан в системе 200 по Фиг. 2. Вместо этого, согласно использованию на Фигурах, сеть 180 предназначена, чтобы представлять все сетевые коммуникационные соединения между вычислительными устройствами в системах, показанных в Фигурах, включая различные проиллюстрированные домены, а также предназначена, чтобы представлять как прямые, так и опосредованные коммуникационные соединения. Так, например, система 200, показанная на Фиг. 2, иллюстрирует примерную последовательность обмена сообщениями, с помощью которой клиентское вычислительное устройство 210 может осуществлять связь напрямую или опосредованно через сеть 180 с вычислительным устройством 220 промежуточного слоя. Система 200 по Фиг. 2 дополнительно иллюстрирует примерную последовательность обмена сообщениями, с помощью которой вычислительное устройство 220 промежуточного слоя может, опять-таки напрямую или опосредованно, и опять-таки через сеть 180, осуществлять связь с вычислительным устройством 240 контроллера домена и вычислительным устройством 230 слоя баз данных. Таким образом, хотя вычислительное устройство 220 промежуточного слоя, вычислительное устройство 240 контроллера домена и вычислительное устройство 230 слоя баз данных показаны, все, как входящие в состав одного и того же домена А 290, сеть 180, как уже было указано, предназначена, чтобы рассматриваться как содержащая домен А 290, и не предназначена, чтобы рассматриваться, как сетевой блок, который отделен и удален от домена А 290. Как будет подробно описано ниже, показанный обмен сообщениями иллюстрируют примерную работу механизма делегирования, который может обеспечить вычислительному устройству 220 промежуточного слоя возможность действовать от имени клиентского вычислительного устройства 210 по отношению к вычислительному устройству слоя баз данных, такому как вычислительное устройство 230 слоя баз данных.

Сначала, как показано в системе 200 на Фиг. 2, клиентское вычислительное устройство 210 может аутентифицировать себя для вычислительного устройства промежуточного слоя, такого как вычислительное устройство 220 промежуточного слоя, посредством предоставления, через сообщение 215, идентификатор клиента, или другой набор данных, который может быть подписан вычислительным устройством 240 контроллера домена. Например, в одном варианте осуществления, до инициации связи, например, обмена сообщениями 215, с вычислительным устройством 220 промежуточного слоя, клиентское вычислительное устройство 210 может сначала получить идентификатор клиента от вычислительного устройства 240 контроллера домена. Как будет понятно специалистам в данной области техники, вычислительное устройство 240 контроллера домена может осуществлять оценку клиентского вычислительного устройства 210 до предоставления такого идентификатора клиента. Например, вычислительное устройство 240 контроллера домена может проверить, что клиентское вычислительное устройство 210 отвечает соответствующим настройкам безопасности, таким как, например, наличие установленных наиболее свежих версий прикладных программ защиты от вредоносного программного обеспечения, или как, в другом примере, наличие установленных наиболее свежих дополнений (патчей) для различных операционных систем и прикладных программ программного обеспечения, постоянно находящихся на вычислительном устройстве клиента 210. Такая информация может быть предоставлена вычислительным устройством клиента 210, как часть его обмена сообщениями с вычислительным устройством 240 контроллера домена, и может быть проверена вычислительным устройством контроллера домена с использованием, например, обращения к журналу событий, который может поддерживаться, способом с возможностью безопасной проверки, клиентским вычислительным устройством 210.

После того, как вычислительное устройство 240 контроллера домена определит, что клиентскому вычислительному устройству 210 может быть разрешено осуществлять связь с другими вычислительными устройствами в домене А 290, управляемом вычислительным устройством 240 контроллера домена, и проиллюстрированном затемненной областью, показанной на Фиг. 2, вычислительное устройство 240 контроллера домена может предоставлять идентификатор клиента или другой набор идентификационных данных клиентскому вычислительному устройству 210. Такой идентификатор клиента, или другие идентификационные данные, могут подписываться контроллером 240 домена таким образом, что другие вычислительные устройства в домене А 290 могут проверять их аутентичность. Например, каждое из других вычислительных устройств в домене А 290, таких как вычислительное устройство 220 промежуточного слоя и вычислительное устройство 230 слоя баз данных, может иметь доступ к открытому ключу вычислительного устройства 240 контроллера домена. Таким образом, если вычислительное устройство 240 контроллера домена подписало идентификатор клиента его закрытым ключом, соответствующим открытому ключу, которым обладают другие вычислительные устройства в домене А 290, каждый из этих других вычислительных устройств может проверить такую подпись с помощью обращения к открытому ключу способом, хорошо известным специалистам в данной области техники. Альтернативно, вместо того, чтобы полагаться на пары открытых/закрытых ключей, подпись может быть выполнена с одним или несколькими совместно используемыми симметричными ключами, которые поддерживаются между вычислительным устройством 240 контроллера домена и вычислительными устройствами в домене, таком как домен А 290, которые осуществляют связь с вычислительным устройством 240 контроллера домена.

Таким образом, когда клиентское вычислительное устройство 210 передает, через сообщение 215, его идентификатор клиента на вычислительное устройство 220 промежуточного слоя, вычислительное устройство 220 промежуточного слоя может использовать, например, открытый ключ вычислительного устройства 240 контроллера домена, чтобы проверить, что идентификатор клиента, предоставленный клиентским вычислительным устройством 210 в сообщении 215, был действительно подписан вычислительным устройством 240 контроллера домена. После такой проверки клиентского вычислительного устройства 210 вычислительное устройство 220 промежуточного слоя может принимать запросы от клиентского вычислительного устройства 210 и может, в качестве части этих запросов, требовать, чтобы клиентское вычислительное устройство 210 предоставило некоторую идентификационную или аутентификационную информацию, чтобы доказать, что пользователь клиентского вычислительного устройства 210 авторизован для доступа к запрашиваемой информации или ресурсам. Как будет подробно описано ниже, такая идентификационная и аутентификационная информация после может быть использована вычислительным устройством 220 промежуточного слоя, чтобы действовать от имени клиентского вычислительного устройства 210 по отношению к вычислительному устройству слоя баз данных, такому как вычислительное устройство 230 слоя баз данных.

Как уже было указано, информация или ресурсы, запрашиваемые пользователем клиентского вычислительного устройства 210, не обязательно должны быть совмещены с вычислительным устройством 220 промежуточного слоя. Вместо этого, вычислительное устройство 220 промежуточного слоя может действовать в качестве единственной конечной точки связи для клиентского вычислительного устройства 210, чтобы осуществлять любой из огромного количества запросов, и вычислительное устройство 220 промежуточного слоя может затем осуществлять связь с соответствующим вычислительным устройством слоя баз данных, таким как вычислительное устройство 230 слоя баз данных, для доступа к соответствующей информации или ресурсам, запрашиваемым пользователем клиентского вычислительного устройства 210. Таким образом, одно вычислительное устройство промежуточного слоя, такое как вычислительное устройство 220 промежуточного слоя, может обеспечить доступ к огромному количеству информации или других ресурсов, которые могут быть распределены по множеству вычислительных устройств слоя баз данных, хотя, для простоты иллюстрации, только одно вычислительное устройство слоя баз данных, то есть вычислительное устройство 230 слоя баз данных, показано в системе 200 Фиг. 2.

После того как вычислительное устройство 220 промежуточного слоя удостоверило клиентское вычислительное устройство 210, например, с помощью обращения к идентификатору клиента, переданному посредством сообщения 215, и после того как вычислительное устройство 220 промежуточного слоя приняло идентификационную и аутентификационную информацию от пользователя клиентского вычислительного устройства 210, чье осуществление связи не показано явно в системе 200 по Фиг. 2, чтобы избежать переполнения иллюстрации, вычислительное устройство 220 промежуточного слоя может осуществить запрос, чтобы получить разрешение на осуществление связи с подходящим вычислительным устройством слоя баз данных, таким как вычислительное устройство 230 слоя баз данных, как если бы оно было клиентским вычислительным устройством 210. Такой запрос 225 может, в одном варианте осуществления, передаваться в вычислительное устройство 240 контроллера домена вместе с информацией, которую вычислительное устройство 240 контроллера домена может использовать для оценки, и соответствующего действия, запроса 225. Например, как проиллюстрировано в системе 200 по Фиг. 2, на вычислительное устройство 220 промежуточного слоя может, с запросом 225, предоставить идентификатор 250 клиента, который оно приняло от клиентского вычислительного устройства 210 посредством сообщения 215, и который подписан вычислительным устройством 240 контроллера домена. Аналогично, что также показано, вычислительное устройство 220 промежуточного слоя может, с запросом 225, предоставить свой собственный идентификатор 260, который, как и идентификатор 250 клиента, подписан вычислительным устройством 240 контроллера домена.

В одном варианте осуществления вычислительное устройство 240 контроллера домена, при приеме запроса 225 и идентификаторов 250 и 260, может проверить клиентское вычислительное устройство 210 и вычислительное устройство 220 промежуточного слоя с помощью обращения к идентификаторам 250 и 260, соответственно. Вычислительное устройство контроллера домена может, также до определения того, позволять ли делегирование вычислительному устройству 220 промежуточного слоя полномочий на осуществление связи с вычислительным устройством 230 слоя баз данных, сначала определить, находится ли фактически вычислительное устройство 230 слоя баз данных, делегирование полномочий на осуществление связи с которым желательно вычислительному устройству 220 промежуточного слоя, в домене А 290 вычислительного устройства 240 контроллера домена. Таким образом, как представлено в системе 200 по Фиг. 2 с помощью пунктирной линии 235, вычислительное устройство 240 контроллера домена может определить находится ли вычислительное устройство 230 слоя баз данных в домене А 290. Если вычислительное устройство 230 слоя баз данных находится в домене А 290, вычислительное устройство 240 контроллера домена может обращаться к одной или нескольким полити