2016-09-23 11 views
6

Podczas pracy nad dokumentacją asp.net, postępowałem zgodnie z przewodnikiem Safe storage of app secrets during development, ale nie opisano sposobu korzystania z niego podczas publikowania na innej maszynie w celu kontroli jakości, produkcji itp. Co mam na myśli? wyobrażał sobie, że byłoby to wstawić je do appsettings.json podczas publikowania, ale tak nie jest. Skończyło się na tym, że moje klucze SendGrid i inne poufne informacje były umieszczane bezpośrednio w appsettings.json, co naprawdę niweczy cel tajemnic aplikacji.Jak wdrożyć program ASP.NET Core UserSecrets do produkcji

Czy używanie sekretów aplikacji jest najlepszym sposobem, czy istnieje inny sposób przechowywania kluczy API i użytkownika SQL/haseł w moich konfiguracjach?

+0

Chyba należy go utworzyć ponownie w każdym komputerze, który chcesz uruchomić projekcję po raz pierwszy. –

+0

Tajemnice użytkownika są stosowane tylko wtedy, gdy określona zmienna środowiskowa jest ustawiona na Rozwój –

+2

Z linku, _ Narzędzie Secret Manager nie szyfruje zapisanych tajników i nie powinno być traktowane jako zaufany sklep. Jest przeznaczony wyłącznie do celów programistycznych. Ma to na celu tylko utrzymanie sekretów w kodzie do repo. W produkcji ustawcie tajne wartości na zmienne appsettings lub env lub dowolne inne źródło konfiguracji. –

Odpowiedz

4

Nie używaj tajemnic aplikacji w produkcji. Zawsze. Jak mówi artykuł PODCZAS ROZWOJU.

Sposób publikowania tajemnic w produkcji zależy od środowiska produkcyjnego. Systemy Linux, Windows i Azure obsługują zmienne środowiskowe - tam powinny znajdować się Twoje sekrety, korzystając z dowolnego interfejsu użytkownika, który zapewnia Twój dostawca hostingu.

app settings documentation idzie do tego bardziej szczegółowo

+0

Chociaż nie jest to tak proste jak wdrażanie pliku konfiguracyjnego, rozumiem, dlaczego zamiast tego używałbyś zmiennych środowiskowych. –

Powiązane problemy