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

Certificat client

Authentification par certificat client pour PowerShell Universal.

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 durant la négociation HTTP, ce qui affecte l'ensemble du serveur web et ne peut pas être configurée 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 devez activer l'hébergement HTTPS et activer l'authentification par certificat client. Assurez-vous d'abord qu'un certificat HTTP est sélectionné et que vous avez défini ClientCertificateMode sur 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 devez 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 lors de l'autorisation, vous pouvez sérialiser la variable $user fournie aux fonctions de politique de rôle.

Vous recevrez des informations sur le certificat dans l'objet utilisateur, similaires à ce qui suit.

Vous pouvez évaluer les revendications à l'aide de la méthode HasClaim. L'exemple suivant illustre la vérification de l'empreinte numérique du certificat.

Mis à jour

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