Megosztás a következőn keresztül:


A Spring Boot-alkalmazások végpontok közötti biztonságos kommunikációja Teljes felügyelet környezetben

Ez a cikk azt ismerteti, hogyan védhet végpontok közötti kommunikációt a Spring Boot-alkalmazásokhoz Teljes felügyelet környezetben. A Spring Boot-alkalmazások bármely kommunikációs pontján biztonságossá teheti a kommunikációt, vagy megszüntetheti az átviteli szintű biztonságot. Automatizálhatja a kommunikáció biztonságossá tételéhez szükséges összes Azure-erőforrás kiépítését és konfigurálását is.

A biztonságos kommunikáció megvalósítása a megoldásarchitektúra részeként kihívást jelenthet. Sok ügyfél manuálisan elforgatja a tanúsítványait, vagy saját megoldásokat hoz létre a kiépítés és a konfigurálás automatizálásához. Még akkor is fennáll az adatkiszivárgás kockázata, például az adatok jogosulatlan másolása vagy átvitele a kiszolgálórendszerekből. Az Azure Spring Appsben ezeket a részleteket ön kezeli. Az Azure Spring Apps elvonja a bonyolultság nagy részét, így a biztonságos kommunikáció konfigurálható és automatizálható lehetőségekként jelenik meg a szolgáltatásban.

Biztonságos internetes kommunikáció

A TLS/SSL protokoll identitást és megbízhatóságot hoz létre, és minden típusú kommunikációt titkosít. A TLS/SSL lehetővé teszi a biztonságos kommunikációt, különösen a kereskedelmi és ügyféladatokat szállító webes forgalmat.

Bármilyen típusú TLS/SSL-tanúsítványt használhat. Használhat például egy hitelesítésszolgáltató által kibocsátott tanúsítványokat, kiterjesztett érvényesítési tanúsítványokat, helyettesítő tanúsítványokat tetszőleges számú altartomány támogatásával, vagy önaláírt tanúsítványokat fejlesztői és tesztelési környezetekhez.

Tanúsítványok biztonságának betöltése Teljes felügyelet

Teljes felügyelet a "soha nem megbízható, mindig ellenőrzés és hitelesítő adatok nélküli" elven alapul. Teljes felügyelet az ismeretlen és nem felügyelt tanúsítványok eltávolításával segít az összes kommunikáció biztonságossá tételében. Teljes felügyelet csak azokat a tanúsítványokat kell megbízhatónak minősíteni, amelyeket az identitás ellenőrzésével osztanak meg, mielőtt hozzáférést ad a tanúsítványokhoz. További információ: Teljes felügyelet Útmutató központ.

Az Azure Key Vault tanúsítványainak biztonságos betöltéséhez a Spring Boot-alkalmazások felügyelt identitásokat és Azure-szerepköralapú hozzáférés-vezérlést (RBAC) használnak. Az Azure Spring Apps szolgáltatói szolgáltatásnevet és Azure szerepköralapú hozzáférés-vezérlést használ. Ez a biztonságos betöltés az Azure Key Vault Java titkosítási architektúraszolgáltatójának (JCA) használatával történik. További információt az Azure Key Vault JCA Java-ügyfélkódtárában talál.

Az Azure Key Vault segítségével szabályozhatja a tanúsítványok tárolását és elosztását a véletlen szivárgás csökkentése érdekében. Az alkalmazások és szolgáltatások biztonságosan hozzáférhetnek a tanúsítványokhoz. A Key Vault azure-beli szerepköralapú hozzáférés-vezérléssel zárolja a hozzáférést csak a hozzáférést igénylők, például a rendszergazdák, de az alkalmazások számára is, a minimális jogosultság elvét használva. Az alkalmazások és szolgáltatások a Microsoft Entra ID és az Azure szerepköralapú hozzáférés-vezérlésének használatával hitelesítik és engedélyezik a tanúsítványokat. A Key Vaultban a tanúsítványok hozzáférését és használatát a teljes naplózási folyamaton keresztül figyelheti.

A végpontok közötti kommunikáció biztonságossá tételéhez vagy a TLS leállításához bármikor

Az alábbi ábrán látható módon a kommunikációnak több szegmense is van a következő összetevőkön keresztül:

  • Hálózati hozzáférési pontok, például az Azure Front Door
  • Azure-alkalmazás átjáró
  • F5 BIG-IP helyi forgalomkezelő
  • Azure API Management
  • Apigee API Management Spring Boot-alkalmazások és háttérrendszerek, például adatbázisok, üzenetkezelési és eseménykezelő rendszerek, valamint alkalmazás-gyorsítótár.

A Spring Boot-alkalmazások bármely kommunikációs pontján biztonságossá teheti a kommunikációt, vagy megszüntetheti az átviteli szintű biztonságot.

Diagram showing the architecture of end-to-end secure communications for Spring Boot apps.

Az alábbi szakaszok részletesebben ismertetik ezt az architektúrát.

1. szegmens: Biztonságos kommunikáció az Azure Spring Appsben

Az első szegmens (a diagram 1. szegmense) a fogyasztók és az Azure Spring Apps bejövőforgalom-vezérlője közötti kommunikációt jelöli. Ezek közé a felhasználók közé tartoznak a böngészők, a mobiltelefonok, az asztali számítógépek, a kioszkok vagy a hálózati hozzáférési pontok, például az Azure Front Door, Azure-alkalmazás Gateway, az F5 BIG-IP Local Traffic Manager, az Azure API Management és az Apigee API Management.

Ez a szegmens alapértelmezés szerint egy Microsoft által biztosított TLS-/SSL-tanúsítvánnyal van védve a *.azuremicroservices.io tartományhoz. Saját TLS/SSL-tanúsítványt alkalmazhat az Azure Key Vaultban, ha egyéni tartományt köt az alkalmazáshoz az Azure Spring Appsben. Nincs szükség kódra. További információ : Oktatóanyag: Meglévő egyéni tartomány leképezése az Azure Spring Appsbe.

2. szegmens: Biztonságos kommunikáció a bejövőforgalom-vezérlőtől az alkalmazásokig

A következő szegmens (a diagram 2. szegmense) az Azure Spring Apps bejövőforgalom-vezérlője és az Azure Spring Apps bármely alkalmazása közötti kommunikációt jelöli. A TLS/SSL engedélyezésével biztonságossá teheti a bejövőforgalom-vezérlőről a HTTPS-t támogató alkalmazásra érkező forgalmat. További információ: Bejövő forgalom engedélyezése az alkalmazásba irányuló TLS-ben.

A Spring Boot-alkalmazások a Spring megközelítésével engedélyezhetik a HTTPS-t, vagy az alkalmazás az Azure Key Vault-tanúsítványok Spring Boot Starter használatával biztonságossá teheti a kommunikációt. További információ : Oktatóanyag: Spring Boot-alkalmazások védelme Azure Key Vault-tanúsítványokkal.

Az Azure Key Vaultból származó TLS/SSL-tanúsítvány használatával történő kommunikáció biztonságossá tételéhez az alábbi három konfigurációs lépésre van szükség. Nincs szükség kódra.

  1. Adja hozzá a következő Azure Key Vault-tanúsítványok Spring Boot Starter-függőségét a pom.xml fájlba:

    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>azure-spring-boot-starter-keyvault-certificates</artifactId>
    </dependency>
    
  2. Adja hozzá az alábbi tulajdonságokat egy alkalmazás konfigurálásához TLS/SSL-tanúsítvány betöltéséhez az Azure Key Vaultból. Mindenképpen adja meg az Azure Key Vault URI-ját és a tanúsítvány nevét.

    azure:
      keyvault:
        uri: ${KEY_VAULT_URI}
    
    server:
      ssl:
        key-alias: ${SERVER_SSL_CERTIFICATE_NAME}
        key-store-type: AzureKeyVault
    
  3. Engedélyezze az alkalmazás felügyelt identitását, majd adjon hozzáférést a felügyelt identitásnak a "Get" és a "List" hozzáféréssel az Azure Key Vaulthoz. További információ: Rendszer által hozzárendelt felügyelt identitás engedélyezése egy alkalmazáshoz az Azure Spring Appsben és a tanúsítványhozzáférés-vezérlésben.

3. szegmens: Biztonságos kommunikáció az alkalmazásból a felügyelt köztes szoftverbe

A következő szegmens (a diagram 3. szegmense) az Azure Spring Apps felügyelt Spring Cloud Config-kiszolgálója és Spring Cloud-szolgáltatásregisztrációs adatbázisa felé irányuló kommunikációt jelöli. Ez a szegmens alapértelmezés szerint egy Microsoft által biztosított TLS/SSL-tanúsítvánnyal van védve.

4. szegmens: Alkalmazás biztonságossá tétele alkalmazáskommunikációhoz

A következő szegmens (a diagram 4. szegmense) egy alkalmazás és egy másik alkalmazás közötti kommunikációt jelöli az Azure Spring Appsben. Az Azure Key Vault-tanúsítványok Spring Boot Starter használatával konfigurálhatja a hívó alkalmazást, hogy megbízhasson egy HTTPS-kompatibilis, úgynevezett alkalmazás által biztosított TLS/SSL-tanúsítványban. A fogadó Spring Boot-alkalmazás a Spring megközelítésével engedélyezheti a HTTPS-t, vagy az alkalmazás az Azure Key Vault-tanúsítványok Spring Boot Starter használatával biztonságossá teheti a kommunikációt. További információ : Oktatóanyag: Spring Boot-alkalmazások védelme Azure Key Vault-tanúsítványokkal.

5. szegmens: Alkalmazás biztonságossá tétele külső rendszerkommunikációval

A következő szegmens (a diagram 5. szegmense) az Azure Spring Appsben futó alkalmazások és külső rendszerek közötti kommunikációt jelöli. Az Azure Key Vault-tanúsítványok Spring Boot Starter használatával konfigurálhatja az Azure Spring Appsben futó alkalmazást, hogy megbízzanak a külső rendszerek által biztosított TLS/SSL-tanúsítványban. További információ : Oktatóanyag: Spring Boot-alkalmazások védelme Azure Key Vault-tanúsítványokkal.

TLS/SSL-tanúsítványok implicit betöltése a Key Vaultból egy alkalmazásba

Ha a Spring-kód, a Java-kód vagy a nyílt forráskódú kódtárak, például az OpenSSL a JVM alapértelmezett JCA-láncára támaszkodnak, hogy implicit módon betöltse a tanúsítványokat a JVM megbízhatósági tárolójába, importálhatja a TLS-/SSL-tanúsítványokat a Key Vaultból az Azure Spring Appsbe, és használhatja ezeket a tanúsítványokat az alkalmazásban. További információ: TLS/SSL-tanúsítványok használata az alkalmazásban az Azure Spring Appsben.

Jól ismert nyilvános TLS/SSL-tanúsítványok feltöltése háttérrendszerekhez

Ahhoz, hogy egy alkalmazás kommunikáljon a háttérszolgáltatásokkal a felhőben vagy a helyszíni rendszerekben, a kommunikáció biztonságossá tételéhez nyilvános TLS-/SSL-tanúsítványokra lehet szükség. Ezeket a TLS-/SSL-tanúsítványokat feltöltheti a kimenő kommunikáció védelméhez. További információ: TLS/SSL-tanúsítványok használata az alkalmazásban az Azure Spring Appsben.

A kommunikáció biztonságossá tételéhez szükséges kiépítés és konfiguráció automatizálása

ARM-sablon, Bicep vagy Terraform használatával automatizálhatja a fent említett összes Azure-erőforrás kiépítését és konfigurálását a kommunikáció védelme érdekében.

Megoldások létrehozása és biztonságos kommunikáció

Az Azure Spring Apps a Spring Boot-alkalmazások teljes körűen felügyelt szolgáltatása. Az Azure Spring Apps elvonja az infrastruktúra és a Spring Cloud köztes szoftverkezelés összetettségét a felhasználóktól. Az üzleti logika kialakítására összpontosíthat, és lehetővé teheti, hogy az Azure gondoskodjon a dinamikus skálázásról, a javításokról, a biztonságról, a megfelelőségről és a magas rendelkezésre állásról. Néhány lépéssel üzembe helyezheti az Azure Spring Appst, alkalmazásokat hozhat létre, üzembe helyezhet és méretezhet Spring Boot-alkalmazásokat, és percek alatt megkezdheti a kommunikáció védelmét.

Az Azure Spring Appst a Microsoft és a VMware közösen építi, üzemelteti és támogatja.

Következő lépések