Freigeben über


Personifikation

Identitätswechsel ist die Fähigkeit eines Threads, in einem Sicherheitskontext auszuführen, der sich vom Kontext des Prozesses unterscheidet, der den Thread besitzt. Wenn sie im Sicherheitskontext des Clients ausgeführt wird, ist der Server bis zu einem gewissen Grad der Client. Der Serverthread verwendet ein Zugriffstoken, das die Anmeldeinformationen des Clients darstellt, um Zugriff auf die Objekte zu erhalten, auf die der Client Zugriff hat.

Der Hauptgrund für den Identitätswechsel besteht darin, dass Zugriffsprüfungen für die Identität des Clients ausgeführt werden. Die Verwendung der Clientidentität für Zugriffsprüfungen kann dazu führen, dass der Zugriff eingeschränkt oder erweitert wird, je nachdem, was der Client über die Berechtigung verfügt. Angenommen, ein Dateiserver enthält Dateien mit vertraulichen Informationen und dass jede dieser Dateien durch eine ACL geschützt ist. Um zu verhindern, dass ein Client nicht autorisierten Zugriff auf Informationen in diesen Dateien erhält, kann der Server den Client vor dem Zugriff auf die Dateien imitieren.

Zugriffstoken für Identitätswechsel

Zugriffstoken sind Objekte, die den Sicherheitskontext eines Prozesses oder Threads beschreiben. Sie stellen Informationen bereit, die die Identität eines Benutzerkontos und eine Teilmenge der für das Benutzerkonto verfügbaren Berechtigungen enthalten. Jeder Prozess verfügt über ein primären Zugriffstoken, das den Sicherheitskontext des Benutzerkontos beschreibt, das dem Prozess zugeordnet ist. Standardmäßig verwendet das System das primäre Token, wenn ein Thread des Prozesses mit einem sicherungsfähigen Objekt interagiert. Wenn ein Thread jedoch den Identitätswechsel eines Clients angibt, verfügt der Identitätswechselthread sowohl über ein primäres Zugriffstoken als auch über ein Identitätswechseltoken. Das Identitätswechseltoken stellt den Sicherheitskontext des Clients dar, und dieses Zugriffstoken ist das Token, das während des Identitätswechsels für Zugriffsüberprüfungen verwendet wird. Wenn der Identitätswechsel beendet ist, wird der Thread nur auf das primäre Zugriffstoken zurückgesetzt.

Sie können die OpenProcessToken--Funktion verwenden, um ein Handle zum primären Token eines Prozesses abzurufen. Verwenden Sie die OpenThreadToken--Funktion, um ein Handle zum Identitätswechseltoken eines Threads abzurufen.

Zugriffstoken

Delegierung und Identitätswechsel