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

Authentification par formulaires

Par défaut, le script d'authentification par formulaire est configuré pour accepter l'utilisateur Admin et n'importe quel mot de passe. Vous pouvez configurer cette stratégie d'authentification pour qu'elle interagisse avec le système de votre choix. Le script recevra un objet PSCredential qui contient le nom d'utilisateur et le mot de passe saisis par l'utilisateur à la page de connexion.

Les paramètres d'authentification sont également stockés avec authentication.ps1

Pour mettre à jour l'authentification par formulaires, allez à Secure > Authentication, puis cliquez sur le bouton Edit Code pour l'authentification par formulaires.

Vous pouvez mettre à jour le script PowerShell qui se trouve dans les paramètres pour configurer la façon dont l'utilisateur est authentifié. Vous devrez retourner un New-PSUAuthenticationResult à partir du script pour indiquer si l'utilisateur a été authentifié avec succès.

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'
}

Définir un mot de passe

Vous pouvez vérifier le mot de passe de l'identifiant en utilisant la méthode GetNetworkCredential() de PSCredential.

Définir des revendications

Pendant l'authentification par formulaire, vous pouvez définir des revendications qui seront disponibles dans les stratégies de rôle. Cela peut offrir un gain de performance lors des interactions avec des systèmes distants, puisque vous pouvez effectuer une seule recherche de revendications, puis évaluer les revendications localement plutôt que d'avoir à faire des appels additionnels au système distant.

Cet exemple utilise Active Directory pour rechercher l'appartenance aux groupes et l'assigner comme revendications qui seront disponibles dans les scripts de rôles.

Dans votre fichier roles.ps1, vous pourrez utiliser ces revendications pour valider l'appartenance aux groupes.

Cet exemple vérifie si l'utilisateur fait partie du groupe SOC_Admins.

Variables

Voici les variables définies dans les scripts de sécurité.

Nom
Description
Type

$Cookies

Témoins fournis dans la requête HTTP du client.

hashtable

$Headers

En-têtes fournis dans la requête HTTP du client.

hashtable

$LocalIpAddress

L'adresse IP locale de la requête.

string

$LocalPort

Le port local de la requête.

string

$RemoteIpAddress

L'adresse IP distante de la requête.

string

$RemotePort

Le port distant de la requête.

string

Authentification Basic

Lorsque vous appelez des terminaux d'API ou l'API PowerShell Management, vous pouvez utiliser l'authentification Basic pour transmettre un nom d'utilisateur et un mot de passe. Cela invoquera les scripts d'authentification et d'autorisation par formulaire pour valider la connexion. Le nom d'utilisateur et le mot de passe doivent être encodés en Base64 au format username:password et envoyés dans l'en-tête Authorization avec le préfixe Basic.

Vous pouvez également utiliser le paramètre intégré -Credential sur Invoke-RestMethod pour éviter d'avoir à encoder vous-même les identifiants Basic. Le $AdminCredential ci-dessous doit être un PSCredential.

Connexion Windows

Si vous activez Native Login sur la méthode d'authentification par formulaires, PowerShell Universal tentera de se connecter à la machine ou au domaine actuel à l'aide des identifiants spécifiés. Une fois connecté, les groupes de l'utilisateur seront collectés puis fournis au système d'autorisation.

Vous pouvez configurer un domaine autre que celui par défaut en spécifiant le domaine de connexion native. Si vous ne spécifiez pas ce domaine, le domaine de la machine par défaut ou le domaine spécifié par l'utilisateur sera utilisé.

Journal en direct

Vous pouvez utiliser la vue du journal en direct sur la page d'authentification pour consulter des renseignements sur l'exécution du script. La vue du journal en direct affichera les flux PowerShell.

Mis à jour

Ce contenu vous a-t-il été utile ?