Udostępnij przez


Konfigurowanie protokołu HTTPS podczas wdrażania konteneryzowanych aplikacji na platformie Azure

Podczas wdrażania aplikacji konteneryzowanej zazwyczaj używa się protokołu HTTPS do szyfrowanej, bezpiecznej komunikacji. Bezpieczna komunikacja jest implementowana przez protokół Transport Layer Security (TLS), który zastępuje wcześniejszą metodę przy użyciu protokołu Secure Sockets Layer (SSL).

Wymagania wstępne

Wymagania wstępne

  • Docker Desktop.
  • Program Visual Studio, który ma zainstalowane pakiety do tworzenia ASP.NET i aplikacji internetowych, rozwoju aplikacji na platformie Azure, i/lub rozwoju aplikacji desktopowych .NET.

Certyfikaty devtest

Podczas programowania program Visual Studio używa certyfikatu z podpisem własnym, czasami nazywanego certyfikatem devtest. Zostanie wyświetlony monit z prośbą o zaufanie certyfikatowi podczas pierwszego uruchamiania aplikacji na komputerze lokalnym. Jest to akceptowalne w przypadku programowania i testowania, ale podczas wdrażania na platformie Azure i uwidaczniania aplikacji w domenie niestandardowej należy przełączyć się na certyfikat wystawiony przez urząd certyfikacji (CA), platformę Azure lub urząd certyfikacji innej firmy.

Zabezpieczenia opcji wdrażania na platformie Azure

Wiele usług platformy Azure upraszcza konfigurację i obciążenie zarządzania, automatycznie obsługując zarządzanie certyfikatami. Konfiguracja i procedura konfigurowania protokołu TLS dla kontenerów na platformie Azure zależy od wdrożonej usługi.

Ogólnie rzecz biorąc, usługi platformy Azure mogą obsługiwać wiele sposobów uzyskiwania i przechowywania certyfikatów. Możesz uzyskać zaufane certyfikaty z własnego urzędu certyfikacji platformy Azure lub przekazać prywatne zaufane certyfikaty wystawione przez urząd certyfikacji innej firmy. Możesz skorzystać z własnego magazynu certyfikatów usługi lub użyć usługi Azure Key Vault do przechowywania certyfikatu wraz z innymi wpisami tajnymi.

W poniższej tabeli przedstawiono usługi i linki, które wyjaśniają, jak działa zabezpieczenia HTTPS podczas wdrażania w tych usługach oraz przewodniki z instrukcjami dotyczącymi zarządzania certyfikatami.

Usługa platformy Azure Notatki
Azure App Service Usługa Azure App Service to odpowiednia usługa wdrażania dla pojedynczego kontenera, która zapewnia domyślne środowisko, co oznacza, że otrzymasz bezpieczny punkt końcowy z zaufanym certyfikatem dostarczonym przez platformę Azure bez żadnych dodatkowych obciążeń. Aby uzyskać większą kontrolę, możesz wybrać jedną z wielu opcji uzyskiwania i przechowywania certyfikatu. Możesz użyć własnego zaufanego certyfikatu uzyskanego z urzędu certyfikacji innej firmy zamiast domyślnego zaufanego certyfikatu dostarczonego przez platformę Azure. Opcjonalnie możesz przechowywać certyfikaty w usłudze Azure Key Vault. Zobacz Omówienie protokołu TLS usługi App Service.
Azure Container Apps Usługa Azure Container Apps to odpowiednia usługa hostingu dla konteneryzowanych aplikacji korzystających z co najmniej jednego kontenera. Podobnie jak usługa Azure App Service, zapewnia domyślne środowisko, które automatycznie używa zaufanych certyfikatów udostępnianych przez platformę Azure, ale także udostępnia szereg opcji architektury sieci do obsługi różnych scenariuszy. Zobacz Networking w usłudze Azure Container Apps.
Azure Container Instances Aby skonfigurować publiczny punkt końcowy HTTPS dla kontenera hostowanego w usłudze Azure Container Instances, zobacz Włączanie punktu końcowego TLS w kontenerze przyczepki. Ta opcja minimalizuje wpływ na sam kontener.
Azure Kubernetes Service (AKS) Zapoznaj się ze wskazówkami w dokumentacji usługi AKS, aby skonfigurować protokół TLS dla wejścia do klastra. Usługa AKS zapewnia najbardziej zaawansowane funkcje zarządzania, obsługę rotacji i odnawiania certyfikatów z maksymalną elastycznością.
Usługa platformy Azure Notatki
Azure App Service Usługa Azure App Service to odpowiednia usługa wdrażania dla pojedynczego kontenera, która zapewnia domyślne środowisko, co oznacza, że otrzymasz bezpieczny punkt końcowy z zaufanym certyfikatem dostarczonym przez platformę Azure bez żadnych dodatkowych obciążeń. Aby uzyskać większą kontrolę, możesz wybrać jedną z wielu opcji uzyskiwania i przechowywania certyfikatu. Możesz użyć własnego zaufanego certyfikatu uzyskanego z urzędu certyfikacji innej firmy zamiast domyślnego zaufanego certyfikatu dostarczonego przez platformę Azure. Opcjonalnie możesz przechowywać certyfikaty w usłudze Azure Key Vault. Zobacz Omówienie protokołu TLS usługi App Service.
Azure Container Apps Usługa Azure Container Apps to odpowiednia usługa hostingu dla konteneryzowanych aplikacji korzystających z co najmniej jednego kontenera. Podobnie jak usługa Azure App Service, zapewnia domyślne środowisko, które automatycznie używa zaufanych certyfikatów udostępnianych przez platformę Azure, ale także udostępnia szereg opcji architektury sieci do obsługi różnych scenariuszy. Zobacz Networking w usłudze Azure Container Apps.
Azure Container Instances Aby skonfigurować publiczny punkt końcowy HTTPS dla kontenera hostowanego w usłudze Azure Container Instances, zobacz Włączanie punktu końcowego TLS w kontenerze przyczepki. Ta opcja minimalizuje wpływ na sam kontener.
Service Fabric Zobacz zabezpieczenia aplikacji i usługi Service Fabric. Zazwyczaj należy skonfigurować zwrotny serwer proxy do obsługi zabezpieczeń dla żądań przychodzących. Zobacz Odwrotny serwer proxy w usłudze Azure Service Fabric.
Azure Kubernetes Service (AKS) Zapoznaj się ze wskazówkami w dokumentacji usługi AKS, aby skonfigurować protokół TLS dla wejścia do klastra. Usługa AKS zapewnia najbardziej zaawansowane funkcje zarządzania, obsługę rotacji i odnawiania certyfikatów z maksymalną elastycznością.

Opcje zabezpieczeń sieci dla wielu kontenerów

Jeśli scenariusz obejmuje wiele kontenerów, możesz zabezpieczyć tylko ruch przychodzący (czyli w zewnętrznym module równoważenia obciążenia lub zwrotnym serwerze proxy) lub zastosować bezpieczną komunikację między każdym kontenerem w aplikacji. Ta ostatnia opcja zapewnia bezpieczeństwo głębszych warstw systemu, nawet jeśli w warstwie zewnętrznej występuje naruszenie. Używanie protokołu HTTPS dla całej komunikacji między kontenerami wykracza poza zakres tego artykułu.

W przypadku usługi Azure Container Apps można skonfigurować ruch przychodzący, który używa protokołu HTTPS dla zewnętrznych wywołań, a w sieci obejmującej wiele kontenerów można korzystać z protokołu HTTP lub TCP. Aby zapewnić bezpieczną komunikację między kontenerami, można użyć protokołu mTLS (wzajemnego protokołu TLS), który wymaga certyfikatów po obu stronach żądania, klienta i serwera lub między mikrousługami. Zobacz Ruch w usłudze Azure Container Apps i Konfigurowanie uwierzytelniania certyfikatu klienta w usłudze Azure Container Apps.