Freigeben über


Anwendungseinstellungen (appsettings.json)

Alle Einstellungen der Anwendung sind in einer Datei mit dem Namen appsettings.json enthalten. Alle Änderungen an der Datei "appsettings.json" müssen den Dienst "Microsoft IIS Administration" neu starten, um wirksam zu werden.

Die Datei "appsettings.json" befindet sich unter: %SystemDrive%\Program Files\IIS Administration\<version>\Microsoft.IIS.Administration\config\appsettings.json

CORS

CORS-Richtlinien ermöglichen browserbasierte Anwendungen, Anforderungen an die Microsoft IIS-Verwaltungs-API zu senden.

Standardeinstellungen

Die IIS-Verwaltungs-API erlaubt CORS nicht für einen Ursprung, wenn keine Cors-Einstellungen vorhanden sind.

Format

Die folgende Einstellung aktiviert z. B. CORS:

  "cors": {
    "rules": [
      {
        "origin": "https://contoso.com",
        "allow": true
      }
    ]
  }

regeln: Eine Reihe von CORS-Regeln, um zu steuern, wie die API Ressourcen teilt.

  • Ursprung: Der Ursprung, wie in der CORS-Spezifikation definiert, um es zuzulassen oder zu verweigern. Wenn das Wildcardzeichen *als Ursprung angegeben wird, gilt diese Regel für alle Ursprünge.

  • allow: Gibt an, ob Ressourcen für den angegebenen Ursprung freigegeben werden sollen.

Dateien

Mehrere Endpunkte erfordern die Interaktion mit dem Dateisystem, z. B. das Erstellen einer Website in einem vorhandenen Verzeichnis (Lesen) oder Hochladen des Inhalts einer Datei (Schreibzugriff). Diese Konfigurationseinstellungen bieten eine Methode zum Einschränken dieser Dateisysteminteraktionen. Eine Reihe von Dateisystemspeicherorten, die für die API sichtbar sind, werden angegeben. Diese Pfade können Lese- und Schreibzugriffe haben, die ihnen zugeordnet sind.

Standardeinstellungen

Die IIS-Verwaltungs-API ermöglicht lesezugriff auf %systemdrive%\inetpub, wenn keine Dateien vorhanden sind.

Format

Die folgenden Einstellungen ermöglichen lese-/schreibzugriff auf %systemdrive%\inetpub

  "files": {
    "locations": [
      {
        "alias": "inetpub",
        "path": "%systemdrive%\\inetpub",
        "claims": [
          "read",
          "write"
        ]
      }
    ]
  }

skip_resolving_symbolic_links: Ein Flag, das angibt, ob das System symbolische Verknüpfungen auflösen wird, wenn bestimmt wird, ob ein Pfad zulässig ist. Standardmäßig ist diese Kennzeichnung falsch, d. h. symbolische Links werden aufgelöst.

speicherorte: Eine Reihe von Dateisystemspeicherorten und zugeordneten Rechten, die angeben, welche Vorgänge über die API ausgeführt werden dürfen.

  • Alias: Ein Name für den Speicherort.

  • pfad: Ein Stammpfad zum Zuweisen der Liste der Ansprüche. Alle Dateien oder Verzeichnisse unter diesem Pfad erben die Liste der Ansprüche, es sei denn, sie wird mit einem spezifischeren Pfad außer Kraft gesetzt.

  • Ansprüche: Gibt an, welche Vorgänge unter dem Pfad auf Dateienverzeichnissen ausgeführt werden dürfen. Eine leere Gruppe von Ansprüchen bedeutet, dass kein Zugriff auf diesen Speicherort zulässig ist.

Sicherheit

Der Sicherheitsabschnitt wurde in IIS Administration 2.0.0 eingeführt. In diesem Abschnitt werden die Anforderungen für den Zugriff auf die API angegeben.

Standardeinstellungen

Standardmäßig erfordert die API alle Anforderungen, über gültige Windows-Anmeldeinformationen zu verfügen, wie vom require_windows_authentication Flag angegeben. Zugriff auf die Ressourcen der API, z. B. Websites und Anwendungen, und Zugriffsschlüsselbearbeitung erfordern, dass sich der Benutzer in der ADMINISTRATOR-API-Rolle befindet. Hohe Berechtigungsvorgänge erfordern, dass sich der Benutzer in der Rolle "Besitzer " befindet. Wenn die API installiert ist, werden die Rollen der Administratoren und Besitzer automatisch mit dem Benutzer gefüllt, der das Installationsprogramm ausgeführt hat.

Format

"security": {
    "require_windows_authentication": true,
    "users": {
      "administrators": [
      ],
      "owners": [
      ]
    },
    "access_policy": {
      "api": {
        "users": "administrators",
        "access_key": true
      },
      "api_keys": {
        "users": "administrators",
        "access_key": false
      },
      "system": {
        "users": "owners",
        "access_key": true
      }
    }
  }

require_windows_authentication: Ein boolescher Wert, der angibt, ob gültige Windows-Authentifizierung für alle Anforderungen an die API erforderlich ist. Wenn true, wird jede Anforderung, die nicht windows authentifiziert ist, abgelehnt. Wenn false, werden Windows-Authentifizierung Anforderungen durch die access_policy Einstellungen bestimmt.

benutzer: Eine Zuordnung zwischen Windows-Benutzern/Gruppen und Rollen innerhalb der API. Jede Rolle kann hinzugefügt werden, aber standardmäßig enthält die Datei "appsettings.json" Administratoren und Besitzer. Diese Rollen werden im abschnitt access_policy verwendet, um den Zugriff auf verschiedene Abschnitte der API zu steuern.

access_policy: Access-Richtlinien geben eine Reihe von Anforderungen für den Zugriff auf Bereiche innerhalb der API an. Die IIS-Verwaltungs-API enthält drei verschiedene Zugriffsrichtlinien, API, api_keys und System.

  • api: Diese Zugriffsrichtlinie gilt für API-Ressourcen wie Websites, Anwendungspools und Dateien.

  • api_keys: Diese Zugriffsrichtlinie dient zum Bearbeiten von API-Schlüsseln.

  • system: Diese Zugriffsrichtlinie ist für hohe Berechtigungsaktionen, die von der API angeboten werden, z. B. das Ändern der Identität eines Anwendungspools in LocalSystem.

Jede Zugriffsrichtlinie verfügt über eine Reihe von Anforderungen, die konfiguriert werden können. Die verfügbaren Anforderungen sind:

benutzer: Gibt an, welche Rollen aus dem Abschnitt security.users zugriff zulässig sind. Damit alle Benutzer einen Wert von "Jeder" verwenden können.

access_key: Gibt an, ob Anforderungen über ein Zugriffstoken verfügen müssen.

read_only: Erzwingt einen schreibgeschützten Modus, indem alle Anforderungen auf die Verwendung der HTTP GET-Methode eingeschränkt werden.

verboten: Blockiert alle Zugriffe.

Vollständiges Beispiel

{
  "host_id": "",

  "host_name": "My instance of the IIS Administration API",

  "logging": {
    "enabled": true,
    "file_name": "log-{Date}.txt",
    "min_level": "Error",
    "path": null
  },

  "auditing": {
    "enabled": true,
    "file_name": "audit-{Date}.txt",
    "path": null
  },

  "security": {
    "require_windows_authentication": true,
    "users": {
      "administrators": [
      ],
      "owners": [
      ]
    },
    "access_policy": {
      "api": {
        "users": "administrators",
        "access_key": true
      },
      "api_keys": {
        "users": "administrators",
        "access_key": false
      },
      "system": {
        "users": "owners",
        "access_key": true
      }
    }
  },

  "cors": {
    "rules": [
      {
        "origin": "https://contoso.com",
        "allow": true
      }
    ]
  },

  "files": {
    "locations": [
      {
        "alias": "inetpub",
        "path": "%systemdrive%\\inetpub",
        "claims": [
          "read"
        ]
      }
    ]
  }
}