Certificat client
L'authentification par certificat client garantit que les machines clientes détiennent un certificat particulier lors de la connexion à PowerShell Universal. La vérification du certificat est effectuée pendant la négociation HTTP, ce qui affecte donc l'ensemble du serveur Web et ne peut pas être configuré par route.
Pour des informations détaillées sur l'authentification par certificat client dans ASP.NET Core 5.0, vous pouvez consulter la documentation Microsoft ici.
Activer l'authentification par certificat client
Vous devrez activer l'hébergement HTTPS et activer l'authentification par certificat client. Tout d'abord, assurez-vous d'avoir sélectionné un certificat HTTP et d'avoir défini le ClientCertificateMode à RequireCertificate. Ces paramètres peuvent être définis dans le fichier appsettings.json.
"Kestrel": {
"Endpoints": {
"HTTPS": {
"Url": "https://*:5000",
"ClientCertificateMode": "RequireCertificate",
"Certificate": {
"Subject": "localhost",
"Store": "My",
"Location": "LocalMachine",
"AllowInvalid": "true"
}
}
},
"RedirectToHttps": "false"
},Ensuite, vous devrez activer l'authentification par certificat client.
Autorisation
Vous pouvez utiliser le fichier roles.ps1 pour évaluer le certificat fourni par le client. Cela peut être utilisé pour déterminer quels rôles l'utilisateur recevra lors de la connexion à PSU.
Pour évaluer les propriétés disponibles pendant l'autorisation, vous pouvez sérialiser la variable $user fournie aux fonctions de stratégie de rôle.
Vous recevrez des informations sur le certificat dans l'objet utilisateur, semblables à ce qui suit.
Vous pouvez évaluer les revendications à l'aide de la méthode HasClaim. Voici un exemple de vérification de l'empreinte du certificat.
Mis à jour
Ce contenu vous a-t-il été utile ?