For the complete documentation index, see llms.txt. This page is also available as Markdown.

SAML2

SAML2 erfordert eine Lizenz.

PowerShell Universal kann für die Integration mit einem SAML2-Identitätsanbieter konfiguriert werden. Diese Dokumentation enthält die Details zur Konfiguration von PSU mit einem solchen System.

Metadaten automatisch laden

PowerShell Universal bietet einen Mechanismus, um das Metadatendokument direkt vom SAML2-Identitätsanbieter zu laden, anstatt Konfigurationsoptionen manuell anzugeben. Dabei werden so viele Informationen wie möglich erfasst. Die Entity ID muss dennoch angegeben werden.

Der Callback-Pfad wird oben im Modal der Eigenschaft angezeigt.

Metadaten laden

Werte manuell angeben

Einstellungen des Identitätsanbieters

Sie müssen Ihren Identitätsanbieter für die PowerShell Universal-Anwendung konfigurieren. Sie müssen eine akzeptable Entity ID einrichten und Attribute zuordnen. PowerShell Universal erfordert, dass das Attribut name zugeordnet ist. Der Attributname muss der folgende sein.

Sie sollten dies der Benutzeridentität zuordnen, die innerhalb von PowerShell Universal verwendet werden soll.

Weitere Attribute können zugeordnet werden und stehen während der Rollenauswertung zur Verfügung. Ein Beispiel für die Konfiguration von Shibboleth finden Sie unten.

Entity ID-Einstellungen

HTTPS ist für die SAML2-Authentifizierung erforderlich.

Es gibt mehrere grundlegende Einstellungen, die Sie in der PowerShell Universal-Verwaltungskonsole konfigurieren können. Um SAML2-Unterstützung hinzuzufügen, klicken Sie auf Security \ Authentication. In der oberen rechten Ecke können Sie SAML2 aus dem Dropdown-Menü auswählen.

Sobald die SAML2-Integration hinzugefügt wurde, können Sie die grundlegenden Einstellungen für die Kommunikation mit Ihrem Identitätsanbieter konfigurieren. Sie müssen mindestens die Entity ID und die Identity Provider Entity ID konfigurieren.

Typischerweise sind diese Entity IDs URLs, die in Ihrem Identitätsanbieter konfiguriert sind.

SAML2-Eigenschaften

Das Dienstzertifikat wird zum Signieren von Anfragen verwendet. Es ist nicht erforderlich. Dies kann entweder ein für den PSU-Dienst lokaler Pfad oder der Distinguished Name eines im Zertifikatspeicher „Personal Computer“ installierten Zertifikats sein.

Zusätzliche Einstellungen

Zusätzlich zu den in der Verwaltungskonsole verfügbaren Einstellungen können Sie Folgendes in der Konfigurationsdatei authentication.ps1 festlegen.

ServiceCertificatePassword

Wenn Sie einen Dateipfad für Ihr Zertifikat verwenden und dieses ein Passwort erfordert, können Sie es über -ServiceCertificatePassword von Set-PSUAuthenticationMethod angeben. Der Wert dieses Parameters ist ein SecureString. Sie können das SecretManagement-Modul nutzen, um Geheimnisse zu laden.

Configure

Der Parameter -Configure ist ein Skriptblock, mit dem zusätzliche Einstellungen festgelegt werden können, die von Set-PSUAuthenticationMethod nicht bereitgestellt werden. Der Skriptblock wird aufgerufen, wenn der Anbieter konfiguriert wird, und erhält einen einzelnen Parameter, der ein Objekt mit den Optionen für die SAML2-Authentifizierung enthält.

Das Objekt ist vom Typ Saml2Options. Das Unterobjekt von SPOptions finden Sie hier.

Beispiel: Entra ID

Richten Sie eine Entra ID Enterprise Application in Azure ein. Eine Schritt-für-Schritt-Anleitung finden Sie hier. Sie müssen die Anwendungs-ID und das Dokument mit den Verbundmetadaten sowie den SAML-P-Anmeldeendpunkt abrufen. Klicken Sie in Ihrer Anwendungsregistrierung auf die Schaltfläche „Endpunkte“.

Schritt für Schritt

Innerhalb von PowerShell Universal:

  1. Klicken Sie auf Security \ Authentication.

  2. Fügen Sie den SAML2-Authentifizierungsanbieter hinzu.

  3. Klicken Sie auf die Schaltfläche Edit Properties.

Für die Entity ID müssen Sie die Entra ID-Anwendungs-ID mit dem Präfix spn: angeben

Zum Beispiel: spn:2cf33625-e312-4659-a7bd-66ade51a0ea2

Für die Identity Provider Entity ID müssen Sie die Entity ID aus dem Federation-Metadatendokument abrufen. Öffnen Sie die Dokument-URL in einem Webbrowser.

Fügen Sie für Metadata Address die URL des Federation-Metadatendokuments ein.

Fügen Sie für die Return URL die URL Ihres PowerShell Universal-Servers mit dem Pfad /Saml/Acs ein.

Fügen Sie für Single Sign-On Service URL den SAML-P-Anmeldeendpunkt aus Azure ein.

PSU-Konfiguration

Speichern Sie nach Abschluss die Einstellungen und aktivieren Sie den SAML-Anbieter. Klicken Sie auf Abmelden und navigieren Sie zur URL Ihrer Verwaltungskonsole.

Sie werden zur Anmeldung an Azure weitergeleitet und nach der Authentifizierung zurück zu PowerShell Universal umgeleitet.

Alle auftretenden Fehler werden im PowerShell Universal-Protokoll aufgeführt. Wenn die Anmeldung fehlschlägt, können Sie zu /login navigieren, um sich mit einem lokalen Konto anzumelden.

Claim-Zuordnung

Um PowerShell Universal Gruppen-Claims bereitzustellen, müssen Sie die Gruppen-Claims aus Ihrer App-Registrierung verfügbar machen. Klicken Sie auf Token Configuration und dann auf Add groups claim.

Entra ID-Gruppen-Claims

Nachdem Sie auf Add groups claim geklickt haben, haben Sie die Möglichkeit auszuwählen, welche Gruppen bereitgestellt werden. Wenn Sie All Groups auswählen, werden die Gruppen-Claims an PowerShell Universal bereitgestellt

Wenn Sie Groups assigned to the application auswählen, stellen Sie sicher, dass Sie den Wert Emit groups as role claims aktivieren. Diese Einstellung erfordert einen kostenpflichtigen Entra ID-Plan.

Einstellung „Emit groups as role claims“

Um Ihrer App-Registrierung eine Gruppe zuzuweisen, suchen Sie Ihre App in Enterprise Applications und klicken Sie auf User and Groups. Klicken Sie anschließend auf Add User\Group und wählen Sie die Gruppen aus, die Sie Ihrer Anwendung zuweisen möchten.

Sobald Sie den Gruppen-Claim in Entra ID konfiguriert haben, können Sie die Claim-Zuordnungen von PowerShell Universal auf die bereitgestellten Gruppen aktualisieren.

Geben Sie für jede Rolle, die Sie einer Entra ID-Gruppe zuweisen möchten, den Claim Type und den Claim Value für diese Rolle an. Beispielsweise habe ich in meiner Umgebung eine Gruppe mit der ID 446832da-d4ad-4972-b0a2-eda736129928. Der Claim Type für dieses Objekt ist http://schemas.microsoft.com/ws/2008/06/identity/claims/role.

Um dies der Administratorgruppe zuzuweisen, würde ich Folgendes tun.

Claim-Zuordnung

Benutzer dieser Gruppe wären nun Teil der Administrator-Rolle in PowerShell Universal. Wenn Sie eine andere SAML-Gruppeneigenschaft ausgewählt haben, kann der Wert abweichen (z. B. sAMAccountName).

Gruppenüberschreitungen

Für Organisationen mit vielen Gruppen sollten Sie die Anzahl der an PowerShell Universal bereitgestellten Gruppen begrenzen. Dies kann Autorisierungsprobleme mindern, die entstehen, wenn zu viele Gruppen bereitgestellt werden und dadurch Grenzwerte innerhalb der Anwendung überschritten werden. Klicken Sie in den Einstellungen der Enterprise Application auf Single sign-on und anschließend auf die Schaltfläche Edit unter Attributes & Claims.

Klicken Sie auf den Gruppen-Claim, um die Optionen anzuzeigen. Die erweiterten Optionen ermöglichen es Ihnen, die Gruppen zu filtern, die an den PowerShell Universal-Server bereitgestellt werden. Sie können Gruppen-Claims auch über die Token-Konfiguration in der Application Registration für die Enterprise Application konfigurieren.

Beispiel: Okta

Dieses Beispiel zeigt, wie die Okta SAML2-Authentifizierung für die Verwendung mit PowerShell Universal konfiguriert wird.

In Okta müssen Sie Ihre Anwendung ähnlich wie folgt konfigurieren. HTTPS ist für SAML2 erforderlich, und Sie müssen die URL Ihrer PSU-Instanz in der Single Sign On URL angeben, gefolgt von /Saml2/Acs. Beim Pfad wird zwischen Groß- und Kleinschreibung unterschieden.

Die Audience Restriction sollte die URL Ihres PowerShell Universal-Servers sein.

Damit Ihre Benutzer auf PowerShell Universal zugreifen können, müssen Sie sicherstellen, dass sie der Okta-Anwendung zugewiesen wurden.

Klicken Sie auf der Registerkarte Sign On Ihrer Anwendung auf die Schaltfläche View SAML setup instructions.

Sie müssen die beiden URLs erfassen und das Zertifikat herunterladen, um PowerShell Universal zu konfigurieren. Im nächsten Schritt erfahren Sie, wie Sie diese URLs innerhalb der Datei authentication.ps1 verwenden.

authentication.ps1

Die Datei authentication.ps1 wird zur Konfiguration von PowerShell Universal verwendet.

Parameter
Beschreibung
Typ

EntityId

Dieser Wert sollte mit dem übereinstimmen, was Sie in Okta unter Audience Restriction eingetragen haben.

string

IdentityProviderEntityId

Dies ist der Wert, der auf der Seite View SAML setup instructions angezeigt wurde.

string

CallbackPath

Dies ist der Pfad, zu dem der Benutzer umgeleitet wird, wenn kein Umleitungspfad angegeben wurde

string

SigningKey

Dies ist die Zertifikatsdatei, die auf der Seite View SAML setup instructions heruntergeladen wurde.

string

SingleSignOnServiceUrl

Dies ist die Anmelde-URL, die auf der Seite View SAML setup instructions angegeben wurde.

string

Beispiel: Shibboleth

Dieses Beispiel zeigt, wie Shibboleth für die Verwendung mit PowerShell Universal konfiguriert wird. Es bietet die grundlegendste Konfiguration und folgt nicht notwendigerweise Best Practices.

Dabei wird davon ausgegangen, dass Sie Shibboleth Identity Provider v4 mit Active Directory-Integration installiert haben.

ldap.properties

Die LDAP-Eigenschaften wurden so konfiguriert, dass die Authentifizierung gegen die lokale Domäne mit einem Domänenadministratorkonto erfolgt. Die LDAP-URL wurde konfiguriert und TLS wurde deaktiviert.

Unten finden Sie das vollständige Beispiel der Datei ldap.properties.

relying-party.xml

Die Datei relying-party.xml wurde aktualisiert, um einen offenen IdP zu aktivieren. Das bedeutet, dass jede Entity ID mit dem Identitätsanbieter kommunizieren kann. Sie können dies auch so konfigurieren, dass bestimmte Entity IDs erzwungen werden. Die Standardkonfiguration wurde ebenfalls angepasst, um das Bean SAML2.AttributeQuery zu verwenden.

attribute-resolver.xml

Die Datei attribute-resolver.xml wurde aktualisiert, um den LDAPDirectory Data Connector zu verwenden. Sie lädt die E-Mail-Adresse, den Vornamen, SN und den Anzeigenamen aus Active Directory. Anschließend ordnet sie den Principal Name, der der Benutzername des sich anmeldenden Benutzers ist, mithilfe eines Attribut-Encoders dem erforderlichen Claim Type zu.

attribute-filter.xml

Die Datei attribute-filter.xml wurde aktualisiert, um mehrere der vom LDAPDirectory Data Connector zugeordneten Attribute freizugeben sowie den Benutzernamen, der als Identität innerhalb von PowerShell Universal verwendet wird.

Zuletzt aktualisiert

War das hilfreich?