Поделиться через


Использование ролей для авторизации клиента

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

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

Таким образом, вы можете определить очень конкретную привилегию безопасности, объявив ее в качестве роли, а затем назначив роль определенным ресурсам. При развертывании приложения системный администратор может заполнить роль фактическими пользователями и группами пользователей. При запуске приложения COM+ будет применять политику, выполняя роли проверка.

По сути, роли помогают защитить код, то есть методы, которые могут вызываться клиентами приложения COM+. Членство в роли проверка всякий раз, когда клиент пытается вызвать метод, предоставляемый компонентом в приложении. Если вызывающий объект находится в роли, назначенной вызываемой методу или ресурсу, вызов завершается успешно; в противном случае он завершается ошибкой.

Декларативная безопасность на основе ролей

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

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

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

Подробные процедуры настройки безопасности на основе ролей см. в разделе "Настройка безопасности на основе ролей".

Программная безопасность

В некоторых случаях может потребоваться поместить логику безопасности в компоненты при использовании безопасности на основе ролей. Это может быть то, что вы не можете (или не хотите) учитывать все решения доступа с помощью методов. Например, у вас может быть частный ресурс приложения, возможно, определенная база данных, которую требуется разрешить доступ только некоторым вызывающим методом, за исключением других. Или у вас может быть один метод TransferMoney и требуется ограничить некоторые вызывающие пользователи, ограничив сумму, которую они могут передать.

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

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

Описание того, как выполнять проверка роли в коде и как получить доступ к контексту вызова безопасности, см. в разделе "Безопасность программных компонентов".

Авторизация и проверка подлинности

Значимое авторизация предполагает, что вы уверены, что клиенты на самом деле являются тем, кто они говорят, что они есть. Проверка удостоверения клиента обрабатывается отдельно службой проверки подлинности. Без проверки подлинности вы в основном позволяете вызывающим абонентам в системе чести. Описание проверки подлинности по мере влияния на приложения COM+ см. в разделе "Проверка подлинности клиента".

Эффективное проектирование ролей

Границы безопасности

Сведения о контексте вызова безопасности

Свойство контекста безопасности