Authentification par formulaires
Le script d'authentification par formulaire est appelé uniquement lorsque les utilisateurs se connectent par la page de connexion. Si vous utilisez une autre méthode d'authentification, ce script n'est pas appelé. Les scripts de stratégie de rôle sont appelés pour tous les types d'authentification.
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.
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é.
$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 ?