Sicherheit, Authentifizierung und Autorisierung in ASP.NET Webformularen
Es wird empfohlen, die sicherste Authentifizierungsoption zu verwenden. Informationen zu .NET-Apps, die in Azure bereitgestellt werden, finden Sie unter:
Azure Key Vault und .NET Aspire bieten die sicherste Möglichkeit zum Speichern und Abrufen von Geheimschlüsseln. Der Azure Key Vault-Clouddienst schützt Verschlüsselungsschlüssel und Geheimnisse (wie Zertifikate, Verbindungszeichenfolgen und Kennwörter). Informationen zu .NET Aspire finden Sie unter Sichere Kommunikation zwischen Hosting- und Clientintegrationen.
Sie sollten Resource Owner Password Credentials Grant (Gewährung der Kennwortanmeldeinformationen des Ressourcenbesitzers) vermeiden, denn dies:
- Macht das Kennwort der Benutzerin bzw. des Benutzers für den Client verfügbar.
- Stellt ein erhebliches Sicherheitsrisiko dar.
- Sollte nur verwendet werden, wenn andere Authentifizierungsflüsse nicht möglich sind.
Wenn die App auf einem Testserver bereitgestellt wird, kann eine Umgebungsvariable verwendet werden, um die Verbindungszeichenfolge auf einen Datenbankserver für Tests festzulegen. Umgebungsvariablen werden im Allgemeinen in unverschlüsseltem Nur-Text gespeichert. Wenn der Computer oder Prozess kompromittiert ist, können nicht vertrauenswürdige Parteien auf die Umgebungsvariablen zugreifen. Es wird empfohlen, Umgebungsvariablen zum Speichern einer Produktions-Verbindungszeichenfolge zu verwenden, da sie nicht der sicherste Ansatz ist.
Richtlinien für Konfigurationsdaten:
- Speichern Sie nie Kennwörter oder andere vertrauliche Daten im Konfigurationsanbietercode oder in Nur-Text-Konfigurationsdateien.
- Verwenden Sie keine Produktionsgeheimnisse in Entwicklungs- oder Testumgebungen.
- Geben Sie Geheimnisse außerhalb des Projekts an, damit sie nicht versehentlich in ein Quellcoderepository übernommen werden können.
So können Benutzer sich mit einem Anmeldeformular oder Windows-Authentifizierung bei Ihrer Website anmelden (und optional Rollen zugewiesen werden).