Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Spring Cloud Azure to projekt open source, który ułatwia korzystanie z usług Azure w Spring aplikacji.
Spring Cloud Azure to projekt open source ze wszystkimi zasobami dostępnymi publicznie. Poniższa lista zawiera linki do tych zasobów:
- Kod źródłowy: Azure/azure-sdk-for-java.
- Przykłady: Azure-Samples/azure-spring-boot-samples.
- Dokumentacja: Spring Cloud Azure.
Do czego służy usługa Spring Cloud Azure?
Usługa Spring Cloud Azure może ułatwić wykonywanie następujących zadań w aplikacjach Spring:
- Zarządzanie właściwościami konfiguracji za pomocą Azure App Configuration.
- Wysyłanie i odbieranie komunikatów za pomocą Azure Event Hubs, Azure Service Bus i Azure Storage Queue.
- Zarządzanie tajnymi danymi i certyfikatami za pomocą Azure Key Vault.
- Obsługa logowania użytkowników przy użyciu kont służbowych i szkolnych skonfigurowanych z Microsoft Entra ID.
- Obsługa logowania użytkowników przy użyciu kont społecznościowych, takich jak Facebook i Google, przy użyciu Azure Active Directory B2C.
- Ochrona internetowych interfejsów API i uzyskiwanie dostępu do chronionych interfejsów API, takich jak Microsoft Graph do pracy z danymi użytkowników i organizacji przy użyciu Microsoft Entra ID i Azure Active Directory B2C.
- Przechowywanie danych strukturalnych przy użyciu Azure Cosmos DB.
- Przechowywanie danych bez struktury, takich jak dane tekstowe lub binarne z Azure Blob Storage.
- Przechowywanie plików za pomocą Azure Files.
Zalety korzystania z usługi Spring Cloud Azure
W poniższej sekcji przedstawiono zalety korzystania z usługi Spring Cloud Azure. W tej sekcji pobieranie wpisów tajnych przechowywanych w Azure Key Vault jest używane jako przykład. W tej sekcji porównano różnice między tworzeniem aplikacji Spring Boot i bez platformy Spring Cloud Azure.
Bez Spring Cloud Azure
Bez usługi Spring Cloud Azure, jeśli chcesz pobrać wpisy tajne przechowywane w Azure Key Vault, należy wykonać następujące czynności:
Dodaj następujące zależności do pliku pom.xml:
<dependency> <groupId>com.azure</groupId> <artifactId>azure-security-keyvault-secrets</artifactId> <version>4.5.2</version> </dependency>Skonstruuj wystąpienie klasy
SecretClientprzy użyciu kodu podobnego do poniższego przykładu: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(); } }Unikaj twardych informacji kodowania, takich jak
client-idiclient-secret, tworząc te właściwości konfigurowalne, jak pokazano w poniższym przykładzie:@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; } }Zaktualizuj kod aplikacji, jak pokazano w tym przykładzie:
@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()); } }Dodaj niezbędne właściwości do pliku application.yml, jak pokazano w poniższym przykładzie:
azure: keyvault: vault-url: tenant-id: client-id: client-secret:Jeśli musisz użyć
SecretClientw wielu miejscach, zdefiniuj beanSecretClient. Następnie automatycznie podłącz przewódSecretClientw odpowiednich miejscach.
Dzięki usłudze Spring Cloud Azure
Jeśli chcesz pobrać wpisy tajne przechowywane w Azure Key Vault w usłudze Spring Cloud Azure, wymagania są prostsze, jak pokazano w poniższych krokach:
Dodaj następujące zależności do pliku pom.xml:
<dependencies> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-starter-keyvault-secrets</artifactId> </dependency> </dependencies>Użyj rachunku materiałów (BOM), aby zarządzać wersją usługi Spring Cloud Azure, jak pokazano w poniższym przykładzie:
<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>
Notatka
Jeśli używasz platformy Spring Boot 4.0.x, pamiętaj, aby ustawić spring-cloud-azure-dependencies wersję na 7.1.0.
Jeśli używasz platformy Spring Boot 3.5.x, pamiętaj, aby ustawić spring-cloud-azure-dependencies wersję na 6.1.0.
Jeśli używasz platformy Spring Boot 3.1.x-3.5.x, pamiętaj, aby ustawić spring-cloud-azure-dependencies wersję na 5.25.0.
Jeśli używasz środowiska Spring Boot 2.x, ustaw wersję spring-cloud-azure-dependencies na 4.20.0.
Tę listę materiałów (BOM) należy skonfigurować w sekcji <dependencyManagement> pliku pom.xml. Dzięki temu wszystkie zależności usługi Spring Cloud Azure korzystają z tej samej wersji.
Aby uzyskać więcej informacji na temat wersji używanej dla tego modelu BOM, zobacz Jakiej wersji Spring Cloud Azure powinienem użyć.
Dodaj następujące właściwości do pliku application.yml:
spring: cloud: azure: keyvault: secret: endpoint:Zaloguj się przy użyciu Azure CLI przy użyciu następującego polecenia. Poświadczenia będą następnie udostępniane przez Azure CLI, więc nie będzie trzeba dodawać innych informacji o poświadczeniach, takich jak
client-idiclient-secret.az loginPoprowadź przewód
SecretClientw odpowiednich miejscach zgodnie z poniższym przykładem.@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()); } }
Usługa Spring Cloud Azure udostępnia inne funkcje oprócz automatycznie skonfigurowanej SecretClient. Na przykład możesz użyć @Value, aby uzyskać tajną wartość, jak pokazano w poniższym przykładzie:
@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);
}
}
Składniki usługi Spring Cloud Azure
pomoc techniczna platformy Azure
Zapewnia obsługę automatycznej konfiguracji dla usług Azure, takich jak Service Bus, Storage, Active Directory itd.
Microsoft Entra ID
Zapewnia obsługę integracji usługi Spring Security z Microsoft Entra ID na potrzeby uwierzytelniania. Aby uzyskać więcej informacji, zobacz Spring Cloud Azure support for Spring Security.
Azure Key Vault
Zapewnia obsługę adnotacji Spring @Value na potrzeby integracji z sekretami Azure Key Vault. Aby uzyskać więcej informacji, zobacz Spring Cloud Azure secret management.
Azure Storage
Zapewnia obsługę platformy Spring Boot dla usług Azure Storage. Aby uzyskać więcej informacji, zobacz Spring Cloud Azure resource handling.
Uzyskiwanie pomocy technicznej
Jeśli potrzebujesz pomocy technicznej dotyczącej usługi Spring Cloud Azure, możesz poprosić o pomoc w następujący sposób:
- Utwórz zgłoszenia do pomocy technicznej Azure. Klienci z planem Azure support mogą otworzyć bilet Azure support. Zalecamy tę opcję, jeśli problem wymaga natychmiastowej uwagi.
- Składaj problemy w repozytorium Azure/azure-sdk-for-java. Używamy problemów w GitHubie do śledzenia usterek, pytań i próśb o funkcje. GitHub zgłoszenia są bezpłatne, ale czas odpowiedzi nie jest gwarantowany. Aby uzyskać więcej informacji, zobacz procedurę wsparcia dla problemów GitHub.