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 opensource-project waarmee u Eenvoudiger Azure-services in Spring-toepassingen kunt gebruiken.
Spring Cloud Azure is een opensource-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 uit te voeren in Spring-toepassingen:
- 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 te werken met de gegevens van uw gebruikers en organisatie 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
Als u zonder Spring Cloud Azure geheimen wilt ophalen die zijn opgeslagen in Azure Key Vault, moet u de volgende stappen uitvoeren:
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 om de Spring Cloud Azure-versie te beheren, zoals wordt weergegeven in het volgende voorbeeld:
<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>Opmerking
Als u Spring Boot 2.x gebruikt, moet u de
spring-cloud-azure-dependenciesversie instellen op4.20.0. Deze materialenlijst (Bill of Material) moet worden geconfigureerd in het<dependencyManagement>gedeelte 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 SecretClientfuncties 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
Ondersteuning voor Azure
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-ondersteuning voor Spring Security voor meer informatie.
Azure Key Vault
Biedt ondersteuning voor Spring-aantekeningen @Value voor integratie met Azure Key Vault Secrets. Zie Spring Cloud Azure-geheimbeheer voor meer informatie.
Azure-opslag
Biedt Spring Boot-ondersteuning voor Azure Storage-services. Zie De verwerking van Spring Cloud Azure-resources voor meer informatie.
Ondersteuning krijgen
Als u ondersteuning nodig hebt voor Spring Cloud Azure, kunt u op de volgende manieren om hulp vragen:
- Azure-ondersteuningstickets maken. Klanten met een Azure-ondersteuningsplan kunnen een Azure-ondersteuningsticket openen. We raden deze optie aan als uw probleem onmiddellijke aandacht vereist.
- Meld GitHub-problemen in de Azure/azure-sdk-for-java repository. We gebruiken GitHub-problemen om bugs, vragen en functieaanvragen bij te houden. GitHub-problemen zijn gratis, maar de reactietijd is niet gegarandeerd. Zie het ondersteuningsproces voor GitHub-problemen voor meer informatie.