Uygulama gizli dizilerini koruma önerileri

Bu Power Platform iyi Mimarlı Güvenlik denetim listesi önerisi için geçerlidir:

SE:07 Uygulama sırlarını depolamalarını ve erişimlerini kısıtlayarak ve manipülasyonlarını kısıtlayarak ve bu eylemleri denetleyerek korumak. Acil durumlar için dönmeleri doğaçlama yapabilen güvenilir ve düzenli bir dönme işlemi gerçekleştirin.

Bu kılavuzda, iş yüklerindeki hassas bilgileri güvenli hale getirme önerileri açıklanmaktadır. Sırlar için uygun yönetim, uygulamanızın, iş yükünüzün ve ilişkili verilerinizin güvenliğini ve bütünlüğünü korumak için çok önemlidir. Sırların uygun olmayan şekilde ele alınması veri ihlaline, servis kesintisine, yasal ihlallere ve diğer sorunlara yol açabilir.

API anahtarları, Açık Yetkilendirme (OAuth) belirteçleri ve Secure Shell (SSH) anahtarları gibi kimlik bilgileri gizli dizilerdir. Uyumluluk gereksinimleri, genellikle gizli sayılmayan yapılandırma ayarlarının uygulama sırları olarak ele alınmasına neden olabilir.

Tanımlar

Terim Açıklama
Sertifikalar Şifreleme veya şifre çözme için ortak tuşları tutan dijital dosyalar.
Kimlik bilgileri Bir iletişim kanalında yayımcının veya tüketicinin kimliğini doğrulamak için kullanılan bilgiler.
Kimlik bilgisi tarama Gizli dizi içermediğinden emin olmak için kaynak kodu doğrulama işlemi.
Şifreleme Verilerin okunamaz hale getirildiği ve gizli bir kodla kilitlendiği işlem.
Tuş Şifrelenmiş verileri kilitlemek veya kilidini açmak için kullanılan gizli bir kod.
En az ayrıcalık erişimi Bir iş işlevini tamamlamak için bir izin kümesini en aza indirmeyi amaçlayan Sıfır Güven ilkesi.
Yönetilen kimlik Kaynaklara atanan ve Azure tarafından yönetilen bir kimlik.
Güvenli Olmayan Sızan bilgi ise iş yükünün güvenlik duruşu üzerinde taslağını sökmez.
Rotasyon Riske atılırlarsa yalnızca sınırlı bir süre için kullanılabilmeleri için sırları düzenli olarak güncelleştirme işlemi.
Gizli dizi Sistemin, iş yükü bileşenleri arasındaki iletişimi sağlayan gizli bir bileşeni. Sızan sırlar bir ihlale neden olabilir.
X.509 Ortak tuş sertifikalarının biçimini tanımlayan bir standart.

Önemli

Gizli dizi olmayan şeyleri gizli dizi olarak ele almayın. Gizli diziler, güvenilmeyenler için gereksiz olan ve fazladan maliyetlere neden olabilecek operasyonel ayar gerektirir.

Uygulama için gereksinim duyan API'lerin URL'leri gibi sır olmayan uygulama ayarları, uygulama kodundan veya uygulama sırlarından ayrı tutulmalıdır. Uygulama yapılandırmasını depolamak için, özel bağlayıcı veya ortam değişkenleri kullanmayı düşünün. Başka bir seçenek ise uygulama yapılandırmasıyla ilgili meta verileri depolamak için bir Dataverse tablosu kullanmaktır. Ancak, yapılandırma verilerini geliştirmeden sınamaya veya üretime aktarma gibi bu verileri yeni bir ortama doldurmanın bir yolunu bulmanız gerekir. Bunu gerçekleştirmek için Veri akışları kullanabilirsiniz.

Temel tasarım stratejileri

Sırlar depolamadan ve yönetmeden önce aşağıdaki ilgi alanlarını göz önünde bulundurun:

  • Oluşturulan sırlar katı erişim kontrolleri ile güvenli depoda tutulmalıdır.
  • Gizli dönme proaktif bir operasyonken, iptal devre dışıdır.
  • Yalnızca güvenilen kimliklerin sırlara erişimi olmalıdır.
  • Sırlara erişimi denetlemek ve doğrulamak için bir denetim izlemesi tutmalısınız.

Kimlik çalınmasını önlemeye, geri bildirimleri önlemeye ve bilgilere gereksiz maruz kalmaları en aza indirmeye yardımcı olmak için bu noktaların etrafına bir strateji oluşturun.

Gizli yönetim için güvenli uygulamalar

Anahtarların üç farklı rolü olmasını öneririz: kullanıcı, yönetici ve denetçi. Rol ayrımı, yalnızca güvenilen kimliklerin uygun izin düzeyine sahip sırlara erişiminin sağlanmasına yardımcı olur. Geliştiriciler, yöneticiler ve diğer ilgili personelleri gizli yönetim ve güvenlik en iyi uygulamalarının önemi konusunda eğitin.

Önceden paylaşımı olan tuşlar

Her bir tüketici için farklı anahtarlar oluşturarak erişimi denetleyebilirsiniz. Örneğin, uygulama veya akış gibi bir istemci, önceden paylaşımı yapılan bir anahtar kullanarak üçüncü taraf API'siyle iletişim kurar. Başka bir müşterinin aynı API'ye erişmesi gerekiyorsa başka bir anahtar kullanmalıdır. İki tüketici aynı erişim desenlerine veya rollerine sahip olsa bile anahtarları paylaşmayın. Tüketici kapsamları zaman içinde değişebilir ve bir anahtar paylaşıldıktan sonra izinleri bağımsız olarak güncelleştiremez veya kullanım modellerini ayıramazsınız. Farklı erişim, iptali de kolaylaştırır. Bir tüketici anahtarının anahtarı riske atıldığında, diğer tüketicileri etkilemeden bu anahtarın iptali veya döndürmesi daha kolay olur.

Bu kılavuz farklı ortamlar için geçerlidir. Aynı anahtar hem ön üretim hem de üretim ortamlarında kullanılmamalıdır. Önceden paylaşımı yapılan anahtarları oluşturmak sizin sorumluluğunızdaysa, birden çok istemciyi desteklemek için birden çok anahtar oluşturduğunuzdan emin olun.

Daha fazla bilgi için Tanılama ve erişim yönetimi için öneriler bölümüne bakın.

Gizli dizi depolama

Gizli dizileri sağlamlaştırılmış bir ortamda depolamak, bekleyen ve aktarım sırasında şifrelemek ve gizli dizilere erişimi ve gizli dizilerde yapılan değişiklikleri denetlemek için Azure Key Vault gibi bir gizli dizi yönetim sistemi kullanın. Uygulama sırlar depolamanız gerekiyorsa, kolay dönme için kaynak kodun dışında tutun.

Özel bir gizli yönetim sistemi, uygulama gizli dizilerine erişimi depolamayı, dağıtmayı ve denetlemeyi kolaylaştırır. Gizli mağazalara yalnızca yetkili kimliklerin ve servislerin erişimi olmalıdır. Sisteme erişim izinlerle sınırlanabilir. İzinleri atarken her zaman en az ayrıcalık yaklaşımını uygulayın.

Ayrıca gizli düzeydeki erişimi de denetlemeniz gerekir. Her gizli yalnızca tek bir kaynak kapsamına erişimi olmalıdır. Yalıtım sınırları oluşturarak, bir bileşenin yalnızca gereksinim duyduğu sırları kullanabilmesini sağlar. Müstakil bir bileşen riske atılmışsa, diğer sırlar ve potansiyel olarak tüm iş yükünün denetimi sağleyemez. Sırlar ayrıştırmalarının bir yolu birden çok anahtar kasası kullanmaktır. Ek anahtar kasası oluşturmak için ek ücret yoktur.

Gizli erişim için denetim ve izleme gerçekleştirme. Kimlerin sırlara erişip, yetkisiz veya şüpheli etkinlikleri ne zaman tanımlaydığınızda oturum açın. Güvenlik perspektifinden günlüğe kaydetme hakkında bilgi için İzleme ve tehdit algılaması önerilerine bakın.

Gizli dizi dönme

Gizli dizi hijyeni sağlayan bir sürece sahip olmak. Gizli bir ilişkinin uzun ömürlü olması, bu sırrın yönetimine etki eder. Saldırı vektörlerini azaltmak için, sırlar kullanım dışı olmalı ve mümkün olduğunca yeni sırlar ile değiştirilmelidir.

Erişim belirteçlerini, yaşam sürelerini göz önünde bulundurarak dikkatli bir şekilde kullanın OAuth . Pozlama penceresinin daha kısa bir süreye ayarlanması gerekip gerekmediğini düşünün. Yenileme belirteçleri uygulamaya sınırlı maruz kalınarak güvenli bir şekilde depolanmalıdır. Yenilenen sertifikalar yeni bir anahtar da kullanmalıdır. Yenileme belirteçleri hakkında daha fazla bilgi için bkz: Secure OAuth 2.0 On-Behalf-Of yenileme belirteçleri.

Sırlar, kullanım sürelerinin sonuna ulaştıktan sonra, iş yükü tarafından artık kullanılmaz veya üzerinde anlaşma sağlandıktan sonra değiştirir. Buna karşılık, acil bir durum değilse, etkin sırları emekli etmeyin. Erişim günlüklerini görüntüleyerek gizli bir kaydın durumunu belirleyebilirsiniz. Gizli döndürme işlemleri iş yükünün güvenilirliğini veya performansını etkilememelidir. Sorunsuz dönme için sırlar, tüketiciler ve erişim yöntemlerinde fazlalık oluşturan stratejiler kullanın.

Sırlar kullanmak için güvenli uygulamalar

Gizli bir jeneratör veya işleç olarak, sırları güvenli bir şekilde dağıtabilirsiniz. Pek çok kuruluş, hem kuruluş içinde hem de dışarıdan iş ortaklarının sırlarını güvenli bir şekilde paylaşmak için araçları kullanır. Bir aracın yokluğunda, kimlik bilgilerini yetkili alıcılara düzgün şekilde teslim etme işlemine sahip olun. Olağanüstü durum kurtarma planlarınız, gizli kurtarma yordamlarını içermelidir. Anahtarın riske atıldığı veya sızdığı ve isteğe bağlı olarak yeniden üretilmesi gereken durumlar için bir süreç geçirebilirsiniz. Gizli dizileri kullanırken güvenlik için aşağıdaki en iyi uygulamaları göz önünde bulundurun:

Sert kodlamayı önleme

Bulut akışları ve tuval uygulamaları, yapılandırma dosyaları ve derleme-dağıtım işlem hatları gibi kod yapıtlarında gizli dizileri statik metin olarak sabit kodlamayın. Bu yüksek riskli uygulama, tüm sırlar okuma erişimine sahip herkese açık olduğundan kodu savunmasız hale getirir.

Uygulama kodunuzda kullanıma sunulan gizli dizileri düzenli aralıklarla algılayan araçları kullanın ve yapıtlar oluşturun. Kaynak kodu dağıtmadan önce kimlik bilgilerini taramak için dağıtım ardışık düzenlerinizin bir parçası olarak bu araçları ekleyebilirsiniz. Hiçbir sırlar olmadan kaydedilmemesini sağlamak için uygulama günlüklerini düzenli aralıklarla gözden geçirin ve sanitize edin. Ayrıca eş incelemeleri ile de saptamayı pekiştirebilirsiniz.

Not

Tarama araçları bir sırrı keşfettiyse, bu gizlinin riske atılmış olduğu düşünülmelidir. İptal edilmeli.

Gizli dönmeye yanıt ver

İş yükü sahibi olarak, kullanıcıların yeni sırları en az düzeyde kesintiye uğraması için gizli döndürme planını ve ilkelerini anlamanız gerekir. Sırrın döndürüldüğünüzde eski sırrın geçerli olmadığı bir pencere olabilir ama yeni sır henüz yerleştirilmemiştir. Bu pencere sırasında, iş yükünün ulaşmaya çalıştığı bileşen istekleri onaylamaz. Yeniden deneme mantığını koda ekleyerek bu sorunları en aza görüntüleyebilir. Ayrıca, birbirinizi etkilemeden güvenli bir şekilde değiştirilebilen birden çok kimlik bilgiye sahip olmanıza olanak veren eşzamanlı erişim desenlerini de kullanabilirsiniz.

İşlemler takımıyla çalışın ve değişiklik yönetimi sürecinin parçası olun. Artık gerekli olmayan kimlik bilgilerini kullanan iş yükünün bir kısmının etkinliğini kaldırdığınızda, kimlik bilgisi sahiplerine bunu bildirin.

Gizli alma ve yapılandırmayı otomatik dağıtım ardışık düzeninizle tümleştirin. Gizli alma, dağıtım sırasında sırlar otomatik olarak alınmasını sağlar. Ayrıca, çalışma zamanında uygulama koduna veya yapılandırmasına sırlar eklemek için gizli ekleme desenleri de kullanabilirsiniz, bu da sırlar günlüklere veya sürüm denetimine yanlışlıkla maruz kalmalarını önler.

Power Platform kolaylaştırma

Aşağıdaki bölümlerde bir uygulama gizi dizilerini yönetmek için kullanabileceğiniz Power Platform özelliklerini ve yeteneklerini açıklanmaktadır.

Azure Key Vault gizli dizilerini kullanma

Ortam değişkenleri, Azure Key Vault'ta depolanan gizli dizilere başvurmaya izin verir. Ardından bu gizli diziler, Power Automate akışları ve özel bağlayıcılar içerisinde kullanılabilir hale gelir. Bu gizli diziler diğer özelleştirmelerde veya genel olarak API aracılığıyla kullanılamaz.

Gerçek gizli diziler Azure Key Vault'ta depolanır ve ortam değişkeni yalnızca anahtar kasasının gizli konumuna başvurur. Azure Key Vault gizli dizileri ortam değişkenleriyle kullanıldığında Power Platform'un başvurmak istediğiniz belirli gizli dizileri okuyabilmesi için Azure Key Vault'u yapılandırmanız gerekir. Daha fazla bilgi için bkz Çözümlerde ortam değişkenleri kullanma ve Çözüm özel bağlayıcılarında ortam değişkenleri kullanma.

Çözüm Denetleyicisini kullanın

Çözüm denetleyicisi özelliğini kullanarak, bir zengin statik çözümleme denetim çözümlerinizi en iyi yöntem kuralları kümesiyle gerçekleştirebilir ve hızlı bir şekilde bu soruna neden olan desenleri belirlemek. Denetim tamamlandıktan sonra tanımlanan sorunları listeler ayrıntılı bir rapor, bileşenleri ve etkilenen kod ve her bir sorunun nasıl giderileceğini açıklayan belgelere bağlantılar görüntülenir. Güvenlik kategorisinin kullanılabilir çözüm denetleyicisi kurallarını inceleyin. Daha fazla bilgi için bkz Çözümlerinizi doğrulamak için çözüm denetleyicisini kullanma.

CyberArk eylemleri kullanma

CyberArk, insan ve makine kimliklerinin uçtan uca güvenliğini sağlayan bir kimlik güvenlik platformu sunar. Power Automate masaüstü akışları, CyberArk'tan kimlik bilgilerini almanıza olanak sağlar. Daha fazla bilgi için bkz. CyberArk eylemleri.

Güvenlik denetim listesi

Eksiksiz bir öneri kümesine bakın.