> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/powershell-universal/de/sicherheit/enterprise-security/ws-federation.md).

# WS-Federation

{% hint style="info" %}
WS-Federation erfordert eine [Lizenz](https://store.devolutions.net/package#psu).
{% endhint %}

WS-Federation unterstützt sowohl Active Directory Federation Services als auch Azure Active Directory.

Sie müssen zunächst ADFS oder AzureAD so konfigurieren, dass Universal unterstützt wird.

## ADFS für Universal konfigurieren <a href="#configuring-adfs-for-universal-dashboard" id="configuring-adfs-for-universal-dashboard"></a>

### Diensteinstellungen <a href="#service-settings" id="service-settings"></a>

Zunächst müssen Sie die Federation Service Properties aus ADFS zusammentragen. Öffnen Sie die AD FS-App (Microsoft.IdentityServer.msc). Klicken Sie anschließend auf Service und dann auf Edit Federation Service Properties.

<figure><img src="/files/vCf6NIFFMzbARt1rMOAj" alt=""><figcaption></figcaption></figure>

Dadurch wird ein Dialogfeld mit den Werten für Ihren ADFS-Dienst geöffnet. Sie benötigen diese Werte für die Konfiguration von PowerShell Universal.

![](https://gblobscdn.gitbook.com/assets%2F-L9mVQO4zbOX7ZcHvIte%2F-Lob6ow15SQRLl3vo8ZV%2F-Lob7luBvuEGUTrLIors%2Fimage.png?alt=media\&token=64c3c00f-1d2c-4346-bcc1-dd89e7cf4c24)

### Relying Parties <a href="#relying-parties" id="relying-parties"></a>

Wenn Sie keine Reply Party Trusts konfiguriert haben, klicken Sie auf Add Replying Party Trust. Wählen Sie Claims aware.

<figure><img src="/files/Ie8Lc3qIoCC3PVeE0kkW" alt=""><figcaption><p>Claims Aware</p></figcaption></figure>

Wählen Sie Enter data about the relying party manually.

<figure><img src="/files/BnAfwuICuv1WD4QxuuEy" alt=""><figcaption><p>Manual Relying Party</p></figcaption></figure>

Geben Sie einen Namen für die Relying Party an.

<figure><img src="/files/1nivMXRZviFLjRUhA48y" alt=""><figcaption><p>Relying Party Name</p></figcaption></figure>

Aktivieren Sie das WS-Federation Passive-Protokoll. Geben Sie die URL des PowerShell Universal-Servers mit einem abschließenden Schrägstrich ein.

<figure><img src="/files/ka9kBgWTNfTEfS0NyJR5" alt=""><figcaption></figcaption></figure>

Geben Sie die URL Ihres PowerShell Universal-Servers ein.

<figure><img src="/files/IXFxC6tFX75aho0fHhi5" alt=""><figcaption><p>Replying Party Trust Identifier</p></figcaption></figure>

Nachdem Sie die Konfiguration Ihres Replying Party Trust abgeschlossen haben, müssen Sie eine Claim Issuance Policy einrichten. Erstellen Sie eine Issuance Transform Rule, die mindestens Name und Name ID an Universal sendet.

<figure><img src="https://gblobscdn.gitbook.com/assets%2F-L9mVQO4zbOX7ZcHvIte%2F-Lob6ow15SQRLl3vo8ZV%2F-Lob92zcF4qYpWtR0g_4%2Fimage.png?alt=media&#x26;token=34dfd4db-d742-4f8b-a271-86d37542dc35" alt=""><figcaption></figcaption></figure>

Sie können zusätzliche Claims konfigurieren, die Sie verwenden möchten, wenn Sie Richtlinien in Universal einsetzen.

### Fehlerbehebung

MSIS7065: There are no registered protocol handlers on path /adfs/ls to process the incoming request.

Dieses Problem kann auftreten, wenn die Seite IDP Initiated Sign On deaktiviert ist. Dies ist die Standardeinstellung. Führen Sie den folgenden Befehl in einer administrativen Konsole aus.

```powershell
 Set-AdfsProperties -EnableIdPInitiatedSignonPage $true
```

MSIS7001: The passive protocol context was not found or not valid. If the context was stored in cookies, the cookies that were presented by the client were not valid. Ensure that the client browser is configured to accept cookies from this website and retry this request.

## Konfiguration für Azure Active Directory <a href="#configuring-for-azure-active-directory" id="configuring-for-azure-active-directory"></a>

Folgen Sie der Dokumentation für die Azure Active Directory-Konfiguration in diesem [Microsoft-Dokument](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/ws-federation?view=aspnetcore-2.2#azure-active-directory).

## Universal konfigurieren <a href="#configuring-universal-dashboard" id="configuring-universal-dashboard"></a>

### Appsettings.json verwenden

Nach der Konfiguration von ADFS oder AAD können Sie Universal nun die Eigenschaften für MetadataAddress und Wtrealm bereitstellen. Lesen Sie mehr über diese Einstellungen auf unserer [Einstellungen ](/powershell-universal/de/config/settings.md)-Seite.

Hier ist ein Beispiel dafür, wie die Datei `appsettings.json` aktualisiert wird, um die korrekten Einstellungen für WS-Federation zu berücksichtigen.

```javascript
{
  "Kestrel": {
    "Endpoints": {
      "HTTP": {
        "Url": "http://*:5000"
      }
    },
    "RedirectToHttps": "false"
  },
  "ApplicationInsights": {
    "InstrumentationKey": ""
  },
  "Logging": {
    "Path": "%PROGRAMDATA%/PowerShellUniversal/log.txt",
    "RetainedFileCountLimit": 31,
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*",
  "CorsHosts": "",
  "Data": {
    "RepositoryPath": "%ProgramData%\\UniversalAutomation\\Repository",
    "ConnectionString": "%ProgramData%\\UniversalAutomation\\database.db",
    "GitRemote": "",
    "GitUserName": "",
    "GitPassword": "", 
    "ConfigurationScript": ""
  },
  "Api": {
    "Url": ""
  },
  "Authentication" : {
    "Windows": {
      "Enabled": "false"
    },
    "WSFed": {
        "Enabled": "true",
        "MetadataAddress": "https://ironman.local:443/FederationMetadata/2007-06/FederationMetadata.xml",
        "Wtrealm": "https://ironman.local:12345",
        "CallbackPath": "/auth/signin-wsfed"
    },
    "OIDC": {
      "Enabled": "false",
      "CallbackPath": "/auth/signin-oidc",
      "ClientID": "",
      "ClientSecret": "",
      "Resource": "",
      "Authority": "",
      "ResponseType": "",
      "SaveTokens": "false"
    },
    "SessionTimeout": "25"
  },
  "Jwt": {  
    "SigningKey": "PleaseUseYourOwnSigningKeyHere",  
    "Issuer": "IronmanSoftware",
    "Audience": "PowerShellUniversal"
  },
  "UniversalDashboard": {
    "AssetsFolder": "%ProgramData%\\PowerShellUniversal\\Dashboard"
  },
  "ShowDevTools": false,
  "HideAdminConsole": false
}
```

Wenn Sie Ihren Server ausführen, sollten Sie nun entweder über das Single-Sign-On-System von Internet Explorer zur Eingabe Ihrer Anmeldeinformationen aufgefordert oder zur WS-Fed-Anmeldeseite weitergeleitet werden.

![](https://gblobscdn.gitbook.com/assets%2F-L9mVQO4zbOX7ZcHvIte%2F-Lob6ow15SQRLl3vo8ZV%2F-Lob9yeDdGENbUiyz4Sj%2Fimage.png?alt=media\&token=910db2dd-85f3-46eb-b3ec-9f551f244439)

### Authentication.ps1 verwenden

Sie können die WS-Federation-Authentifizierung in der Admin-Konsole konfigurieren. Navigieren Sie dazu zu Security \ Authentication. Fügen Sie den WS-Federation-Anbieter hinzu, indem Sie ihn aus der Dropdown-Liste oben rechts auswählen.

![](/files/eqo4HorcaOb6gLoSJmLN)

Bearbeiten Sie anschließend die Eigenschaften des Authentifizierungsanbieters und geben Sie die Konfigurationsdetails für Ihre ADFS-Einrichtung an.

![](/files/ehoERpGoLkCYWUW3WKMw)

Aktivieren Sie nach der Konfiguration den WS-Federation-Anbieter. Melden Sie sich anschließend ab und navigieren Sie zu `/admin` Sie werden aufgefordert, sich bei Ihrem WS-Federation-Anbieter anzumelden.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/powershell-universal/de/sicherheit/enterprise-security/ws-federation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
