Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Spring Cloud Azure,
Spring Cloud Azure, tüm kaynakların genel kullanıma sunulduğu açık kaynaklı bir projedir. Aşağıdaki liste bu kaynaklara bağlantılar sağlar:
- Kaynak kodu: azure/azure-sdk-for-java.
- Örnekler: Azure-Samples/azure-spring-boot-samples.
- Belgeler: Spring Cloud Azure.
Spring Cloud Azure ne için kullanılır?
Spring Cloud Azure, Spring uygulamalarında aşağıdaki görevleri gerçekleştirmeyi kolaylaştırmaya yardımcı olabilir:
- Azure Uygulama Yapılandırmasıile yapılandırma özelliklerini yönetme.
- Azure Event Hubs, Azure Service Bus, ve Azure Depolama Kuyruğuile ileti gönderme ve alma.
- Azure Key Vaultile gizli verileri ve sertifikaları yönetme.
- Microsoft Entra IDile sağlanan iş veya okul hesaplarıyla kullanıcı oturum açmayı destekleme.
- Azure Active Directory B2Cile Facebook ve Google gibi sosyal hesaplarla kullanıcı oturum açma desteği.
- Microsoft Entra ID ve Azure Active Directory B2Cile kullanıcılarınızın ve kuruluşunuzun verileriyle çalışmak, web API'lerinizi korumak ve Microsoft Graph gibi korumalı API'lere erişmek.
- Yapılandırılmış verileri Azure Cosmos DBile depolama.
- Azure Blob Depolamakullanarak metin veya ikili veri gibi yapılandırılmamış verileri saklama.
- Azure Filesile dosyaları depolamak.
Spring Cloud Azure kullanmanın avantajları
Aşağıdaki bölümde Spring Cloud Azure kullanmanın avantajları gösterilmektedir. Bu bölümde, örnek olarak Azure Key Vault'ta depolanan gizli bilgilerin alınması kullanılmıştır. Bu bölüm, Spring Cloud Azure ile ve Spring Cloud Azure olmadan Spring Boot uygulaması geliştirme arasındaki farkları karşılaştırır.
Spring Cloud Azure olmadan
Spring Cloud Azure olmadan, Azure Key Vault'ta depolanan gizli dizileri almak istiyorsanız aşağıdaki adımları uygulamanız gerekir:
pom.xml dosyanıza aşağıdaki bağımlılıkları ekleyin:
<dependency> <groupId>com.azure</groupId> <artifactId>azure-security-keyvault-secrets</artifactId> <version>4.5.2</version> </dependency>Aşağıdaki örneğe benzer bir kod kullanarak
SecretClientsınıf örneği oluşturun: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şağıdaki örnekte gösterildiği gibi bu özellikleri yapılandırılabilir hale getirerek
client-idveclient-secretgibi sabit kodlama bilgilerinden kaçının:@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; } }Uygulama kodunuzu bu örnekte gösterildiği gibi güncelleştirin:
@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()); } }Aşağıdaki örnekte gösterildiği gibi gerekli özellikleri application.yml dosyanıza ekleyin:
azure: keyvault: vault-url: tenant-id: client-id: client-secret:SecretClientbirden çok yerde kullanmanız gerekiyorsa birSecretClientçekirdeği tanımlayın. ArdındanSecretClientnumaralı kabloyu ilgili yerlerde otomatik olarak bağlayın.
Spring Cloud Azure ile
Spring Cloud Azure ile, Azure Key Vault'ta depolanan gizli dizileri almak istiyorsanız, aşağıdaki adımlarda gösterildiği gibi gereksinimler daha basittir:
pom.xml dosyanıza aşağıdaki bağımlılıkları ekleyin:
<dependencies> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-starter-keyvault-secrets</artifactId> </dependency> </dependencies>Aşağıdaki örnekte gösterildiği gibi Spring Cloud Azure sürümünü yönetmek için bir ürün reçetesi (BOM) kullanın:
<dependencyManagement> <dependencies> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-dependencies</artifactId> <version>6.0.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>Not
Spring Boot 3.0.x-3.4.x kullanıyorsanız, sürümü
spring-cloud-azure-dependenciesolarak ayarladığınızdan5.23.0emin olun. Spring Boot 2.x kullanıyorsanız,spring-cloud-azure-dependenciessürümünü4.20.0olarak ayarladığınızdan emin olun. Bu Ürün Reçetesi (BOM),<dependencyManagement>dosyanızın bölümünde yapılandırılmalıdır. Bu, tüm Spring Cloud Azure bağımlılıklarının aynı sürümü kullanmasını sağlar. BOM için kullanılan sürüm hakkında daha fazla bilgi almak için, "Spring Cloud Azure'ın Hangi Sürümünü Kullanmalıyım?" bölümüne bakın.application.yml dosyanıza aşağıdaki özellikleri ekleyin:
spring: cloud: azure: keyvault: secret: endpoint:Aşağıdaki komutu kullanarak Azure CLI ile oturum açın. Ardından kimlik bilgileriniz Azure CLI tarafından sağlanacağı için
client-idveclient-secretgibi başka kimlik bilgileri eklemeniz gerekmez.az loginAşağıdaki örnekte gösterildiği gibi, ilgili yerlerde
SecretClientkablosunu otomatik olarak bağlayın.@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, otomatik olarak yapılandırılan SecretClientdışında bazı başka özellikler de sağlayacaktır. Örneğin, aşağıdaki örnekte gösterildiği gibi gizli değeri almak için @Value kullanabilirsiniz:
@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);
}
}
Spring Cloud Azure bileşenleri
Azure desteği
Service Bus, Depolama, Active Directory gibi Azure Hizmetleri için otomatik yapılandırma desteği sağlar.
Microsoft Entra Kimlik Hizmeti (ID)
Kimlik doğrulaması için Microsoft Entra ID ile Spring Security için tümleştirme desteği sağlar. Daha fazla bilgi için bkz. Spring Securityiçin Spring Cloud Azure desteği
Azure Key Vault
Azure Key Vault Gizli Anahtarları ile entegrasyon için Spring @Value anotasyon desteği sağlar. Daha fazla bilgi için bkz. Spring Cloud Azure gizli yönetimi.
Azure Depolama
Azure Depolama hizmetleri için Spring Boot desteği sağlar. Daha fazla bilgi için bkz. Spring Cloud Azure kaynak işleme
Destek alın
Spring Cloud Azure için desteğe ihtiyacınız varsa aşağıdaki yollarla yardım isteyebilirsiniz:
- Azure destek biletleri oluşturun.
Azure destek planına sahip olan müşterilerbir Azure destek bileti açabilir. Sorununuz hemen ilgilenilmesini gerektiriyorsa bu seçeneği öneririz. - Azure/azure-sdk-for-java deposundaki GitHub sorunlarını dosyalayın. Hataları, soruları ve özellik isteklerini izlemek için GitHub sorunlarını kullanırız. GitHub sorunları ücretsizdir ancak yanıt süresi garanti değildir. Daha fazla bilgi için bkz. GitHub sorunları destek süreci.
Sonraki adımlar
- Eğitim: Spring Boot uygulamasında Azure Key Vault'tan gizli anahtar okuma
- Spring Security 5 ve Microsoft Entra ID kullanarak GÜVENLI REST API
- Spring Boot Starter'ı NoSQL için Azure Cosmos DB ile kullanma