Класс CSacl
Этот класс представляет собой оболочку для структуры SACL (системного списка управления доступом).
Внимание
Этот класс и его члены нельзя использовать в приложениях, выполняемых в среде выполнения Windows.
Синтаксис
class CSacl : public CAcl
Участники
Открытые конструкторы
Имя | Описание |
---|---|
CSacl::CSacl | Конструктор. |
CSacl::~CSacl | Деструктор |
Открытые методы
Имя | Описание |
---|---|
CSacl::AddAuditAce | Добавляет запись управления доступом аудита (ACE) к объекту CSacl . |
CSacl::GetAceCount | Возвращает количество записей управления доступом (ACEs) в объекте CSacl . |
CSacl::RemoveAce | Удаляет определенную запись ACE (элемент управления доступом) из CSacl объекта. |
CSacl::RemoveAllAces | Удаляет все acEs, содержащиеся в объекте CSacl . |
Открытые операторы
Имя | Описание |
---|---|
CSacl::operator = | Оператор присвоения. |
Замечания
A SACL содержит записи управления доступом (ACEs), которые указывают типы попыток доступа, которые создают записи аудита в журнале событий безопасности контроллера домена. Обратите внимание, что SACL создает записи журнала только на контроллере домена, где произошла попытка доступа, а не на каждом контроллере домена, который содержит реплику объекта.
Чтобы задать или получить SACL в дескрипторе безопасности объекта, в маркере доступа потока запроса необходимо включить привилегию SE_SECURITY_NAME. Группа администраторов имеет эту привилегию, предоставленную по умолчанию, и она может быть предоставлена другим пользователям или группам. Наличие предоставленных привилегий не является обязательным: прежде чем операция, определяемая привилегией, может быть включена в маркер доступа безопасности, чтобы вступить в силу. Модель позволяет включить привилегии только для определенных системных операций, а затем отключать, когда они больше не нужны. Примеры включения SE_SECURITY_NAME см. в AtlGetSacl и AtlSetSacl .
Используйте методы класса, предоставляемые для добавления, удаления, создания и удаления ACES из SACL
объекта. См. также atlGetSacl и AtlSetSacl.
Общие сведения о модели управления доступом в Windows см. в контроль доступа в пакете SDK для Windows.
Иерархия наследования
CSacl
Требования
Заголовок: atlsecurity.h
CSacl::AddAuditAce
Добавляет запись управления доступом аудита (ACE) к объекту CSacl
.
bool AddAuditAce(
const CSid& rSid,
ACCESS_MASK AccessMask,
bool bSuccess,
bool bFailure,
BYTE AceFlags = 0) throw(...);
bool AddAuditAce(
const CSid& rSid,
ACCESS_MASK AccessMask,
bool bSuccess,
bool bFailure,
BYTE AceFlags,
const GUID* pObjectType,
const GUID* pInheritedObjectType) throw(...);
Параметры
rSid
Объект CSid.
AccessMask
Указывает маску прав доступа для аудита указанного CSid
объекта.
bSuccess
Указывает, следует ли выполнять аудит разрешенных попыток доступа. Установите для этого флага значение true, чтобы включить аудит; в противном случае задайте для него значение false.
bFailure
Указывает, следует ли проверять попытки отказано в доступе. Установите для этого флага значение true, чтобы включить аудит; в противном случае задайте для него значение false.
AceFlags
Набор битовых флагов, управляющих наследованием ACE.
pObjectType
Тип объекта.
pInheritedObjectType
Наследуемый тип объекта.
Возвращаемое значение
Возвращает значение TRUE, если ACE добавляется в объект, false при сбое CSacl
.
Замечания
Объект CSacl
содержит записи управления доступом (ACEs), указывающие типы попыток доступа, которые создают записи аудита в журнале событий безопасности. Этот метод добавляет такой ACE в CSacl
объект.
См . ACE_HEADER описание различных флагов, которые можно задать в параметре AceFlags .
CSacl::CSacl
Конструктор.
CSacl() throw();
CSacl(const ACL& rhs) throw(...);
Параметры
rhs
Существующая ACL
структура (список управления доступом).
Замечания
Объект CSacl
можно создать при необходимости с помощью существующей ACL
структуры. Убедитесь, что этот параметр является списком системного управления доступом (SACL) и не списком управления доступом (DACL). В отладочных сборках, если daCL предоставляется утверждение. В сборке выпуска все записи из DACL игнорируются.
CSacl::~CSacl
Деструктор
~CSacl() throw();
Замечания
Деструктор освобождает все ресурсы, приобретенные объектом, включая все записи управления доступом (ACEs).
CSacl::GetAceCount
Возвращает количество записей управления доступом (ACEs) в объекте CSacl
.
UINT GetAceCount() const throw();
Возвращаемое значение
Возвращает количество acEs, содержащихся в объекте CSacl
.
CSacl::operator =
Оператор присвоения.
CSacl& operator=(const ACL& rhs) throw(...);
Параметры
rhs
Список ACL
управления доступом для назначения существующему объекту.
Возвращаемое значение
Возвращает ссылку на обновленный CSacl
объект. Убедитесь, что ACL
параметр фактически является системным списком управления доступом (SACL) и не списком управления доступом (DACL). В отладочных сборках будет происходить утверждение, и при сборке ACL
выпуска параметр будет игнорироваться.
CSacl::RemoveAce
Удаляет определенную запись ACE (элемент управления доступом) из CSacl
объекта.
void RemoveAce(UINT nIndex) throw();
Параметры
nIndex
Индекс для удаления записи ACE.
Замечания
Этот метод является производным от CAtlArray::RemoveAt.
CSacl::RemoveAllAces
Удаляет все записи управления доступом (ACEs), содержащиеся в объекте CSacl
.
void RemoveAllAces() throw();
Замечания
Удаляет каждую ACE
структуру (если она есть) в объекте CSacl
.
См. также
Класс CAcl
Списки управления доступом
Тузов
Общие сведения о классе
Глобальные функции безопасности