воскресенье, 11 июля 2010 г.

Олицетворение Microsoft делегировано...

Жизнь полна сюрпризов!
Еще не отойдя как следует от творения "Грибоедовых" явивших миру "C# для школьников" я вновь оказался в логове темных сил библиотеке Microsoft. Раздел "Бесплатные книги Русского MSDN" притягивал курсор мыши как магнитом. Новинка! Недолго думая "Руководство MICROSOFT® по проектированию архитектуры приложений" аккуратно легло в папочку "Downloads" в виде PиDиэF файла.
Изучать всерьез такие фундаментальные труды на данном этапе конечно не входило в мои планы. Но и пройти мимо бесплатного сыра - противоречило самым светлым идеалам, что-то там про свободу информации...
Пробежав взглядом 529 страниц, из которых чуть ли не четверть состояла из предисловий и уведомлений о какой-то ответственности... Я понял, что нахожусь на самой низшей ступени развития.
Оставалось только забросить книжонку в дальний угол, на случай если вдруг поумнею лет через двадцать-тридцать...
Ха! Воскресный вечер грозил бессонной ночью, т.к. в голове со свистом продолжала вращаться какая-то шестеренка, в попытках зацепиться... Но безуспешно.
Чтобы усыпить воображение сделал вторую попытку... ОЛИЦЕТВОРЕНИЕ - это слово повторялось почти в каждой главе, а фразы вокруг него заставляли пробуксовывать относительно слаженный механизм в черепушке.
Далее рискну навлечь на себя гнев темной силы, и приведу те абзацы где упоминается "олицетворение" (текст большой, так что запаситесь терпением):
Упоминание в разделе "Аутентификация"
Если слой представления и бизнес-слой развернуты на одном компьютере и требуется выполнять доступ к ресурсам на основании разрешений Списка управления доступом (access control list, ACL) исходного вызывающего, рассмотрите возможность использования олицетворения. Если слой представления и бизнес-слой развернуты на разных компьютерах и требуется выполнять доступ к ресурсам на основании разрешений ACL исходного вызывающего, рассмотрите возможность использования делегирования. Однако делегирование обусловливает более интенсивное использование ресурсов и, кроме того, не поддерживается многими средами, поэтому должно применяться только в случае крайней необходимости. Если требования безопасности позволяют, выполняйте аутентификацию пользователя на границе и реализуйте обращения к нижним слоям с помощью доверенной подсистемы. В качестве альтернативы предлагается подход обеспечения безопасности на основании утверждений (особенно для приложений на базе сервисов), который использует преимущества механизмов интегрированной идентификации и обеспечивает возможность целевой системе проводить аутентификацию утверждений пользователя.

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

Упоминание в разделе "Подключения"
Применение модели доверенной подсистемы безопасности позволит воспользоваться преимуществами пула подключений; по возможности избегайте олицетворения или использования личных удостоверений.

Упоминание в разделе "Пул подключений"
Чтобы максимально повысить эффективность пула подключений, используйте модель безопасности доверенная подсистема и по возможности избегайте олицетворения.

Упоминание в разделе "Авторизация"
Применяйте авторизацию на базе ресурсов для аудита системы. При авторизации на базе ресурсов права доступа определяются в самом ресурсе. Например, список управления доступом (ACL) ресурса Windows использует удостоверение исходного вызывающего для определения его прав доступа к ресурсу. При использовании авторизации на базе ресурсов в WCF необходимо выполнить олицетворение исходного вызывающего через клиента или слой представления, через слой сервисов WCF и для кода бизнес-логики, выполняющего доступ к ресурсу.

Упоминание в разделе "Технология ASMX"
Поддерживает аутентификацию IIS, роли, хранящиеся как группы Windows для авторизации, олицетворение IIS и ASP.NET и безопасность на транспортном уровне с использованием протокола SSL.

Упоминание в разделе "Шаблоны обеспечения безопасности"
Шаблоны обеспечения безопасности представляют проверенные решения типовых проблем, связанных с безопасностью. Хорошим подходом для передачи контекста исходной вызывающей стороны на нижние уровни или компоненты приложения является олицетворение/делегирование.

Упоминание в разделе "Олицетворение/делегирование"
В модели олицетворения/делегирования доступ к ресурсам и типам операций (таким как чтение, запись и удаление) контролируется посредством списков управления доступом Windows (Windows Access Control Lists, ACLs) или эквивалентных средств безопасности целевых ресурсов (таких как таблицы и процедуры SQL Server). Доступ к ресурсам пользователями осуществляется с применением их исходных удостоверений через олицетворение.

Наконец сводная таблица "Шаблоны проектирования", а именно шаблон "Безопасность".
Impersonation and Delegation (Олицетворение и делегирование). Процесс временного присвоения другого удостоверения для обеспечения возможности использования для доступа к ресурсу другого контекста безопасности или набора учетных данных. При этом учетная запись сервиса может выполнять доступ к удаленному ресурсу от лица другого пользователя.

Упоминание в разделе "Авторизация"
Применяйте олицетворение и делегирование, чтобы использовать преимущества аудита действий пользователя и тонкого контроля доступа, предоставляемые платформой, но не забывайте о влиянии на производительность и масштабируемость.

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

Упоминание в разделе "Шаблоны обеспечения безопасности данных"
Шифрование данных тенанта (применяется ко всем трем многотенантным моделям). Защитите данные с помощью симметричного шифрования, и секретный ключ тенанта – помощью ассиметричного шифрования (с применением пары открытый/секретный ключ). Используйте олицетворения для доступа к базе данных с применением безопасного контекста тенанта и секретный ключ тенанта для дешифрования данных в базе данных, чтобы с ними можно было работать. Недостаток этого метода в невозможности индексации шифрованных столбцов, что означает необходимость
компромисса между безопасностью данных и производительностью. Старайтесь избегать использования полей индекса, содержащих конфиденциальные данные.

Собрав воедино сии страшные заклинания, закрыл глаза и углубился в дальние слои памяти. Меня не оставляло чувство dejavu...
Через несколько минут стали всплывать имена и фамилии: Жюль Лермин, Агриппа Неттесгеймский, Жерар Анкосс, Лафатер, Сведенборг, Месмер и Элифас Леви с Еленой Блаватской. Теперь начали шевелится волосы на голове. Бля! Да это каббалистические науки какие-то!
Отыскал в книжном шкафу "Практическую магию" Папюса, открыл наугад посерединке, и читаю...
При составлении талисманов, пантаклей и ранее указанных вещей, следует всегда помнить, что их надо окурить по окончании операции и употреблять только те орудия, которые указаны в таблицах, работать только в часы и дни господствующей планеты и в месяцы, подлежащие операции.
Сверх того, надо быть очень внимательным во время операции и не делать никогда упущений, не имея ввиду другой цели, кроме славы Божией, исполнения своих желаний для благоденствия своего ближнего...
Это что же получается? Если я в час урочный употребив Донского табаку вслух и с выражением прочту эту оккультную инструкцию от Microsoft... то мне автоматом выдадут удостоверение рыцаря-джедая MCA?

Комментариев нет:

Отправить комментарий