Udostępnij za pośrednictwem


Klasa CSacl

Ta klasa jest otoką struktury SACL (systemowej listy kontroli dostępu).

Ważne

Tej klasy i jej składowych nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows.

Składnia

class CSacl : public CAcl

Elementy członkowskie

Konstruktory publiczne

Nazwa/nazwisko opis
CSacl::CSacl Konstruktor.
CSacl::~CSacl Destruktora.

Metody publiczne

Nazwa/nazwisko opis
CSacl::AddAuditAce Dodaje do obiektu wpis kontroli dostępu inspekcji CSacl (ACE).
CSacl::GetAceCount Zwraca liczbę wpisów kontroli dostępu (ACL) w CSacl obiekcie.
CSacl::RemoveAce Usuwa z obiektu określony wpis CSacl kontroli dostępu (ACE).
CSacl::RemoveAllAces Usuwa wszystkie acE zawarte w CSacl obiekcie.

Operatory publiczne

Nazwa/nazwisko opis
CSacl::operator = Operator przypisania.

Uwagi

SACL zawiera wpisy kontroli dostępu (ACL), które określają typy prób dostępu, które generują rekordy inspekcji w dzienniku zdarzeń zabezpieczeń kontrolera domeny. Należy pamiętać, że SACL generuje wpisy dziennika tylko na kontrolerze domeny, na którym wystąpiła próba dostępu, a nie na każdym kontrolerze domeny, który zawiera replikę obiektu.

Aby ustawić lub pobrać SACL w deskryptorze zabezpieczeń obiektu, należy włączyć uprawnienia SE_SECURITY_NAME w tokenie dostępu żądanego wątku. Grupa administratorów ma domyślnie przyznane to uprawnienie i może zostać przyznane innym użytkownikom lub grupom. Posiadanie przyznanego uprawnienia nie jest wymagane: aby można było wykonać operację zdefiniowaną przez uprawnienia, należy włączyć uprawnienie w tokenie dostępu zabezpieczeń w celu zastosowania. Model umożliwia włączenie uprawnień tylko dla określonych operacji systemowych, a następnie wyłączone, gdy nie są już potrzebne. Zobacz AtlGetSacl i AtlSetSacl , aby zapoznać się z przykładami włączania SE_SECURITY_NAME.

Użyj podanych metod klasy, aby dodawać, usuwać, tworzyć i usuwać acEs z SACL obiektu. Zobacz również atlGetSacl i AtlSetSacl.

Aby zapoznać się z wprowadzeniem do modelu kontroli dostępu w systemie Windows, zobacz Kontrola dostępu w zestawie Windows SDK.

Hierarchia dziedziczenia

Lista CAcl

CSacl

Wymagania

Nagłówek: atlsecurity.h

CSacl::AddAuditAce

Dodaje do obiektu wpis kontroli dostępu inspekcji CSacl (ACE).

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(...);

Parametry

rSid
Obiekt CSid .

Maska dostępu
Określa maskę praw dostępu do inspekcji dla określonego CSid obiektu.

bSuccess
Określa, czy dozwolone próby dostępu mają być poddawane inspekcji. Ustaw tę flagę na true, aby włączyć inspekcję; w przeciwnym razie ustaw wartość false.

bFailure
Określa, czy próby odmowy dostępu mają zostać poddane inspekcji. Ustaw tę flagę na true, aby włączyć inspekcję; w przeciwnym razie ustaw wartość false.

AceFlags
Zestaw flag bitowych sterujących dziedziczeniem ACE.

pObjectType
Typ obiektu.

pInheritedObjectType
Dziedziczony typ obiektu.

Wartość zwracana

Zwraca wartość TRUE, jeśli ACE jest dodawany do CSacl obiektu, wartość FALSE w przypadku niepowodzenia.

Uwagi

Obiekt CSacl zawiera wpisy kontroli dostępu (ACL), które określają typy prób dostępu, które generują rekordy inspekcji w dzienniku zdarzeń zabezpieczeń. Ta metoda dodaje taką ACE do CSacl obiektu .

Zobacz ACE_HEADER opis różnych flag, które można ustawić w parametrze AceFlags .

CSacl::CSacl

Konstruktor.

CSacl() throw();
CSacl(const ACL& rhs) throw(...);

Parametry

Rhs
Istniejąca ACL struktura (lista kontroli dostępu).

Uwagi

Obiekt CSacl można opcjonalnie utworzyć przy użyciu istniejącej ACL struktury. Upewnij się, że ten parametr jest systemową listą kontroli dostępu (SACL), a nie uznaniową listą kontroli dostępu (DACL). W kompilacjach debugowania, jeśli zostanie podana lista DACL, wystąpi aseracja. W wersji kompiluje wszystkie wpisy z listy DACL są ignorowane.

CSacl::~CSacl

Destruktora.

~CSacl() throw();

Uwagi

Destruktor zwalnia wszystkie zasoby pozyskane przez obiekt, w tym wszystkie wpisy kontroli dostępu (ACE).

CSacl::GetAceCount

Zwraca liczbę wpisów kontroli dostępu (ACL) w CSacl obiekcie.

UINT GetAceCount() const throw();

Wartość zwracana

Zwraca liczbę ACL zawartych w CSacl obiekcie.

CSacl::operator =

Operator przypisania.

CSacl& operator=(const ACL& rhs) throw(...);

Parametry

Rhs
Lista ACL (lista kontroli dostępu) do przypisania do istniejącego obiektu.

Wartość zwracana

Zwraca odwołanie do zaktualizowanego CSacl obiektu. Upewnij się, że ACL parametr jest w rzeczywistości systemową listą kontroli dostępu (SACL), a nie uznaniową listą kontroli dostępu (DACL). W debugowaniach zostanie wykonana asercji, a w kompilacjach ACL wydania parametr zostanie zignorowany.

CSacl::RemoveAce

Usuwa z obiektu określony wpis CSacl kontroli dostępu (ACE).

void RemoveAce(UINT nIndex) throw();

Parametry

nIndex
Zaindeksuj do wpisu ACE, aby usunąć.

Uwagi

Ta metoda pochodzi z CAtlArray::RemoveAt.

CSacl::RemoveAllAces

Usuwa wszystkie wpisy kontroli dostępu (ACL) zawarte w CSacl obiekcie.

void RemoveAllAces() throw();

Uwagi

Usuwa każdą ACE strukturę (jeśli istnieje) w CSacl obiekcie.

Zobacz też

Klasa CAcl
Listy acl
Asy
Omówienie klasy
Funkcje globalne zabezpieczeń