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 open source projekt, amely megkönnyíti Azure szolgáltatások használatát Spring alkalmazásokban.
A Spring Cloud Azure egy open source 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?
A Spring Cloud Azure segítségével egyszerűbben végezheti el a következő feladatokat a Spring-alkalmazásokban:
- Konfigurációs tulajdonságok kezelése a Azure App Configuration használatával.
- Üzenetek küldése és fogadása Azure Event Hubs, Azure Service Bus és Azure Storage Queue használatával.
- Titkos kódok és tanúsítványok kezelése Azure Key Vault használatával.
- A Microsoft Entra ID által 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 védett API-k(például Microsoft Graph) elérése a felhasználók és a szervezet adatainak Microsoft Entra ID és Azure Active Directory B2C használatával történő használatához.
- Strukturált adatok tárolása Azure Cosmos DB használatával.
- Strukturálatlan adatok, például szöveges vagy bináris adatok tárolása Azure Blob Storage használatával.
- Fájlok tárolása Azure Files használatával.
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 a Azure Key Vault tárolt titkos kulcsok lekérését használjuk példaként. Ez a szakasz a Spring Boot-alkalmazások Spring Cloud-Azure és anélkül történő 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 a Azure Key Vault 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.
Spring Cloud Azure
A Spring Cloud Azure esetén, ha Azure Key Vault tárolt titkos kulcsokat szeretne lekérni, 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ójának kezeléséhez használjon anyagjegyzéket (BOM) az alábbi példában látható módon:
<dependencyManagement> <dependencies> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-dependencies</artifactId> <version>7.1.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
Jegyzet
Ha a Spring Boot 4.0.x-et használja, mindenképpen állítsa a spring-cloud-azure-dependencies verziót 7.1.0 értékre.
Ha Spring Boot 3.5.x-et használ, mindenképpen állítsa be a spring-cloud-azure-dependencies verziót 6.1.0.
Ha a Spring Boot 3.1.x-3.5.x verziót használja, mindenképpen állítsa be a verziót spring-cloud-azure-dependencies-ra/c1.
Ha a Spring Boot 2.x-et használja, mindenképpen állítsa be a spring-cloud-azure-dependencies verziót 4.20.0-re.
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.
Az ehhez a BOM-hoz használt verzióval kapcsolatos további információkért olvashat: Melyik Spring Cloud Azure verziót érdemes használnom?
Adja hozzá a következő tulajdonságokat a application.yml fájlhoz:
spring: cloud: azure: keyvault: secret: endpoint:Jelentkezzen be Azure CLI a következő paranccsal. Ezután a hitelesítő adatokat a Azure CLI adja meg, így nem kell más hitelesítő adatokat hozzáadnia, 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 SecretClient mellett más 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-szolgáltatásokhoz, például Service Bus, Tárolás, Active Directory stb.
Microsoft Entra ID
Integrációs támogatást nyújt a Spring Securityhez a Microsoft Entra ID hitelesítéshez. További információ: Spring Cloud Azure támogatás a(z) Spring Securityhez.
Azure Key Vault
Az Azure Key Vault titkokkal való integrációhoz biztosítja a Spring @Value annotációk támogatását. További információ: Spring Cloud Azure titkos kezelés.
Azure Storage
Spring Boot-támogatást nyújt Azure Storage szolgáltatásokhoz. További információért lásd a Spring Cloud Azure erőforrás-kezelés dokumentációját.
Támogatás kérése
Ha a Spring Cloud Azure támogatására van szüksége, a következő módokon kérhet segítséget:
- Hozzon létre Azure támogatási jegyeket. Az Azure support csomaggal rendelkező ügyfelek megnyithatnak egy Azure support jegyet. Ezt a lehetőséget akkor javasoljuk, ha a probléma azonnali figyelmet igényel.
- Fájl GitHub problémák a Azure/azure-sdk-for-java adattárban. A hibák, kérdések és funkciókérések nyomon követéséhez GitHub problémákat használunk. GitHub problémák ingyenesek, de a válaszidő nem garantált. További információ: GitHub problémák támogatási folyamata.