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.
Azure barındırılan bir uygulamanın kimliğini diğer Azure kaynaklarda doğrulamak için önerilen yaklaşım, managed identity kullanmaktır. Azure App Service, Azure Container Apps ve Azure Virtual Machines üzerinde barındırılan uygulamalar dahil olmak üzere çoğu Azure hizmeti bu yaklaşımı destekler. Daha fazla bilgi için bkz. yönetilen kimlikleri destekleyen Azure hizmetleri ve kaynak türleri. Farklı kimlik doğrulama teknikleri ve yaklaşımları hakkında daha fazla bilgi için Azure Identity kitaplığını kullanarak Java uygulamalarını Azure hizmetlerine kimlik doğrulama bölümüne bakın.
Aşağıdaki bölümlerde şunları öğrenirsiniz:
- Temel yönetilen kimlik kavramları.
- Uygulamanız için kullanıcı tarafından atanan yönetilen kimlik oluşturma.
- "Kullanıcı tarafından atanan yönetilen kimliğe rollerin nasıl atanacağı."
- Uygulama kodunuzdan kullanıcı tarafından atanmış yönetilen kimliği kullanarak kimlik doğrulama işlemini nasıl yapabilirsiniz?
Temel yönetilen kimlik kavramları
Yönetilen kimlik, uygulamanızın gizli anahtarlar veya diğer uygulama gizli dizileri kullanmadan diğer Azure kaynaklarına güvenli bir şekilde bağlanmasını sağlar. Azure, kimliği ve bağlanmasına izin verilen kaynakları dahili olarak izler. Azure, uygulamanın diğer Azure kaynaklarına bağlanmasına izin vermek üzere Microsoft Entra belirteçlerini otomatik olarak almak için bu bilgileri kullanır.
Barındırılan uygulamanızı yapılandırırken göz önünde bulundurmanız gereken iki tür yönetilen kimlik vardır:
- System-assigned yönetilen kimlikler doğrudan bir Azure kaynağında etkinleştirilerek yaşam döngüsüne bağlanır. Kaynak silindiğinde Azure sizin için kimliği otomatik olarak siler. Sistem tarafından atanan kimlikler, yönetilen kimlikleri kullanmaya yönelik minimalist bir yaklaşım sağlar.
- User tarafından atanan yönetilen kimlikler tek başına Azure kaynakları olarak oluşturulur ve daha fazla esneklik ve yetenek sunar. Bunlar, aynı kimliği ve izinleri paylaşması gereken birden çok Azure kaynağı içeren çözümler için idealdir. Örneğin, birden çok sanal makinenin aynı Azure kaynakları kümesine erişmesi gerekiyorsa, kullanıcı tarafından atanan yönetilen kimlik yeniden kullanılabilirlik ve iyileştirilmiş yönetim sağlar.
Tip
Yönetilen kimlik en iyi uygulama önerileri makalesinde sistem tarafından atanan ve kullanıcı tarafından atanan yönetilen kimlikleri seçme ve yönetme hakkında daha fazla bilgi edinin.
Aşağıdaki bölümlerde, Azure barındırılan bir uygulama için kullanıcı tarafından atanan yönetilen kimliği etkinleştirme ve kullanma adımları açıklanmaktadır. Sistem tarafından atanan yönetilen kimlik kullanmanız gerekiyorsa bkz. Sistem tarafından atanan yönetilen kimliği kullanarak Azure kaynaklarına Azure'da barındırılan Java uygulamaları için kimlik doğrulama.
Kullanıcının atadığı yönetilen kimliği oluşturun
Kullanıcı tarafından atanan yönetilen kimlikler, Azure portalı veya Azure CLI kullanılarak Azure aboneliğinizde tek başına kaynaklar olarak oluşturulur. Azure CLI komutları Azure Cloud Shell içinde veya Azure CLI yüklü yüklü bir iş istasyonunda çalıştırılabilir.
Azure portalında ana arama çubuğuna Yönetilen kimlikler girin ve Services bölümünde eşleşen sonucu seçin.
Yönetilen Kimlikler sayfasında +Oluştur'u seçin.
Kullanıcı Tarafından Atanan Yönetilen Kimlik oluştur sayfasında, kullanıcı tarafından atanan yönetilen kimlik için bir abonelik, kaynak grubu ve bölge seçin ve bir ad sağlayın.
Girişlerinizi gözden geçirmek ve doğrulamak için Gözden geçir + oluştur seçeneğini seçin.
Kullanıcı tarafından atanan yönetilen kimliği oluşturmak için oluştur'u seçin.
Kimlik oluşturulduktan sonra Kaynağa git'i seçin.
Yeni kimliğin Genel Bakış sayfasında, uygulama kodunu yapılandırırken kullanmak üzere İstemci Kimliği değerini kopyalayın.
Uygulamanıza yönetilen kimliği atayın
Kullanıcı tarafından atanan yönetilen kimlik, bir veya daha fazla Azure kaynağıyla ilişkilendirilebilir. Bu kimliği kullanan tüm kaynaklar, kimliğe ait roller üzerinden verilen izinleri alır.
Azure portalında, Azure App Service veya Azure Container Apps örneği gibi uygulama kodunuzu barındıran kaynağa gidin.
Kaynağın Genel Bakış sayfasında Ayarlar bölümünü genişletin ve navigasyon menüsünden Kimlik'i seçin.
Kimlik sayfasına gidin ve Kullanıcı tarafından atanan sekmesine geçin.
+ Ekle'yi seçin ve Kullanıcı tarafından atanan yönetilen kimlik ekle panelini açın.
Kullanıcı tarafından atanan yönetilen kimliği ekle panelinde, kimlikleriniz için yapılan arama sonuçlarını filtrelemek amacıyla Abonelik açılır listesini kullanın. Uygulamanızı barındıran Azure kaynağı için etkinleştirdiğiniz kullanıcı tarafından atanan yönetilen kimliği bulmak için User tarafından atanan yönetilen kimlikler arama kutusunu kullanın.
Devam etmek için kimliği seçin ve panelin alt kısmındaki Ekle'i seçin.
Yönetilen kimliğe roller atayın
Ardından, uygulamanızın hangi rollere ihtiyacı olduğunu belirleyin ve bu rolleri yönetilen kimliğe atayın. Yönetilen kimliğe aşağıdaki kapsamlarda rol atayabilirsiniz:
- Kaynak: Atanan roller yalnızca o belirli kaynağa uygulanır.
- Kaynak grubu: Atanan roller, kaynak grubunda yer alan tüm kaynaklara uygulanır.
- abonelik : Atanan roller, abonelikte yer alan tüm kaynaklar için geçerlidir.
Aşağıdaki örnekte, birçok uygulama tüm ilgili Azure kaynaklarını tek bir kaynak grubu kullanarak yönettiğinden kaynak grubu kapsamında rollerin nasıl atandığı gösterilmektedir.
Kullanıcı tarafından atanan yönetilen kimlikle uygulamayı içeren kaynak grubunun Genel Bakış sayfasına gidin.
Soldaki gezinti bölmesinde Erişim Denetimi (IAM) seçin.
Erişim denetimi (IAM) sayfasında, üst menüden + Ekle'yi seçin ve ardından Rol Ataması Ekle'yi seçerek Rol Ataması Ekle sayfasına gidin.
Rol ataması ekle sayfası, kimliklere rol atamak için sekmeli, çok adımlı bir iş akışı sunar. İlk Rol sekmesinde, kimliğe atamak istediğiniz rolü bulmak için üstteki arama kutusunu kullanın.
Sonuçlardan rolü seçin ve ardından İleri seçeneğine tıklayarak Üyeler sekmesine geçin.
erişim atama seçeneği için yönetilen kimlikseçin.
Üyeler seçeneği için, + Üyeleri seç'ni seçin ve Yönetilen kimlikleri seç panelini açın.
Yönetilen kimlikleri seçin panelinde Abonelik kullanın ve yönetilen kimlik açılan listelerini kullanarak kimliklerinizin arama sonuçlarını filtreleyin. Uygulamanızı barındıran Azure kaynağı için etkinleştirdiğiniz kullanıcı tarafından atanan yönetilen kimliği bulmak için Select arama kutusunu kullanın.
Devam etmek için kimliği seçin ve panelin altındaki seçeneğini tıklayın.
Sayfanın alt kısmındaki Gözden Geçir + Ata seçeneğini seçin.
Son gözden geçir + ata sekmesinde, iş akışını tamamlamak için gözden geçir + ata'ü seçin.
Uygulamanızdan Azure hizmetleri için kimlik doğrulaması
Azure Identity libraryTokenCredential uygulamaları olarak farklı kimlik bilgileri sunar. Her uygulama farklı senaryoları ve Microsoft Entra kimlik doğrulama akışlarını destekler. Kullanıcı tarafından atanan yönetilen kimlikler için kimlik bilgilerini yapılandırırken kimliğin istemci kimliğini, kaynak kimliğini veya nesne kimliğini belirtin.
Kodu uygulama
azure-identity Dosyanıza pom.xml bağımlılığı ekleyin:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
</dependency>
Azure SDK istemci kitaplıklarından özelleştirilmiş istemci sınıflarını kullanarak Azure hizmetlere erişirsiniz. Aşağıdaki kod örnekleri, kullanıcı atanmış yönetilen kimlik doğrulaması için kimlik bilgilerini yapılandırmayı gösterir.
DefaultAzureCredential kullanın
Azure barındırılan uygulamaların kimlik bilgileri olarak DefaultAzureCredential kullanın. Kullanıcı tarafından atanan yönetilen kimlikler için şu yöntemi kullanarak managedIdentityClientId istemci kimliğini yapılandırın:
import com.azure.identity.DefaultAzureCredential;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.security.keyvault.secrets.SecretClient;
import com.azure.security.keyvault.secrets.SecretClientBuilder;
// Configure DefaultAzureCredential with the user-assigned managed identity's client ID
DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
.managedIdentityClientId("<user-assigned-managed-identity-client-id>")
.build();
// Azure SDK client builders accept the credential as a parameter
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your-key-vault-name>.vault.azure.net")
.credential(credential)
.buildClient();
ManagedIdentityCredential'i Kullanma
Yönetilen kimlik kimlik bilgilerini açıkça kullanmak ve DefaultAzureCredential içinde kimlik bilgisi zinciri aramasından kaçınmak istiyorsanız, ManagedIdentityCredential'i doğrudan kullanın. Kullanıcı tarafından atanan yönetilen kimlikler için istemci kimliğini, kaynak kimliğini veya nesne kimliğini kullanarak kimliği belirtebilirsiniz.
Bu kimliği kullanarak kimlik doğrulaması gereken uygulamaları veya hizmetleri yapılandırırken yönetilen kimliği tanımlamak için istemci kimliğini kullanın.
Aşağıdaki komutu kullanarak kullanıcıya atanmış yönetilen kimliğe ait istemci kimliğine erişin:
az identity show \
--resource-group <resource-group-name> \
--name <identity-name> \
--query clientId \
--output tsv
ManagedIdentityCredential'ı istemci kimlik numarası ile yapılandırın.
import com.azure.identity.ManagedIdentityCredential;
import com.azure.identity.ManagedIdentityCredentialBuilder;
import com.azure.security.keyvault.secrets.SecretClient;
import com.azure.security.keyvault.secrets.SecretClientBuilder;
// Specify the client ID of the user-assigned managed identity
ManagedIdentityCredential credential = new ManagedIdentityCredentialBuilder()
.clientId("<user-assigned-managed-identity-client-id>")
.build();
// Azure SDK client builders accept the credential as a parameter
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your-key-vault-name>.vault.azure.net")
.credential(credential)
.buildClient();
Sonraki Adımlar
Bu makalede, kullanıcı tarafından atanan yönetilen kimlik kullanılarak kimlik doğrulaması ele alınmıştır. Bu kimlik doğrulama biçimi, Java için Azure SDK kimlik doğrulaması yapabileceğiniz birden çok yöntemden biridir. Aşağıdaki makalelerde kimlik doğrulamasının diğer yolları açıklanmaktadır:
- Azure'da barındırılan Java uygulamalarını, sistem tarafından atanan yönetilen kimlik kullanarak Azure kaynaklarına kimlik doğrulaması yapın
- > Geliştirici hesaplarını kullanarak yerel geliştirme sırasında Java uygulamalarını Azure hizmetlere doğrulayın
- Hizmet sorumlularını kullanarak Java uygulamalarını yerel geliştirme sırasında Azure hizmetlere doğrulayın
Azure barındırılan uygulama kimlik doğrulamasıyla ilgili sorunlarla karşılaşırsanız bkz. Sorun Azure barındırılan uygulama kimlik doğrulaması.
Kimlik doğrulamayı öğrendikten sonra, Azure SDK ile Java için Günlük Kaydını Yapılandırma bölümüne bakarak SDK tarafından sağlanan günlük kaydı işlevselliği hakkında bilgi edinin.