Sicherheitautorisierung <authorization>
Übersicht
Mit dem <authorization>
-Element können Sie die Benutzerkonten konfigurieren, die auf Ihre Website oder Anwendung zugreifen können. Verwenden Sie die Autorisierung in Kombination mit der Authentifizierung, um den Zugriff auf Inhalte auf Ihrem Server zu sichern. Die Authentifizierung bestätigt die Identität eines Benutzers, während die Autorisierung bestimmt, auf welche Ressourcen Benutzer zugreifen können oder nicht.
IIS definiert zwei Arten von Autorisierungsregeln, Zulassen und Verweigern von Regeln:
- Mithilfe von Regeln können Sie die Benutzerkonten oder Benutzergruppen definieren, die auf eine Website, eine Anwendung oder alle Websites auf einem Server zugreifen können.
- Mit Deny-Regeln können Sie die Benutzerkonten oder Benutzergruppen definieren, die nicht auf eine Website, eine Anwendung oder alle Websites auf einem Server zugreifen können.
Kompatibilität
Version | Hinweise |
---|---|
IIS 10.0 | Das <authorization> -Element wurde in IIS 10.0 nicht geändert. |
IIS 8.5 | Das <authorization> -Element wurde in IIS 8.5 nicht geändert. |
IIS 8.0 | Das <authorization> -Element wurde in IIS 8.0 nicht geändert. |
IIS 7.5 | Das <authorization> -Element wurde in IIS 7.5 nicht geändert. |
IIS 7.0 | Das <authorization> -Element wurde in IIS 7.0 eingeführt. |
IIS 6.0 | Die <authorization> -Auflistung ersetzt die IIS 6.0-Metabasiseigenschaften AzEnable, AzStoreName, AzScopeName und AzImpersonationLevel. |
Setup
Um die Autorisierung für Websites und Anwendungen auf Ihrem Webserver zu unterstützen und zu konfigurieren, müssen Sie das URL-Autorisierungsmodul installieren. Führen Sie dazu die folgenden Schritte aus:
Windows Server 2012 oder Windows Server 2012 R2
- Klicken Sie auf der Taskleiste auf Server-Manager. Klicken Sie im Server-Manager auf Verwalten und dann auf Rollen und Features hinzufügen. - Klicken Sie im Assistenten zum Hinzufügen von Rollen und Features auf Weiter. Wählen Sie den Installationstyp aus, und klicken Sie auf Weiter. Wählen Sie den Zielserver aus, und klicken Sie auf Weiter. – Erweitern Sie auf der Seite ServerrollenWebserver (IIS), erweitern Sie Webserver-, erweitern Sie Sicherheit, und wählen Sie dann URL-Autorisierung aus. Klicken Sie auf Weiter.
. Klicken Sie auf der Seite Features auswählen auf Weiter. - Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren. - Klicken Sie auf der Seite Ergebnisse auf Schließen.
Windows 8 oder Windows 8.1
- Bewegen Sie auf dem Startbildschirm den Mauszeiger ganz nach links unten, klicken Sie mit der rechten Maustaste auf die Starttaste und klicken Sie dann auf Systemsteuerung. Klicken Sie in der Systemsteuerungauf Programme und Funktionenund dann auf Windows-Features aktivieren oder deaktivieren. - Erweitern Sie Internetinformationsdienste, erweitern Sie World Wide Web Services, erweitern Sie Sicherheit und wählen Sie dann URL-Autorisierung aus.
- Auf OK klicken. - Klicken Sie auf Schließen.
Windows Server 2008 oder Windows Server 2008 R2
- Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungstools, und klicken Sie dann auf Server-Manager. Erweitern Sie im Hierarchiebereich des Server-Managers die Rollenund klicken Sie dann auf den Webserver (IIS). Scrollen Sie im Bereich Webserver (IIS) zum Abschnitt Rollendienste, und klicken Sie dann auf Rollendienste hinzufügen. - Wählen Sie auf der Seite Rollendienste des Assistenten Rollendienste hinzufügendieURL-Autorisierung aus, und klicken Sie dann auf Weiter.
- Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren. - Klicken Sie auf der Seite Ergebnisse auf Schließen.
Windows Vista oder Windows 7
- Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung. Klicken Sie in der Systemsteuerungauf Programme und Funktionenund dann auf Windows-Features aktivieren oder deaktivieren. - Erweitern Sie Internetinformationsdienste, wählen Sie URL-Autorisierung aus, und klicken Sie dann auf OK.
Gewusst wie
So fügen Sie eine Autorisierungsregel hinzu
Öffnen Sie den Internet Information Services (IIS) Manager:
Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:
- Klicken Sie der der Taskleiste auf Server-Managerdann auf Toolsund dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows 8 oder Windows 8.1 verwenden:
- Halten Sie die Windows-Taste gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf "Systemsteuerung".
- Klicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows Server 2008 oder Windows Server 2008 R2 verwenden:
- Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungund dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows Vista oder Windows 7 verwenden:
- Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
- Doppelklicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Erweitern Sie im Bereich Verbindungen den Servernamen, erweitern Sie Websites, und navigieren Sie dann zu der Website oder Anwendung, für die Sie die Autorisierung konfigurieren möchten.
Um eine neue Autorisierungsregel hinzuzufügen, klicken Sie im Bereich Aktionen auf Regel zum Erlauben hinzufügen... oder Regel zum Verweigern hinzufügen...
Wenden Sie die für Ihre Website oder Anwendung erforderlichen Autorisierungseinstellungen an, und klicken Sie dann auf OK. Zum Beispiel:
Beispiel Nr. 1: Hinzufügen einer Zulassungsregel für alle Benutzer für bestimmte HTTP-Verben:
Beispiel Nr. 2: Hinzufügen einer Verweigerungsregel für einen bestimmten Benutzer für alle HTTP-Verben:
Hinweis
Wenn Sie eine vorhandene Regel bearbeiten oder löschen möchten, wählen Sie die Regel im Bereich Autorisierungsregeln aus, und klicken Sie dann im Bereich Aktionen auf bearbeiten oder Entfernen. Wenn Sie auf Bearbeiten klicken, wird ein Dialogfeld angezeigt, in dem Sie die Regel bearbeiten können. Dieses Dialogfeld ähnelt den Dialogfeldern Hinzufügen einer Autorisierungsregel zulassen und Hinzufügen einer Autorisierungsregel ablehnen.
Konfiguration
Sie können das <authorization>
-Element auf Serverebene in der Datei ApplicationHost.config oder auf Website- oder Anwendungsebene in der entsprechenden Datei Web.config konfigurieren.
Sie können Standardautorisierungsregeln für den gesamten Server festlegen, indem Sie Autorisierungsregeln auf Serverebene konfigurieren. Sie können diese Regeln entfernen, löschen oder außer Kraft setzen, indem Sie spezifischere Regeln für Ihre Websites oder Anwendungen konfigurieren.
Attribute
Attribut | Beschreibung |
---|---|
bypassLoginPages |
Optionales boolesches Attribut. Gibt an, ob die Autorisierungsprüfung für die Seite, die als Anmeldeseite für die Formularauthentifizierung angegeben wurde, übersprungen werden soll. Dadurch können nicht authentifizierte Benutzer auf die Anmeldeseite zugreifen, um sich anzumelden. Der Standardwert ist true . |
Untergeordnete Elemente
Element | Beschreibung |
---|---|
add |
Optionales Element. Fügt der Sammlung von Autorisierungsregeln eine Autorisierungsregel hinzu. |
remove |
Optionales Element. Entfernt einen Verweis auf eine Autorisierungsregel zur Sammlung von Autorisierungsregeln. |
clear |
Optionales Element. Entfernt alle Verweise auf Autorisierungsregeln aus der Sammlung von Autorisierungsregeln. |
Konfigurationsbeispiel
Im folgenden Konfigurationsbeispiel, das in einer Web.config-Datei enthalten ist, werden die Standard-IIS-Autorisierungseinstellungen entfernt, die allen Benutzern den Zugriff auf Website- oder Anwendungsinhalte ermöglichen. Anschließend wird eine Autorisierungsregel konfiguriert, mit der nur Benutzer mit Administratorrechten auf den Inhalt zugreifen können.
<configuration>
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Allow" users="" roles="Administrators" />
</authorization>
</security>
</system.webServer>
</configuration>
Beispielcode
In den folgenden Beispielen wird eine Zulassungsregel hinzugefügt, mit der Benutzer in der Gruppe „Administratoren“ auf eine Website mit dem Namen Contoso zugreifen können.
AppCmd.exe
appcmd.exe set config "Contoso" -section:system.webServer/security/authorization /+"[accessType='Allow',roles='administrators']"
Hinweis
Sie können optional den Parameter Commit auf apphost
festlegen, wenn Sie AppCmd.exe verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen auf den entsprechenden Speicherortabschnitt in der Datei ApplicationHost.config festgelegt.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetWebConfiguration("Contoso");
ConfigurationSection authorizationSection = config.GetSection("system.webServer/security/authorization");
ConfigurationElementCollection authorizationCollection = authorizationSection.GetCollection();
ConfigurationElement addElement = authorizationCollection.CreateElement("add");
addElement["accessType"] = @"Allow";
addElement["roles"] = @"administrators";
authorizationCollection.Add(addElement);
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetWebConfiguration("Contoso")
Dim authorizationSection As ConfigurationSection = config.GetSection("system.webServer/security/authorization")
Dim authorizationCollection As ConfigurationElementCollection = authorizationSection.GetCollection
Dim addElement As ConfigurationElement = authorizationCollection.CreateElement("add")
addElement("accessType") = "Allow"
addElement("roles") = "administrators"
authorizationCollection.Add(addElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso";
var authorizationSection = adminManager.GetAdminSection("system.webServer/security/authorization", "MACHINE/WEBROOT/APPHOST/Contoso");
var authorizationCollection = authorizationSection.Collection;
var addElement = authorizationCollection.CreateNewElement("add");
addElement.Properties.Item("accessType").Value = "Allow";
addElement.Properties.Item("roles").Value = "administrators";
authorizationCollection.AddElement(addElement);
adminManager.CommitChanges();
VBScript
Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso"
Set authorizationSection = adminManager.GetAdminSection("system.webServer/security/authorization", "MACHINE/WEBROOT/APPHOST/Contoso")
Set authorizationCollection = authorizationSection.Collection
Set addElement = authorizationCollection.CreateNewElement("add")
addElement.Properties.Item("accessType").Value = "Allow"
addElement.Properties.Item("roles").Value = "administrators"
authorizationCollection.AddElement(addElement)
adminManager.CommitChanges()