Hinzufügen von Sicherheitsautorisierung <hinzufügen>
Übersicht
Das <add>
-Element der <authorization>
-Sammlung definiert eine Autorisierungsregel, die den Zugriff für bestimmte Benutzer, bestimmte Gruppen, anonyme Benutzer oder alle Benutzer zulässt oder verweigert.
Das accessType-Attribut gibt einen von zwei von Autorisierungsregeltypen an:
- Mithilfe von Zulassungsregeln können Sie die Benutzerkonten oder Benutzergruppen festlegen, die auf eine Site, eine Anwendung oder alle Sites auf einem Server zugreifen können.
- Mithilfe von Verweigerungsregeln können Sie die Benutzerkonten oder Benutzergruppen festlegen, die nicht auf eine Site, eine Anwendung oder alle Sites auf einem Server zugreifen können.
Autorisierungsregeln können weiter auf eine Liste von HTTP-Verben und entweder auf bestimmte Benutzer oder Gruppen ausgerichtet werden.
Kompatibilität
Version | Hinweise |
---|---|
IIS 10.0 | Das <add> -Element wurde in IIS 10.0 nicht geändert. |
IIS 8.5 | Das <add> -Element wurde in IIS 8.5 nicht geändert. |
IIS 8.0 | Das <add> -Element wurde in IIS 8.0 nicht geändert. |
IIS 7.5 | Das <add> -Element wurde in IIS 7.5 nicht geändert. |
IIS 7.0 | Das <add> -Element der <authorization> -Auflistung 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 Sites 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 Schaltfläche „Start“ und klicken Sie dann auf Systemsteuerung. – Klicken Sie in der Systemsteuerung auf 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.
– Klicken Sie auf OK. - 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 Rollen und klicken Sie dann auf den Webserver (IIS). – Scrollen Sie im Bereich Webserver (IIS) zum Abschnitt "Rollendienste ", und klicken Sie dann auf "Rollendienstehinzufü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 Systemsteuerung auf 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 auf der Taskleiste auf Server-Manager, dann auf Tools und danach auf Internetinformationsdienste-Manager (IIS).
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 Verwaltung und doppelklicken Sie dann auf den Internetinformationsdienste (IIS) Manager.
Wenn Sie Windows Server 2008 oder Windows Server 2008 R2 verwenden:
- Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltung und 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 Verwaltung und doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Erweitern Sie im Bereich Verbindungen den Servernamen, erweitern Sie Sites, und navigieren Sie dann zu der Site 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 Site 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
Attribute
Attribut | Beschreibung | ||||||
---|---|---|---|---|---|---|---|
accessType |
Erforderliches Enumerationsattribut. Die zulässigen Werte für das accessType-Attribut sind im Folgenden aufgeführt.
|
||||||
roles |
Optionales Zeichenfolgeattribut. Gibt Rollen für eine Autorisierungsregel an. |
||||||
users |
Optionales Zeichenfolgeattribut. Gibt Benutzer für eine Autorisierungsregel an. Es können mehrere Benutzer in einer durch Trennzeichen getrennten Liste hinzugefügt werden. Darüber hinaus wurden die folgenden speziellen Bezeichner definiert.
|
||||||
verbs |
Optionales Zeichenfolgeattribut. Gibt die HTTP-Verben für eine Autorisierungsregel an. Wenn dieser Wert leer bleibt oder nicht angegeben ist, gilt die Regel für alle HTTP-Verben. |
Untergeordnete Elemente
Keine.
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()