Najlepsze rozwiązania dotyczące wdrażania haseł i innych danych poufnych na platformie ASP.NET i w usłudze Azure App Service
Autor: Rick Anderson
Ostrzeżenie
- Nigdy nie przechowuj haseł ani innych poufnych danych w kodzie źródłowym, w tym plików konfiguracyjnych.
- Nigdy nie używaj wpisów tajnych produkcyjnych podczas programowania i testowania.
Zalecamy użycie najbezpieczniejszej opcji bezpiecznego uwierzytelniania. W przypadku usług platformy Azure najbezpieczniejsze uwierzytelnianie to tożsamości zarządzane. W przypadku wielu aplikacji najbezpieczniejszą opcją jest użycie usługi Azure Key Vault.
Unikaj udzielania poświadczeń hasła właściciela zasobu, ponieważ:
- Uwidacznia hasło użytkownika klientowi.
- Jest istotnym zagrożeniem bezpieczeństwa.
- Należy używać tylko wtedy, gdy inne przepływy uwierzytelniania nie są możliwe.
Tożsamości zarządzane to bezpieczny sposób uwierzytelniania w usługach bez konieczności przechowywania poświadczeń w kodzie, zmiennych środowiskowych lub plikach konfiguracji. Tożsamości zarządzane są dostępne dla usług platformy Azure i mogą być używane z usługami Azure SQL, Azure Storage i innymi usługami platformy Azure:
- Tożsamości zarządzane w usłudze Microsoft Entra for Azure SQL
- Tożsamości zarządzane dla usług App Service i Azure Functions
- Bezpieczne przepływy uwierzytelniania
Po wdrożeniu aplikacji na serwerze testowym można użyć zmiennej środowiskowej, aby ustawić parametry połączenia na testowy serwer bazy danych. Aby uzyskać więcej informacji, zobacz Konfiguracja. Zmienna środowiskowa nigdy nie powinna być używana do przechowywania parametry połączenia produkcyjnych.
Aby uzyskać więcej informacji, zobacz:
- Zalecenia dotyczące najlepszych rozwiązań dotyczących tożsamości zarządzanych
- Nawiązywanie połączenia z aplikacji z zasobami bez obsługi poświadczeń w kodzie
- Usługi platformy Azure, które mogą uzyskiwać dostęp do innych usług przy użyciu tożsamości zarządzanych
- IETF OAuth 2.0 Best Current Practice (Najlepsze rozwiązanie w zakresie zabezpieczeń protokołu OAuth 2.0)