Share via


identity-Element (ASP.NET-Einstellungsschema)

Konfiguriert die Identität der Webanwendung. Dieses Element kann auf jeder Ebene der Konfigurationsdateihierarchie deklariert werden.

HinweisHinweis

Die Beispielsyntax in diesem Thema umfasst ein Kennwort, um zu veranschaulichen, wie die Syntax funktioniert.Für die Anwendungen wird empfohlen, eine Strategie für das Sichern von Kennwörtern zu entwickeln.

<identity impersonate="true|false" 
          userName="domain\username"
          password="<secure password>"/>

Attribute und Elemente

In den folgenden Abschnitten werden Attribute, untergeordnete Elemente und übergeordnete Elemente beschrieben.

Attribute

Attribute

Beschreibungen

Impersonate

Erforderliches Attribut.

Gibt an, ob für jede Anforderung Identitätswechsel des Clients verwendet werden.

Dieses Attribut kann einen der folgenden möglichen Werte annehmen.

ValueBeschreibungen
false Gibt an, dass der Clientidentitätswechsel nicht verwendet wird.
true Gibt an, dass der Clientidentitätswechsel verwendet wird.

Password

Optionales Attribut.

Gibt das zu verwendende Kennwort an, wenn das impersonate-Attribut auf true festgelegt ist.

Informationen zum Speichern von verschlüsselten Arbeitsprozess-Anmeldeinformationen in der Registrierung finden Sie in den Erläuterungen zum userName-Attribut.

userName

Optionales Attribut.

Gibt den zu verwendenden Benutzernamen an, wenn das impersonate-Attribut auf true festgelegt ist.

Dieses Attribut und das password-Attribut werden im Klartext in der Konfigurationsdatei gespeichert. Obwohl Microsoft Internetinformationsdienste (IIS) CONFIG-Dateien nicht auf Anforderung von Benutzer-Agents sendet, können CONFIG-Dateien auf andere Weise gelesen werden. Beispielsweise können diese Dateien von einem authentifizierten Benutzer gelesen werden, der über gültige Anmeldeinformationen für die Domäne des Servers verfügt. Aus Sicherheitsgründen unterstützt das identity-Attribut die Speicherung verschlüsselter userName-Attribute und password-Attribute in der Registrierung. Die Anmeldeinformationen müssen im REG_BINARY-Format vorliegen und mit der DPAPI (Data Protection API) von Microsoft Windows 2000 und Windows XP verschlüsselt werden.

Weitere Informationen finden Sie unter "Hinweise" und "Beispiel" weiter unten in diesem Thema.

Untergeordnete Elemente

Keine.

Übergeordnete Elemente

Element

Beschreibungen

configuration

Gibt das Stammelement in jeder Konfigurationsdatei an, die von der Common Language Runtime und den .NET Framework-Anwendungen verwendet wird.

system.web

Gibt das Stammelement für den ASP.NET-Konfigurationsabschnitt an.

Hinweise

Um den Benutzernamen und das Kennwort zu verschlüsseln und in der Registrierung zu speichern, legen Sie das userName-Attribut und das password-Attribut folgendermaßen fest.

userName="registry:HKLM\Software\AspNetProcess,Name"password="registry:HKLM\Software\AspNetProcess,Pwd"

Der Bereich der Zeichenfolge zwischen dem Schlüsselwort registry und dem Komma gibt den Namen des Registrierungsschlüssels an, der von ASP.NET geöffnet wird. Der Abschnitt hinter dem Komma enthält die Bezeichnung eines einzelnen Zeichenfolgenwerts, aus dem ASP.NET die Anmeldeinformationen entnimmt. Das Komma ist erforderlich, und die Anmeldeinformationen müssen im HKLM-Hive gespeichert werden. Wenn ein falsches Konfigurationsformat verwendet wird, startet ASP.NET den Arbeitsprozess nicht und folgt dem aktuellen Codepfad für Fehler bei der Kontoerstellung.

Die Anmeldeinformationen müssen im REG_BINARY-Format vorliegen und die Ausgabedaten eines Aufrufs der Windows-API-Funktion CryptProtectData enthalten. Die verschlüsselten Anmeldeinformationen können mithilfe von Aspnet_setreg.exe erstellt und in der Registrierung gespeichert werden. Aspnet_setreg.exe verwendet dabei CryptProtectData zum Ausführen der Verschlüsselung. Sie können Aspnet_setreg.exe zusammen mit dem Microsoft Visual C++-Quellcode und der Dokumentation herunterladen, indem Sie die ASP.NET-Website aufrufen und nach "aspnet_setreg" suchen.

Sie sollten den Zugriff auf den Schlüssel mit den verschlüsselten Anmeldeinformationen so konfigurieren, dass nur Administratoren und das SYSTEM-Konto Zugriff erhalten. Da der Schlüssel von dem ASP.NET-Prozess gelesen wird, der als SYSTEM ausgeführt wird, müssen Sie die folgenden Berechtigungen festlegen:

  • Administrators:F

  • SYSTEM:F

  • CREATOR OWNER:F

  • ProcessAccount:R

Es stehen also die folgenden beiden Verteidigungsstrategien zum Schutz der Daten zur Verfügung:

  • Aufgrund der ACL-Berechtigungen ist der Zugriff auf die Daten nur für Administratoren möglich.

  • Angreifer müssen Code auf dem Server ausführen (die CryptUnprotectData-API), um die Anmeldeinformationen für das Konto wiederherzustellen.

Standardkonfiguration

Das folgende identity-Standardelement wird nicht explizit in der Datei Machine.config oder der Stammdatei Web.config konfiguriert. Es ist jedoch die Standardkonfiguration, die von der Anwendung zurückgegeben wird.

<identity impersonate="false" userName="" password="" />

Elementinformationen

Konfigurationsabschnittshandler

System.Web.Configuration.IdentitySection

Konfigurationsmember

SystemWebSectionGroup.Identity

Konfigurierbare Speicherorte

Machine.config

Web.config auf der Stammebene

Web.config auf der Anwendungsebene

Web.config auf der Ebene virtueller oder physikalischer Verzeichnisse

Anforderungen

Microsoft Internetinformationsdienste (IIS), Version 5.0, 5.1 oder 6.0

.NET Framework, Version 1.0, 1.1 oder 2.0

Microsoft Visual Studio 2003 oder Visual Studio 2005

Siehe auch

Aufgaben

Gewusst wie: Sperren von ASP.NET-Konfigurationseinstellungen

Referenz

system.web-Element (ASP.NET-Einstellungsschema)

<configuration>-Element

System.Configuration

System.Web.Configuration

Konzepte

Übersicht über die ASP.NET-Konfiguration

ASP.NET-Webserversteuerelemente und Browserfunktionen

Absichern der ASP.NET-Konfiguration

ASP.NET-Konfigurationsszenarios

Weitere Ressourcen

ASP.NET-Konfigurationsdateien

ASP.NET-Konfigurationseinstellungen

Allgemeine Konfigurationseinstellungen (ASP.NET)

ASP.NET-Konfigurations-API