Freigeben über


AuthzAccessCheck-Funktion (authz.h)

Die AuthzAccessCheck-Funktion bestimmt, welche Zugriffsbits einem Client für einen bestimmten Satz von Sicherheitsbeschreibungen gewährt werden können. Die AUTHZ_ACCESS_REPLY-Struktur gibt ein Array von gewährten Zugriffsmasken und Fehler-status zurück. Optional können Zugriffsmasken, die immer gewährt werden, zwischengespeichert werden, und ein Handle für zwischengespeicherte Werte wird zurückgegeben.

Syntax

AUTHZAPI BOOL AuthzAccessCheck(
  [in]            DWORD                              Flags,
  [in]            AUTHZ_CLIENT_CONTEXT_HANDLE        hAuthzClientContext,
  [in]            PAUTHZ_ACCESS_REQUEST              pRequest,
  [in, optional]  AUTHZ_AUDIT_EVENT_HANDLE           hAuditEvent,
  [in]            PSECURITY_DESCRIPTOR               pSecurityDescriptor,
  [in, optional]  PSECURITY_DESCRIPTOR               *OptionalSecurityDescriptorArray,
  [in, optional]  DWORD                              OptionalSecurityDescriptorCount,
  [in, out]       PAUTHZ_ACCESS_REPLY                pReply,
  [out, optional] PAUTHZ_ACCESS_CHECK_RESULTS_HANDLE phAccessCheckResults
);

Parameter

[in] Flags

Ein DWORD-Wert , der angibt, wie der Sicherheitsdeskriptor kopiert wird. Dieser Parameter kann einen der folgenden Werte annehmen.

Ab Windows 8 und Windows Server 2012 müssen die oberen 16 Bits null sein, wenn Sie diese Funktion für ein Remotekontexthandle aufrufen.

Wert Bedeutung
0
Wenn phAccessCheckResults nicht NULL ist, wird eine tiefe Kopie des Sicherheitsdeskriptors in das Handle kopiert, auf das von phAccessCheckResults verwiesen wird.
AUTHZ_ACCESS_CHECK_NO_DEEP_COPY_SD
1
Eine umfassende Kopie des Sicherheitsdeskriptors wird nicht ausgeführt. Die aufrufende Anwendung muss die Adresse eines AUTHZ_ACCESS_CHECK_RESULTS_HANDLE-Handles in phAccessCheckResults übergeben. Die AuthzAccessCheck-Funktion legt dieses Handle auf einen Sicherheitsdeskriptor fest, der bei nachfolgenden Aufrufen von AuthzCachedAccessCheck gültig bleiben muss.

[in] hAuthzClientContext

Ein Handle für eine Struktur, die den Client darstellt.

Ab Windows 8 und Windows Server 2012 kann der Clientkontext lokal oder remote sein.

[in] pRequest

Ein Zeiger auf eine AUTHZ_ACCESS_REQUEST-Struktur, die die gewünschte Zugriffsmaske, die Prinzipal-Selbstsicherheits-ID (SID) und die Objekttyplistenstruktur angibt, sofern vorhanden.

[in, optional] hAuditEvent

Eine Struktur, die objektspezifische Überwachungsinformationen enthält. Wenn der Wert dieses Parameters nicht NULL ist, wird automatisch eine Überwachung angefordert. Statische Überwachungsinformationen werden aus der Resource Manager-Struktur gelesen.

Ab Windows 8 und Windows Server 2012 muss der Wert des Parameters NULL sein, wenn Sie diese Funktion mit einem Remotekontexthandle verwenden.

[in] pSecurityDescriptor

Ein Zeiger auf eine SECURITY_DESCRIPTOR Struktur, die für Zugriffsprüfungen verwendet werden soll. Die Besitzer-SID für das Objekt wird aus diesem Sicherheitsdeskriptor ausgewählt. Eine DACL (Discretionary Access Control List) in diesem Sicherheitsdeskriptor stellt eine NULL-DACL für das gesamte Objekt dar. Stellen Sie sicher, dass der Sicherheitsdeskriptor BESITZER- und DACL-Informationen enthält, oder es wird eine Fehlermeldung mit dem Fehlercode 87 oder "Ungültiger Parameter" generiert.

WichtigeNULL-DACLs ermöglichen allen Benutzern den Zugriff auf alle Arten von Zugriff. Verwenden Sie daher keine NULL-DACLs . Informationen zum Erstellen einer DACL finden Sie unter Erstellen einer DACL.
 
Eine NULL-Systemzugriffssteuerungsliste (SACL) in diesem Sicherheitsdeskriptor wird genauso behandelt wie eine leere SACL.

[in, optional] OptionalSecurityDescriptorArray

Ein Array von SECURITY_DESCRIPTOR-Strukturen . NULL-Zugriffssteuerungslisten (ACLs) in diesen Sicherheitsbeschreibungen werden als leere ACLs behandelt. Die ACL für das gesamte Objekt ist die logische Verkettung aller ACLs.

[in, optional] OptionalSecurityDescriptorCount

Die Anzahl der Sicherheitsdeskriptoren, die den primären Sicherheitsdeskriptor nicht einschließen.

[in, out] pReply

Ein Zeiger auf eine AUTHZ_ACCESS_REPLY-Struktur , die die Ergebnisse der Zugriffsüberprüfung enthält. Vor dem Aufrufen der AuthzAccessCheck-Funktion muss eine Anwendung Arbeitsspeicher für die Member GrantedAccessMask und SaclEvaluationResults der AUTHZ_ACCESS_REPLY Struktur zuweisen, auf die von pReply verwiesen wird.

[out, optional] phAccessCheckResults

Ein Zeiger zum Zurückgeben eines Handles auf die zwischengespeicherten Ergebnisse der Zugriffsüberprüfung. Wenn dieser Parameterwert nicht NULL ist, werden die Ergebnisse dieses Zugriffsüberprüfungsaufrufs zwischengespeichert. Dies führt zu einer MAXIMUM_ALLOWED Überprüfung.

Ab Windows 8 und Windows Server 2012 muss der Wert des Parameters NULL sein, wenn Sie diese Funktion mit einem Remotekontexthandle verwenden.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion TRUE zurück.

Wenn die Funktion fehlschlägt, wird FALSE zurückgegeben. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Die Rückruffunktion AuthzAccessCheckCallback wird aufgerufen, wenn die DACL der SECURITY_DESCRIPTOR Struktur, auf die der pSecurityDescriptor-Parameter verweist, einen Rückrufzugriffssteuerungseintrag (Callback Access Control Entry , ACE) enthält.

Sicherheitsattributevariablen müssen im Clientkontext vorhanden sein, wenn sie in einem bedingten Ausdruck erwähnt werden. Andernfalls wird der bedingte Ausdrucksbegriff, der auf sie verweist, auf unbekannt ausgewertet. Weitere Informationen finden Sie im Thema Security Descriptor Definition Language for Conditional ACEs (Sicherheitsdeskriptordefinitionssprache für bedingte ACEs ).

Weitere Informationen finden Sie unter How AccessCheck Works and Centralized Authorization Policy overviews .For more information, see the How AccessCheck Works and Centralized Authorization Policy overviews.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile authz.h
Bibliothek Authz.lib
DLL Authz.dll
Verteilbare Komponente Windows Server 2003 Administration Tools Pack unter Windows XP

Weitere Informationen

AUTHZ_ACCESS_REPLY

AUTHZ_ACCESS_REQUEST

AuthzCachedAccessCheck

Grundlegende Access Control-Funktionen

Zentralisierte Autorisierungsrichtlinie

Funktionsweise von AccessCheck

SECURITY_DESCRIPTOR

Sicherheitsdeskriptordefinitionssprache für bedingte ACEs