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.
Güvenlik, bir uygulamayı Microsoft Entra ID'ye kaydederken önemli bir kavramdır ve kuruluş içindeki iş amaçlı kullanımının kritik bir parçasıdır. Bir uygulamanın yanlış yapılandırılması kapalı kalma süresine veya güvenliğin ihlaline neden olabilir. Bir uygulamaya eklenen izinlere bağlı olarak, kuruluş genelinde etkileri olabilir.
Güvenli uygulamalar kuruluş için temel öneme sahip olduğundan, güvenlik sorunları nedeniyle bu uygulamalardaki herhangi bir kesinti işletmeyi veya işletmenin bağlı olduğu kritik bir hizmeti etkileyebilir. Bu nedenle, uygulamaların her zaman sağlıklı ve güvenli bir durumda kalmasını sağlamak için zaman ve kaynak ayırmak önemlidir. Kod için Güvenlik Tehdit Modeli değerlendirmesi gibi uygulamaların düzenli güvenlik ve sağlık değerlendirmesini gerçekleştirin. Kuruluşlarda güvenliğe daha geniş bir perspektiften bakmak için bkz. güvenlik geliştirme yaşam döngüsü (SDL).
Bu makalede, aşağıdaki uygulama özellikleri ve senaryoları için en iyi güvenlik yöntemleri açıklanmaktadır:
- Kimlik türü
- Kimlik Bilgileri
- Yeniden Yönlendirme URI'leri
- Belirsiz akış yapılandırması
- Uygulama Kimliği URI'si (tanımlayıcı URI olarak da bilinir)
- Erişim belirteci sürümü
- Uygulama çoğul kilidi
- Uygulama sahipliği
Kimlik türü
Uygulama kayıtları veya uygulama nesneleri olarak da adlandırılan Microsoft Entra uygulamalarına yönelik en iyi güvenlik uygulamaları hakkında bilgi edinmek için burada olabilirsiniz. Ancak, Azure kaynakları için yönetilen kimlikler olarak adlandırılan, Entra korumalı kaynaklara erişmek için kullanılabilecek başka bir kimlik türü vardır.
Azure yönetilen kimlikleri varsayılan olarak güvenlidir ve sürekli bakım veya ek yük gerektirmez. Aşağıdakilerin tümü doğruysa uygulama kimliğiniz için Microsoft Entra uygulaması yerine yönetilen kimlik kullanmayı göz önünde bulundurun:
- Hizmet Azure bulutunda çalışır
- Uygulamanın kullanıcılarda oturum açması gerekmez
- Uygulamanın belirteç akışında kaynak olarak davranması gerekmez (web API'si değildir)
- Uygulamanın birden çok kiracıda çalışması gerekmez
Not:
Yönetilen kimlikler , Microsoft Graph dahil olmak üzere Azure dışındaki kaynaklara erişmek için kullanılabilir.
Bu makalenin geri kalanında Entra uygulama kayıtlarının özellikleri için en iyi güvenlik uygulamaları yer alır.
Kimlik bilgileri (sertifikalar ve gizli bilgiler dahil)
Kimlik bilgileri, gizli istemci olarak kullanıldığında uygulamanın önemli bir parçasıdır. Azure portalında uygulamanın Sertifikalar ve gizli diziler sayfası altında kimlik bilgileri eklenebilir veya kaldırılabilir.
Sertifikalar ve gizli bilgilerle ilgili aşağıdaki yönergeleri göz önünde bulundurun:
- Mümkün olduğunda kimlik bilgisi olarak yönetilen kimlik kullanın. Yönetilen kimlikler hem en güvenli seçenek olduğundan hem de devam eden kimlik bilgileri yönetimi gerektirmediğinden bu kesinlikle önerilir. Yönetilen kimliği kimlik bilgisi olarak yapılandırmak için bu kılavuzu izleyin. Ancak bu seçenek yalnızca uygulamanın içinde kullanıldığı hizmet Azure'da çalıştırıldığında mümkün olabilir.
- Uygulamanın kullanıldığı hizmet Azure'da çalışmıyorsa ancak otomatik kimlik bilgisi yönetimi sunan başka bir platformda çalıştırılıyorsa, bu platformdaki bir kimliği kimlik bilgisi olarak kullanmayı göz önünde bulundurun. Örneğin, GitHub eylemleri iş akışı kimlik bilgisi olarak yapılandırılarak GitHub eylemleri işlem hattı için kimlik bilgilerini yönetme ve güvenliğini sağlama gereksinimi ortadan kaldırılabilir. Bu yaklaşımda dikkatli olun ve yalnızca güvendiğiniz platformlardan federasyon kimlik bilgilerini yapılandırın. Bir uygulama yalnızca kimlik bilgisi olarak yapılandırdığı kimlik platformu kadar güvenlidir.
- Yönetilen kimlik veya başka bir güvenli dış kimlik sağlayıcısı kullanmak mümkün değilse sertifika kimlik bilgilerini kullanın. Parola kimlik bilgilerini, gizli bilgiler olarak da bilinen, kullanmayın. Parola gizli dizilerini kimlik bilgisi olarak kullanmak kullanışlı olsa da, parola kimlik bilgileri genellikle yanlış yönetilir ve kolayca tehlikeye girebilir.
- Yönetilen kimlik yerine bir sertifika kullanılması gerekiyorsa, bu sertifikayı Azure Key Vault gibi güvenli bir anahtar kasasında depolayın.
- Yönetilen kimlik yerine bir sertifika kullanılması gerekiyorsa, otomatik olarak imzalanan sertifika yerine güvenilen bir sertifika yetkilisinden (CA) sertifika kullanın. Sertifikaların güvenilen verenlerden gelmesini zorunlu kılmak için bir ilke yapılandırın. Ancak, güvenilir bir CA kullanmak mümkün değilse, parolalar yerine otomatik olarak imzalanan sertifikalar yine de tercih edilir.
- Gizli bilgilerin kullanımını, kullanım ömürlerini sınırlayarak veya kullanımlarını tamamen engelleyerek yönetmek için uygulama yönetimi ilkelerini yapılandırın.
- Bir uygulama yalnızca genel veya yüklü bir istemci olarak kullanılıyorsa (örneğin, son kullanıcı makinesinde yüklü olan mobil veya masaüstü uygulamaları), uygulama nesnesinde hiçbir kimlik bilgisi belirtilmediğinden emin olun.
- Uygulamalarda kullanılan kimlik bilgilerini güncel kullanım durumu ve süre sonu açısından gözden geçirin. Bir uygulamadaki kullanılmayan kimlik bilgileri güvenlik ihlaline neden olabilir. Kimlik bilgilerini sık sık yenileyin ve uygulamalar arasında kimlik bilgilerini paylaşmayın. Bir uygulamada çok fazla kimlik bilgisi bulundurmayın.
- Her türlü giriş bilgilerinin kod depolarına işlenmesini önlemek için üretim işlem hatlarınızı izleyin. Kimlik Bilgisi Tarayıcısı, kaynak kodundaki ve derleme çıktısındaki kimlik bilgilerini (ve diğer hassas içerikleri) algılamak için kullanılabilen statik bir analiz aracıdır.
Yeniden Yönlendirme URI'leri
Uygulamanızın Yeniden Yönlendirme URI'lerini güncel tutmak önemlidir. Azure portalında uygulama için Kimlik doğrulaması altında, uygulama için bir platform seçilmelidir ve ardından Yeniden Yönlendirme URI'si özelliği tanımlanabilir.
Yeniden yönlendirme URI'leri için aşağıdaki yönergeleri göz önünde bulundurun:
- Tüm URI'lerin sahipliğini koruyun. Yeniden yönlendirme URI'lerinden birinin sahipliğini yitirmek, uygulamanın güvenliğinin aşılmasına neden olabilir.
- Tüm DNS kayıtlarının düzenli aralıklarla güncelleştirildiğinden ve değişiklikler için izlendiğinden emin olun.
- Joker karakterli yanıt URL'lerini veya http ya da URN gibi güvenli olmayan URI düzenlerini kullanmayın.
- Listeyi küçük tutun. Gereksiz URI'leri kırpın. Mümkünse HTTP'den Https'ye URL'leri güncelleştirin.
Belirsiz akış yapılandırması
Örtük akış gerektiren senaryolar, örtük akışın kötüye kullanımıyla ilişkili uzlaşma riskini azaltmak için artık Yetkilendirme kodu akışını kullanabilir. Azure portalında uygulama için Kimlik doğrulaması altında, uygulama için bir platform seçilmelidir ve ardından Erişim belirteçleri (örtük akışlar için kullanılır) özelliği ayarlanabilir.
Uygulama Kimliği URI'si (Tanımlayıcı URI'si olarak da bilinir)
Uygulamanın Uygulama Kimliği URI özelliği, web API'sini tanımlamak için kullanılan genel benzersiz URI'yi belirtir. Bu, Microsoft Entra'ya yapılan isteklerdeki kapsam değerinin ön ekidir. Ayrıca v1.0 erişim belirteçlerinde hedef kitle (aud) talebi değeridir. Çok kiracılı uygulamalar için değerin de genel olarak benzersiz olması gerekir.
Tanımlayıcı URIolarak da adlandırılır. Azure portalında uygulama için Bir API’yi kullanıma sun altında, Uygulama Kimliği URI’si özelliği tanımlanabilir.
Uygulama Kimliği URI'sini tanımlamak için en iyi yöntemler, uygulamanın v1.0 veya v2.0 erişim belirteçleri verilip verilmediğini bağlı olarak değişir. Bir uygulamanın v1.0 erişim belirteçlerini alıp almadığını bilmiyorsanız, requestedAccessTokenVersion kontrol edin.
null veya 1 değeri, uygulamanın v1.0 erişim belirteçleri aldığını gösterir.
2 değeri, uygulamanın v2.0 erişim belirteçleri aldığını gösterir.
v1.0 erişim belirteçleri verilen uygulamalar için yalnızca varsayılan URI'ler kullanılmalıdır. Varsayılan URI'ler api://<appId> ve api://<tenantId>/<appId>. - Kuruluşunuzdaki uygulamalarda gelecekteki güncelleştirmelerde bu en iyi yöntemi uygulamak için nonDefaultUriAddition kısıtlamayı yapılandırın.
v2.0 erişim belirteçleri verilen uygulamalar için Uygulama Kimliği URI'sini tanımlarken aşağıdaki yönergeleri kullanın:
-
apiveyahttpsURI düzenleri önerilir. Kuruluşunuzda URI çakışmalarını önlemek için özelliği desteklenen biçimlerde ayarlayın. Joker karakterler kullanmayın. - Kuruluşunuzun doğrulanmış bir etki alanını kullanın.
- Güvenliğin korunmasına yardımcı olmak için kuruluşunuzdaki URI'lerin envanterini tutun.
Aşağıdaki API ve HTTP şeması tabanlı uygulama kimliği URI biçimleri desteklenir. Yer tutucu değerlerini, tablodan sonraki listede açıklandığı gibi değiştirin.
| Desteklenen uygulama kimliği URI biçimleri |
Örnek uygulama kimliği URI'leri |
|---|---|
| api://<appId> | api://aaaabbbb-0000-cccc-1111-dddd2222eeee |
| api://<tenantId>/<appId> | api://aaaabbbb-0000-cccc-1111-dddd2222eeee/00001111-aaaa-2222-bbbb-3333cccc4444 |
| api://<tenantId>/<string> | api://aaaabbbb-0000-cccc-1111-dddd2222eeee/api |
| api://<string>/<appId> | api://productapi/00001111-aaaa-2222-bbbb-3333cccc4444 |
| https://<tenantInitialDomain>.onmicrosoft.com/<string> | https://contoso.onmicrosoft.com/productsapi |
| https://<verifiedCustomDomain>/<string> | https://contoso.com/productsapi |
| https://<string>.<verifiedCustomDomain> | https://product.contoso.com |
| https://<string>.<verifiedCustomDomain>/<string> | https://product.contoso.com/productsapi |
| api://<string>.<verifiedCustomDomainOrInitialDomain>/<string> | api://contoso.com/productsapi |
- <appId> - Uygulama nesnesinin uygulama tanımlayıcısı (appId) özelliği.
- <string> - Konağın veya api yolu kesiminin dize değeri.
- <tenantId> - Azure'da kiracıyı/dizini temsil etmek için Azure tarafından oluşturulan bir GUID.
- <tenantInitialDomain> - , burada tenantInitialDomain, kiracı oluşturma sırasında kiracıyı oluşturan kullanıcının belirttiği ilk etki alanı adıdır tenantInitialDomain.onmicrosoft.com.
- <verifiedCustomDomain> - Microsoft Entra kiracınız için yapılandırılmış doğrulanmış bir özel etki alanı .
Not:
api:// düzenini kullanırsanız, "api://" öğesinin hemen arkasına bir dize değeri eklersiniz. Örneğin, api://< string>. Bu dize değeri bir GUID veya rastgele bir dize olabilir. BIR GUID değeri eklerseniz, bu değerin uygulama kimliğiyle veya kiracı kimliğiyle eşleşmesi gerekir. String türünde bir değer kullanıyorsanız, bu değerin doğrulanmış bir özel etki alanını veya kiracınızın ilk etki alanını kullanması gerekir. Öneri, api://<appId> kullanmaktır.
Önemli
Uygulama kimliği URI değeri eğik çizgi "/" karakteriyle bitmemelidir.
Önemli
Uygulama kimliği URI değeri kiracınızda benzersiz olmalıdır.
Erişim belirteci sürümü
Bu bölüm yalnızca kaynak uygulamaları için geçerlidir; yani erişim belirteçlerinde hedef kitle olarak davranan uygulamalar. Kaynak uygulamaları genellikle web API'leridir. Bir uygulama yalnızca istemci işlevi görüyorsa (yani Microsoft Graph gibi kaynaklara gönderilecek belirteçleri alırsa), bu bölüm geçerli değildir.
Özel tanımlayıcı URI'lerini yapılandıran kaynak uygulamaları v2.0 erişim belirteci biçimini kullanmalıdır. Bir uygulamanın v2.0 erişim belirteçlerini kullanıp kullanmaması gerektiğini denetlemek için uygulamanın identifierUris özelliğine bakın.
Orada api://{appId} veya api://{tenantId}/{appId} formatında yapılandırılmamış herhangi bir değer varsa, uygulama v2.0 erişim belirteçlerini kullanmalıdır.
v2.0 erişim belirteçlerine yükseltmek için önce uygulamanın v2.0 belirteç taleplerini işleyebileceğinden emin olun. Ardından, bildirim düzenleyicisini kullanarak uygulamanın verildiği erişim belirteci sürümünü güncelleştirin.
Uygulama yapılandırması v2.0 belirteçlerini kullanacak şekilde güncelleştirildikten sonra, uygulamanın hedef kitle doğrulama mantığının yalnızca kabul appIdetmek üzere değiştirildiğinden emin olun.
Uygulama örneği özellik kilidi
Bir uygulamanın kiracıya sağlanan bir hizmet sorumlusu olduğunda, bu hizmet sorumlusu bir kiracı yöneticisi tarafından özelleştirilebilir. Bu, kiracının uygulamanın ev kiracısı mı yoksa yabancı bir kiracı mı olduğuna bakılmaksızın geçerlidir. Bu özelleştirme özellikleri, uygulama sahibinin beklemediğini değişikliklere olanak tanıyarak güvenlik risklerine yol açabilir. Örneğin, kimlik bilgilerinin genellikle uygulama geliştiricisi ve sahibi tarafından sahip olunması ve denetlenmesi gerekse bile, kimlik bilgileri hizmet sorumlusuna eklenebilir.
Bu riski azaltmak için uygulamaların uygulama örneği kilidini yapılandırması gerekir. Uygulama örneği kilidini yapılandırırken her zaman kullanılabilir tüm hassas özellikleri kilitleyin. Bu özellikle çok kiracılı mimariye sahip uygulamalar için kritik önem taşır, ancak tek kiracılı mimariye sahip uygulamalar da hassas özelliklerini korumak için app instance lock kullanmalıdır.
İzinler
Uygulamanıza korumalı kaynaklara veya API'lere erişmek için izin verilmesi gerekebilir. İzin istediğinizde her zaman aşağıdakileri sağlayın:
- En az ayrıcalık ilkelerini izleyin. Uygulamanın gerçekleştirmesi gereken eylemi yapabilmesi için gerekli en düşük erişim izinlerini isteyin. Microsoft Graph'ı çağırıyorsanız, belirli bir API çağrısı için en az izin verilen izni belirlemek için API belgelerini kullanın. Daha az ayrıcalıklı bir seçeneğin kullanılabilir olup olmadığını denetlemek için uygulamanızın izinlerini düzenli aralıklarla gözden geçirin. Bir uygulamanın artık izne ihtiyacı yoksa, uygulamayı kaldırın.
- Mümkün olduğunda yalnızca uygulama erişimi yerine yetkilendirilmiş erişimi kullanın.
- İzinle ilgili temel bilgileri anladığınızdan emin olmak için izinleri ve onay belgelerini gözden geçirin.
Uygulama sahipliği yapılandırması
Sahipler, kayıtlı bir uygulamanın tüm yönlerini yönetebilir. Kuruluştaki tüm uygulamaların sahipliğini düzenli olarak gözden geçirmek önemlidir. Daha fazla bilgi için bkz. Microsoft Entra erişim gözden geçirmeleri. Azure portalında uygulama için Sahipler altında, uygulamanın sahipleri yönetilebilir.
Uygulama sahiplerini belirtmeyle ilgili aşağıdaki yönergeleri göz önünde bulundurun:
- Uygulama sahipliği, kuruluş içindeki en az sayıda kişi tarafından tutulmalıdır.
- Bir yöneticinin, sahiplerin hâlâ kuruluşun bir parçası olduğunu ve bir uygulamanın sahibi olmaya devam ettiğini doğrulamak için sahipler listesini birkaç ayda bir gözden geçirmesi gerekir.
Entra önerilerini kontrol et
Microsoft Entra önerileri özelliği, kiracınızın durumunu izlemenize yardımcı olur, böylece bunu yapmak zorunda değilsiniz. Bu öneriler, kiracınızın güvenli ve iyi durumda olmasına yardımcı olurken, Microsoft Entra Id'de kullanılabilen özelliklerin değerini en üst düzeye çıkarmanıza da yardımcı olur. Uygulama ekosisteminizi iyi durumda tutmak için uygulama özelliklerine veya uygulama yapılandırmasına yönelik tüm etkin Microsoft Entra önerilerini düzenli aralıklarla gözden geçirin.