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.
Power Apps ile SQL Server'a bağlanmanın ve kimlik doğrulaması yapmanın farklı yolları vardır. Bu makalede, uygulamanızın gereksinimleriyle eşleşen bir güvenlik yaklaşımıyla SQL Server'a nasıl bağlanılacağı konusunda bir seçim yapma konusunda yardımcı olabilecek kavramlar özetlenmiştir.
Önemli
Güvenli örtük bağlantılar özelliği Ocak 2024'te yayımlandı. Microsoft, güvenli örtük bağlantılara dönüştürmek ve son kullanıcılarla paylaşılan bağlantıları iptal etmek için şu anda örtük bağlantılar kullanan tüm uygulamaları kesinlikle teşvik eder.
Açık, örtük ve güvenli örtük bağlantılar arasındaki fark
SQL Server'a bağlanan Power Apps kullanarak bir uygulama oluşturduğunuzda SQL Server bağlantısı oluşturulur. Bu tür uygulamalar yayımlandığında ve başkalarıyla paylaşıldığında, hem uygulama hem de bağlantı bu kullanıcılara dağıtılır. Başka bir deyişle, uygulama ve bağlantı— her ikisi de uygulamaların paylaşılmış olduğu kullanıcılar tarafından görülebilir.
Bu tür bağlantılar için kullanılan kimlik doğrulama yöntemi açık veya örtük olabilir. Ayrıca bu tür bir bağlantının açıkça veya örtük olarak paylaşıldığından da söz edebiliriz.
- Açıkça paylaşılan bir bağlantı, uygulamanın son kullanıcısının kendi açık kimlik bilgileriyle SQL Server'da kimlik doğrulaması yapması gerektiği anlamına gelir. Bu kimlik doğrulaması genellikle Microsoft Entra veya Windows kimlik doğrulaması el sıkışmasının bir parçası olarak arka planda gerçekleşir. Kullanıcı kimlik doğrulamasının ne zaman gerçekleştiğini bile fark etmez.
- Örtük olarak paylaşılan bağlantı, kullanıcının uygulamayı oluştururken uygulama oluşturucusunun veri kaynağına bağlanmak ve kimlik doğrulaması yapmak için kullandığı hesabın kimlik bilgilerini örtük olarak kullandığı anlamına gelir. Son kullanıcının kimlik bilgileri kimlik doğrulaması için kullanılmaz . Son kullanıcı uygulamayı her çalıştırdığında, yazarın uygulamayı oluşturduğu kimlik bilgilerini kullanıyor.
- Güvenli, örtük olarak paylaşılan bağlantı, uygulamanın son kullanıcısının uygulamayı oluştururken uygulama oluşturucusunun veri kaynağına bağlanmak ve kimlik doğrulaması yapmak için kullandığı hesabın kimlik bilgilerini örtük olarak kullandığı bir senaryoyu ifade eder. Bu, son kullanıcının kimlik bilgilerinin kimlik doğrulaması için kullanılmadığı anlamına gelir. Bunun yerine, kullanıcı uygulamayı çalıştırdığında, uygulamanın yazarının oluşturduğu kimlik bilgilerini kullanıyor olur. Son kullanıcıya bağlantı için doğrudan erişim sağlanmadığını ve uygulamanın yalnızca sınırlı bir eylem ve tablo kümesine erişime izin verdiğine dikkat etmek önemlidir.
Aşağıdaki dört bağlantı kimlik doğrulama türü Power Apps için SQL Server ile kullanılabilir:
| Kimlik Doğrulaması Türü | Power Apps bağlantı yöntemi |
|---|---|
| Microsoft Entra Tümleşik | Açık |
| SQL Server Kimlik Doğrulaması | Örtük / Güvenli Örtük |
| Windows Kimlik Doğrulaması | Örtük / Güvenli Örtük |
| Windows Kimlik Doğrulaması (paylaşılmayan) | Açık |
Örtük bağlantı paylaşımı riskleri
Tüm yeni uygulamalar otomatik olarak yeni güvenli örtük bağlantıları kullanır. Ancak, eski 'örtük bağlantıları' kullanan uygulamalarda hem uygulama hem de bağlantıları son kullanıcılara dağıtılır, bu da son kullanıcıların bu bağlantıları temel alan yeni uygulamalar yazabileceği anlamına gelir.
Yazar güvenli örtük bağlantılar kullandığında, hiçbir bağlantı paylaşılmaz ve bağlantı nesnesini hiçbir son kullanıcı almaz. Bu, son kullanıcı yazarının yeni bir uygulama oluşturmak için bağlantıyı yeniden kullanacağı riskini ortadan kaldırır. Bunun yerine uygulama, uygulamanın farkında olan ve yalnızca bu uygulamayla iletişim kuran bir ara sunucu bağlantısıyla çalışır. Ara sunucu bağlantısı sınırlı eylemlere (oluşturma, okuma, güncelleştirme, silme) ve uygulama yayımlandığında tanımlanan belirli tablolara erişim sağlar. Bu nedenle, son kullanıcıya yalnızca yetkili eylemler ve erişim verilir.
Eski stil basit örtük bağlantı aslında bir bağlantı nesnesini son kullanıcıya dağıtır. Örneğin, kullanıcıların görmesini istemediğiniz verileri filtreleyen bir uygulama oluşturursanız. Ancak, filtrelenen veriler veritabanında bulunur. Ancak son kullanıcıların belirli verileri görmemesini sağlamak için yapılandırdığınız filtreye güveniyorsunuz.
Yine eski stildeki basit örtük bağlantılarla, uygulamayı dağıttıktan sonra, son kullanıcılar oluşturdukları yeni uygulamalarda uygulamanızla dağıtılan bağlantıyı kullanabilir. Yeni uygulamalarda, kullanıcılar uygulamanızda filtrelediğiniz verileri görebilir. Yeni güvenli örtük bağlantıların kullanılması önemlidir.
Önemli
Son kullanıcılara örtük olarak paylaşılan eski bir bağlantı dağıtıldıktan sonra, paylaştığınız uygulamaya yerleştirmiş olabileceğiniz kısıtlamalar (filtreler veya salt okunur erişim gibi) artık son kullanıcıların oluşturduğu yeni uygulamalar için geçerli değildir. Son kullanıcılar, kimlik doğrulamasının örtük olarak paylaşılan bağlantının bir parçası olarak izin verdiği haklara sahip olur. Bu nedenle, bir uygulamayı güvenli örtük bağlantıları kullanacak şekilde dönüştürdüğünüzde, uygulamanızla paylaştığınız bağlantıları da iptal etmeniz gerekir. Yöneticiler, COE araç seti ile örtük olarak paylaşılan bağlantılara sahip uygulamaların raporunu alabilir.
İstemci ve sunucu güvenliği
Güvenli olması için filtreleme veya diğer istemci tarafı işlemleri aracılığıyla verilerin güvenliğine güvenemezsiniz. Verilerin güvenli bir şekilde filtrelenmesi gereken uygulamalar, hem kullanıcı tanımlamanın hem de filtrelemenin sunucuda gerçekleştiğinden emin olmalıdır.
Kullanıcı kimliği ve güvenliği söz konusu olduğunda uygulamalarda tasarlanan filtrelere güvenmek yerine Microsoft Entra ID gibi hizmetleri kullanın. Bu yapılandırma, sunucu tarafı filtrelerin beklendiği gibi çalışmasını sağlar.
Aşağıdaki çizimlerde, uygulamalardaki güvenlik desenlerinin istemci tarafı ve sunucu tarafı güvenlik modelleri arasında nasıl farklılık gösterdiği açıklanır.
İstemci güvenlik uygulaması düzeninde,[1] kullanıcı yalnızca istemci tarafında uygulamada kimlik doğrulaması yapar. Ardından [2] uygulama hizmetin bilgilerini talep eder ve [3] hizmet bilgileri yalnızca veri isteğine göre döndürür.
Sunucu tarafı güvenlik düzeninde [1] kullanıcı önce hizmette kimlik doğrulaması yapar, böylece kullanıcı hizmet tarafından bilinir. Ardından[2] uygulamadan bir çağrı yapıldığında [3] hizmeti verileri uygun şekilde filtrelemek için geçerli kullanıcının bilinen kimliğini kullanır ve [4] verileri döndürür.
Yukarıda açıklanan örtük departman paylaşım senaryoları bu iki desenin birleşimidir. Kullanıcının Microsoft Entra kimlik bilgilerini kullanarak Power Apps hizmetinde oturum açması gerekir. Bu davranış, sunucu güvenlik uygulaması düzenidir. Kullanıcı, hizmette Microsoft Entra kimliği kullanılarak bilinir. Bu nedenle uygulama, Power Apps'in uygulamayı resmi olarak paylaştığı kullanıcı kümesiyle sınırlıdır.
Ancak SQL Server'a örtük paylaşılan bağlantı, istemci güvenlik uygulaması düzenidir. SQL Server yalnızca belirli bir kullanıcı adı ve parolanın kullanıldığını bilir. Örneğin tüm istemci tarafı filtrelemeleri, aynı kullanıcı adı ve parola kullanılarak yeni bir uygulamayla atlanabilir.
Sunucu tarafındaki verileri güvenli bir şekilde filtrelemek için SQL Server'da satır düzeyi güvenliği ve belirli nesnelere (sütunlar gibi) belirli kullanıcılara yönelik reddetme izinleri gibi yerleşik güvenlik özelliklerini kullanın. Bu yaklaşım, sunucudaki verileri filtrelemek için Microsoft Entra kullanıcı kimliğini kullanır.
Mevcut bazı kurumsal hizmetler, kullanıcı kimliğinin Microsoft Dataverse ile aynı şekilde bir iş veri katmanında yakalandığı bir yaklaşım kullanmıştı. Bu durumda, iş katmanı SQL Server'ın satır düzeyi güvenlik ve reddetme özelliklerini doğrudan kullanabilir veya kullanmayabilir. Etkinleştirilmezse, genellikle güvenliğin saklı yordamlar veya görünümler kullanılarak etkinleştirilmesi söz konusudur.
İş katmanı (sunucu tarafında), sql server sorumlusu olarak saklı yordamı çağırmak ve verileri filtrelemek için bilinen bir kullanıcı Microsoft Entra kimliği kullanır. Ancak Power Apps şu anda saklı yordamlara bağlanmamaktadır. İş katmanı, SQL Server sorumlusu olarak Microsoft Entra kimliğini kullanan bir görünümü de çağırabilir. Bu durumda Power Apps'i kullanarak görünümlere bağlanarak verilerin sunucu tarafında filtrelenmiş olmasını sağlayın. Yalnızca görünümleri kullanıcılara göstermenin güncelleştirmeler için Power Automate akışlarına ihtiyacı olabilir.