identity-Element (ASP.NET-Einstellungsschema)

[Dieses Dokument dient lediglich Vorschauzwecken und kann in späteren Versionen geändert werden. Leere Themen sind als Platzhalter enthalten.]

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

Hinweis

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 sowie untergeordnete und übergeordnete Elemente beschrieben.

Attribute

Attribut

Beschreibung

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.

WertBeschreibung
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

Beschreibung

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 physischer 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

How to: Lock ASP.NET Configuration Settings

Referenz

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

<configuration>-Element

System.Configuration

System.Web.Configuration

Konzepte

ASP.NET Configuration Overview

ASP.NET Server Controls and Browser Capabilities

Securing Configuration

Configuration Inheritance

Weitere Ressourcen

ASP.NET Configuration Files

ASP.NET-Konfigurationseinstellungen

Allgemeine Konfigurationseinstellungen (ASP.NET)

ASP.NET Configuration API