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

Formularbasierte Authentifizierung

Standardmäßig ist das Skript für die Formularauthentifizierung so konfiguriert, dass es den Benutzer Admin und ein beliebiges Passwort akzeptiert. Sie können diese Authentifizierungsrichtlinie so konfigurieren, dass sie mit jedem System interagiert, das Sie möchten. Das Skript erhält ein PSCredential-Objekt, das den Benutzernamen und das Passwort enthält, die der Benutzer auf der Anmeldeseite eingegeben hat.

Authentifizierungseinstellungen werden ebenfalls mit authentication.ps1 gespeichert

Um die Formularauthentifizierung zu aktualisieren, können Sie auf Einstellungen Sicherheit klicken und dann auf die Schaltfläche Code bearbeiten für die Formularauthentifizierung klicken.

Sie können das PowerShell-Skript in den Einstellungen aktualisieren, um zu konfigurieren, wie der Benutzer authentifiziert wird. Sie müssen ein New-PSUAuthenticationResult aus dem Skript zurückgeben, um anzugeben, ob der Benutzer erfolgreich authentifiziert wurde.

param(
    [PSCredential]$Credential
)

#
#   You can call whatever cmdlets you like to conduct authentication here.
#   Just make sure to return the $Result with the Success property set to $true
#

if ($Credential.UserName -eq 'Admin') 
{
    New-PSUAuthenticationResult -Success -UserName 'Admin'
}
else 
{
    New-PSUAuthenticationResult -ErrorMessage 'Bad username or password'
}

Festlegen eines Passworts

Sie können das Passwort der Anmeldeinformationen mit der Methode GetNetworkCredential() von PSCredential überprüfen.

Festlegen von Claims

Während der Formularauthentifizierung können Sie Claims festlegen, die innerhalb von Rollenrichtlinien verfügbar sind. Dies kann bei der Interaktion mit Remote-Systemen einen Leistungsvorteil bieten, da Sie eine einzelne Claim-Abfrage durchführen und die Claims dann lokal auswerten können, anstatt zusätzliche Aufrufe an das Remote-System durchführen zu müssen.

Dieses Beispiel verwendet Active Directory, um die Gruppenmitgliedschaft abzufragen und diese als Claims zuzuweisen, die innerhalb der Rollen-Skripte verfügbar sind.

Innerhalb Ihrer roles.ps1-Datei können Sie diese Claims verwenden, um die Gruppenmitgliedschaft zu validieren.

Dieses Beispiel prüft, ob der Benutzer Teil der Gruppe SOC_Admins ist.

Variablen

Dies sind die innerhalb der Sicherheitsskripte definierten Variablen.

Name
Beschreibung
Typ

$Cookies

In der HTTP-Anfrage des Clients bereitgestellte Cookies.

hashtable

$Headers

In der HTTP-Anfrage des Clients bereitgestellte Header.

hashtable

$LocalIpAddress

Die lokale IP-Adresse der Anfrage.

string

$LocalPort

Der lokale Port der Anfrage.

string

$RemoteIpAddress

Die Remote-IP-Adresse der Anfrage.

string

$RemotePort

Der Remote-Port der Anfrage.

string

Basic-Authentifizierung

Beim Aufrufen von API-Endpunkten oder der PowerShell Management API können Sie die Basic-Authentifizierung verwenden, um einen Benutzernamen und ein Passwort zu übergeben. Dadurch werden die Skripte für Formularauthentifizierung und -autorisierung aufgerufen, um die Anmeldung zu validieren. Benutzername und Passwort sollten im Format username:password als Base64 codiert und im Authorization-Header mit dem Präfix Basic gesendet werden.

Sie können auch den integrierten Parameter -Credential von Invoke-RestMethod verwenden, um die Basic-Anmeldeinformationen nicht selbst codieren zu müssen. Das nachstehende $AdminCredential muss ein PSCredential sein.

Windows-Anmeldung

Wenn Sie die native Anmeldung für die Formularauthentifizierungsmethode aktivieren, versucht PowerShell Universal, sich mit den angegebenen Anmeldeinformationen am aktuellen Computer oder an der aktuellen Domäne anzumelden. Nach der Anmeldung werden die Gruppen des Benutzers erfasst und dann dem Autorisierungssystem bereitgestellt.

Sie können eine nicht standardmäßige Domäne konfigurieren, indem Sie die Domäne für die native Anmeldung angeben. Wenn Sie diese Domäne nicht angeben, wird die Standarddomäne des Computers oder die vom Benutzer angegebene Domäne verwendet.

Live-Protokoll

Sie können die Live-Protokollansicht auf der Authentifizierungsseite verwenden, um Informationen über die Skriptausführung anzuzeigen. Die Live-Protokollansicht zeigt PowerShell-Streams an.

Zuletzt aktualisiert

War das hilfreich?