Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Spring Cloud Azure is een open source project waarmee u Azure services eenvoudiger kunt gebruiken in Spring-toepassingen.
Spring Cloud Azure is een open source project, met alle resources die beschikbaar zijn voor het publiek. De volgende lijst bevat koppelingen naar deze resources:
- Broncode: Azure/azure-sdk-for-java.
- Voorbeelden: Azure-Samples/azure-spring-boot-samples.
- Documentatie: Spring Cloud Azure.
Waarvoor wordt Spring Cloud Azure gebruikt?
Spring Cloud Azure kan het eenvoudiger maken om de volgende taken in Spring-toepassingen uit te voeren:
- Configuratie-eigenschappen beheren met Azure App Configuration.
- Berichten verzenden en ontvangen met Azure Event Hubs, Azure Service Bus en Azure Storage Queue.
- Geheimen en certificaten beheren met Azure Key Vault.
- Ondersteuning voor gebruikersaanmelding met werk- of schoolaccounts die zijn ingericht met Microsoft Entra ID.
- Ondersteuning voor gebruikersaanmelding met sociale accounts zoals Facebook en Google met Azure Active Directory B2C.
- Het beveiligen van uw web-API's en het openen van beveiligde API's, zoals Microsoft Graph om met de gegevens van uw gebruikers en organisatie te werken met Microsoft Entra ID en Azure Active Directory B2C.
- Gestructureerde gegevens opslaan met Azure Cosmos DB.
- Het opslaan van ongestructureerde gegevens, zoals tekst of binaire gegevens, met Azure Blob Storage.
- Bestanden opslaan met Azure Files.
Voordelen van het gebruik van Spring Cloud Azure
In de volgende sectie ziet u de voordelen van het gebruik van Spring Cloud Azure. In deze sectie wordt het ophalen van geheimen die zijn opgeslagen in Azure Key Vault als voorbeeld gebruikt. In deze sectie worden de verschillen vergeleken tussen het ontwikkelen van een Spring Boot-toepassing met en zonder Spring Cloud-Azure.
Zonder Spring Cloud-Azure
Zonder Spring Cloud-Azure moet u de volgende stappen uitvoeren als u geheimen wilt ophalen die zijn opgeslagen in Azure Key Vault:
Voeg de volgende afhankelijkheden toe aan uw pom.xml-bestand:
<dependency> <groupId>com.azure</groupId> <artifactId>azure-security-keyvault-secrets</artifactId> <version>4.5.2</version> </dependency>Maak een
SecretClientklasse-exemplaar met behulp van code die vergelijkbaar is met het volgende voorbeeld: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(); } }Vermijd hardcoderingsinformatie zoals
client-idenclient-secretdoor deze eigenschappen configureerbaar te maken, zoals wordt weergegeven in het volgende voorbeeld:@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; } }Werk de toepassingscode bij zoals wordt weergegeven in dit voorbeeld:
@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()); } }Voeg de benodigde eigenschappen toe aan uw application.yml-bestand , zoals wordt weergegeven in het volgende voorbeeld:
azure: keyvault: vault-url: tenant-id: client-id: client-secret:Als u op meerdere plaatsen wilt gebruiken
SecretClient, definieert u eenSecretClientbean. Verbind vervolgens automatischSecretClientop de relevante plaatsen.
Met Spring Cloud Azure
Als u met Spring Cloud Azure geheimen wilt ophalen die zijn opgeslagen in Azure Key Vault, zijn de vereisten eenvoudiger, zoals wordt weergegeven in de volgende stappen:
Voeg de volgende afhankelijkheden toe aan uw pom.xml-bestand:
<dependencies> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-starter-keyvault-secrets</artifactId> </dependency> </dependencies>Gebruik een stuklijst (BOM) om de versie van Spring Cloud Azure te beheren, zoals geïllustreerd in het volgende voorbeeld:
<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>
Opmerking
Als u Spring Boot 4.0.x gebruikt, moet u de spring-cloud-azure-dependencies versie instellen op 7.1.0.
Als u Spring Boot 3.5.x gebruikt, moet u de spring-cloud-azure-dependencies versie instellen op 6.1.0.
Als u Spring Boot 3.1.x-3.5.x gebruikt, moet u de spring-cloud-azure-dependencies versie instellen op 5.25.0.
Als u Spring Boot 2.x gebruikt, moet u de spring-cloud-azure-dependencies versie instellen op 4.20.0.
Deze BOM (Bill of Material) moet worden geconfigureerd in de <dependencyManagement> sectie van uw pom.xml-bestand. Dit zorgt ervoor dat alle Spring Cloud-Azure afhankelijkheden dezelfde versie gebruiken.
Zie Welke Versie van Spring Cloud Azure Moet Ik Gebruiken voor meer informatie over de versie die voor deze BOM wordt gebruikt.
Voeg de volgende eigenschappen toe aan uw application.yml-bestand :
spring: cloud: azure: keyvault: secret: endpoint:Meld u aan met Azure CLI met behulp van de volgende opdracht. Uw referenties worden vervolgens verstrekt door Azure CLI, dus u hoeft geen andere referentiegegevens toe te voegen, zoals
client-idenclient-secret.az loginAutomatisch verbinden
SecretClientop de relevante plaatsen, zoals wordt weergegeven in het volgende voorbeeld:@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()); } }
Spring Cloud Azure biedt naast de automatisch geconfigureerde SecretClient enkele andere functies. U kunt bijvoorbeeld de @Value geheime waarde ophalen, zoals wordt weergegeven in het volgende voorbeeld:
@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);
}
}
Onderdelen van Spring Cloud Azure
Azure-ondersteuning
Biedt ondersteuning voor automatische configuratie voor Azure Services, zoals Service Bus, Opslag, Active Directory, enzovoort.
Microsoft Entra ID
Biedt integratieondersteuning voor Spring Security met Microsoft Entra ID voor verificatie. Zie Spring Cloud Azure support voor Spring Security voor meer informatie.
Azure Key Vault
Biedt ondersteuning voor Spring @Value annotatie voor integratie met Azure Key Vault Secrets. Zie Spring Cloud Azure secret management voor meer informatie.
Azure Storage
Biedt Spring Boot-ondersteuning voor Azure Storage-services. Voor meer informatie, zie Spring Cloud Azure resourcebeheer.
Ondersteuning krijgen
Als u ondersteuning nodig hebt voor Spring Cloud Azure, kunt u op de volgende manieren om hulp vragen:
- Maak Azure-ondersteuningstickets. Klanten met een Azure support-abonnement kunnen een Azure support ticket openen. We raden deze optie aan als uw probleem onmiddellijke aandacht vereist.
- Rapporteer GitHub-problemen in de opslagplaats Azure/azure-sdk-for-java. We gebruiken GitHub problemen om bugs, vragen en functieaanvragen bij te houden. GitHub problemen zijn gratis, maar de reactietijd is niet gegarandeerd. Zie GitHub problemen met het ondersteuningsproces voor meer informatie.