Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Spring Cloud Azure egy nyílt forráskódú projekt, amely megkönnyíti Azure-szolgáltatások használatát Spring-alkalmazásokban.
A Spring Cloud Azure egy nyílt forráskódú projekt, amelynek minden erőforrása elérhető a nyilvánosság számára. Az alábbi lista az alábbi erőforrásokra mutató hivatkozásokat tartalmaz:
- Forráskód: Azure/azure-sdk-for-java.
- Minták: Azure-Samples/azure-spring-boot-samples.
- Dokumentáció: Spring Cloud Azure.
Mire használható a Spring Cloud Azure?
Az Azure Spring Cloud segítségével egyszerűbben végezheti el a következő feladatokat a Spring-alkalmazásokban:
- Konfigurációs tulajdonságok kezelése az Azure App Configuration segítségével.
- Üzenetek küldése és fogadása Azure Event Hubs, Azure Service Bus, és Azure Storage Queue.
- Titkos kódok és tanúsítványok kezelése Azure Key Vault.
- A Microsoft Entra-azonosítóval
kiépített munkahelyi vagy iskolai fiókokkal való felhasználói bejelentkezés támogatása. - A felhasználók olyan közösségi fiókokkal való bejelentkezésének támogatása, mint a Facebook és a Google Azure Active Directory B2C.
- A webes API-k védelme és a Microsoft Graph-hoz hasonló védett API-k elérése a felhasználók és a szervezet adatainak a Microsoft Entra ID és a Azure Active Directory B2Chasználatával.
- Az Azure Cosmos DBrendszerben strukturált adatok tárolása
. - Strukturálatlan adatok, például szöveges vagy bináris adatok tárolása Azure Blob Storage-.
- Fájlok tárolása Azure Files.
A Spring Cloud Azure használatának előnyei
Az alábbi szakasz a Spring Cloud Azure használatának előnyeit mutatja be. Ebben a szakaszban az Azure Key Vaultban tárolt titkos kulcsok lekérését használjuk példaként. Ez a szakasz a Spring Boot-alkalmazások Spring Cloud Azure-beli és anélküli fejlesztése közötti különbségeket hasonlítja össze.
Spring Cloud Azure nélkül
A Spring Cloud Azure nélkül, ha le szeretné kérni az Azure Key Vaultban tárolt titkos kulcsokat, a következő lépéseket kell elvégeznie:
Adja hozzá a következő függőségeket a pom.xml fájlhoz:
<dependency> <groupId>com.azure</groupId> <artifactId>azure-security-keyvault-secrets</artifactId> <version>4.5.2</version> </dependency>Hozzon létre egy
SecretClientosztálypéldányt az alábbi példához hasonló kód használatával:public class DemoClass { public static void main(String... args) { SecretClient client = new SecretClientBuilder() .vaultUrl("vaultUrl") .credential(new ClientSecretCredentialBuilder() .tenantId("tenantId") .clientId("clientId") .clientSecret("clientSecret") .build()) .buildClient(); } }A tulajdonságok konfigurálhatóvá tételével kerülje az olyan szigorú kódolási információkat, mint például a
client-idés aclient-secret, ahogyan az alábbi példában látható:@ConfigurationProperties("azure.keyvault") public class KeyVaultProperties { private String vaultUrl; private String tenantId; private String clientId; private String clientSecret; public KeyVaultProperties(String vaultUrl, String tenantId, String clientId, String clientSecret) { this.vaultUrl = vaultUrl; this.tenantId = tenantId; this.clientId = clientId; this.clientSecret = clientSecret; } public String getVaultUrl() { return vaultUrl; } public void setVaultUrl(String vaultUrl) { this.vaultUrl = vaultUrl; } public String getTenantId() { return tenantId; } public void setTenantId(String tenantId) { this.tenantId = tenantId; } public String getClientId() { return clientId; } public void setClientId(String clientId) { this.clientId = clientId; } public String getClientSecret() { return clientSecret; } public void setClientSecret(String clientSecret) { this.clientSecret = clientSecret; } }Frissítse az alkalmazáskódot az alábbi példában látható módon:
@SpringBootApplication @EnableConfigurationProperties(KeyVaultProperties.class) public class SecretClientApplication implements CommandLineRunner { private KeyVaultProperties properties; public SecretClientApplication(KeyVaultProperties properties) { this.properties = properties; } public static void main(String[] args) { SpringApplication.run(SecretClientApplication.class, args); } @Override public void run(String... args) { SecretClient client = new SecretClientBuilder() .vaultUrl(properties.getVaultUrl()) .credential(new ClientSecretCredentialBuilder() .tenantId(properties.getTenantId()) .clientId(properties.getClientId()) .clientSecret(properties.getClientSecret()) .build()) .buildClient(); System.out.println("sampleProperty: " + client.getSecret("sampleProperty").getValue()); } }Adja hozzá a szükséges tulajdonságokat a application.yml fájlhoz az alábbi példában látható módon:
azure: keyvault: vault-url: tenant-id: client-id: client-secret:Ha több helyen is
SecretClientkell használnia, definiáljon egySecretClientbean-t. Ezután vezetékezze automatikusan aSecretClient-t a megfelelő helyeken.
A Spring Cloud Azurával
A Spring Cloud Azure esetében, ha le szeretné kérni az Azure Key Vaultban tárolt titkos kulcsokat, a követelmények egyszerűbbek, ahogyan az alábbi lépésekben látható:
Adja hozzá a következő függőségeket a pom.xml fájlhoz:
<dependencies> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-starter-keyvault-secrets</artifactId> </dependency> </dependencies>A Spring Cloud Azure-verzió kezeléséhez használjon anyagjegyzéket (BOM) a következő példában látható módon:
<dependencyManagement> <dependencies> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-dependencies</artifactId> <version>5.23.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>Jegyzet
Ha Spring Boot 2.x-et használ, ügyeljen arra, hogy a
spring-cloud-azure-dependenciesverzió4.20.0legyen. Ezt az anyagjegyzéket (BOM) a<dependencyManagement>fájl szakaszában kell konfigurálni. Ez biztosítja, hogy minden Spring Cloud Azure-függőség ugyanazt a verziót használja. A BOM-hoz használt verzióval kapcsolatos további információkért lásd a Spring Cloud Azure melyik verzióját használjam.Adja hozzá a következő tulajdonságokat a application.yml fájlhoz:
spring: cloud: azure: keyvault: secret: endpoint:Jelentkezzen be Azure CLI az alábbi paranccsal. A hitelesítő adatokat ezután az Azure CLI adja meg, így nem kell hozzáadnia más hitelesítő adatokat, például
client-idésclient-secret.az loginVezérelje automatikusan a
SecretClient-t a megfelelő helyeken, az alábbi példában látható módon:@SpringBootApplication public class SecretClientApplication implements CommandLineRunner { private final SecretClient secretClient; public SecretClientApplication(SecretClient secretClient) { this.secretClient = secretClient; } public static void main(String[] args) { SpringApplication.run(SecretClientApplication.class, args); } @Override public void run(String... args) { System.out.println("sampleProperty: " + secretClient.getSecret("sampleProperty").getValue()); } }
A Spring Cloud Azure az automatikusan konfigurált SecretClientmellett további funkciókat is biztosít. Az @Value használatával például lekérheti a titkos kulcs értékét, ahogy az alábbi példában is látható:
@SpringBootApplication
public class PropertySourceApplication implements CommandLineRunner {
@Value("${sampleProperty1}")
private String sampleProperty1;
public static void main(String[] args) {
SpringApplication.run(PropertySourceApplication.class, args);
}
public void run(String[] args) {
System.out.println("sampleProperty1: " + sampleProperty1);
}
}
A Spring Cloud Azure összetevői
Azure-támogatás
Automatikus konfigurációs támogatást nyújt az Azure Serviceshez, például a Service Bushoz, a Storage-hoz, az Active Directoryhoz stb.
Microsoft Entra-azonosító
Integrációs támogatást nyújt a Spring Securityhez a Microsoft Entra-azonosítóval a hitelesítéshez. További információ: Spring Cloud Azure-támogatás a Spring Security.
Azure Key Vault
Az Azure Key Vault Secrets integrációhoz Spring @Value annotáció támogatást biztosít. További információ: Spring Cloud Azure titkos kódok kezelése.
Azure Storage
Spring Boot-támogatást nyújt az Azure Storage-szolgáltatásokhoz. További információért lásd: Spring Cloud Azure erőforráskezelési.
Támogatás kérése
Ha segítségre van szüksége a Spring Cloud Azure-hoz, az alábbi módokon kérhet segítséget:
- Azure-támogatási jegyek létrehozása. Az Azure támogatási csomaggal rendelkező ügyfelek megnyithatnak egy Azure-támogatási jegyet. Ezt a lehetőséget akkor javasoljuk, ha a probléma azonnali figyelmet igényel.
- Jelentsen GitHub-problémákat az Azure/azure-sdk-for-java adattárban. A GitHub-problémákat a hibák, kérdések és funkciókérések nyomon követésére használjuk. A GitHub-problémák ingyenesek, de a válaszidő nem garantált. További információ: GitHub-problémák támogatási folyamata.