Şirketinizdeki bir kullanıcı Power Apps ile basit bir form yaptı. Form SharePoint listesine yazıyor — orada müşteri TC Kimlik No, telefon, adres var. Aynı form sonuç verisini Twitter'a tweet'liyor (örnek olarak). KVKK Madde 9 (yurtdışı aktarım) + Madde 12 (veri güvenliği) ihlali oluştu — kullanıcı bunu bilmiyor, IT bunu bilmiyor, hatta hesabınız bunu yıllarca yapıyor olabilir. Bu yazıda Power Platform DLP'nin neden kritik olduğunu, connector classification mantığını ve KVKK uyumlu yapılandırma adımlarını ele alıyoruz.
Power Platform Nedir, Niye Risk?
Microsoft Power Platform, "low-code/no-code" araçlar ailesidir:
- Power Apps — kullanıcının kendi mobil/web uygulamasını yapması
- Power Automate — otomatik iş akışları (Excel'i SharePoint'e yaz, mail gelince Teams'te bildir vb.)
- Power BI — veri görselleştirme
- Power Pages — düşük kodlu web siteleri
- Power Virtual Agents (Copilot Studio) — chatbot
Power Platform'un dehası ve riski aynı yerde: 1.000+ connector. Office 365, SharePoint, Exchange, Teams gibi Microsoft ürünleri yanı sıra Twitter, Dropbox, Salesforce, SAP, MailChimp, Slack, Trello, kişisel Gmail, kişisel OneDrive gibi 3rd-party ve consumer servislere bağlanabilir.
Risk: DLP olmadan, bir kullanıcı Power Apps + Power Automate ile şirket SharePoint'inden müşteri verilerini çekip kişisel Gmail'e veya Twitter'a iletebilir. KVKK Madde 12 (veri güvenliği) + Madde 9 (yurtdışı aktarım) ihlali. Yıllar boyunca tespit edilmeyebilir çünkü "flow" arka planda sessiz çalışır.
Power Platform DLP Nasıl Çalışır?
Power Platform DLP politikası, connector'ları üç gruba ayırır:
| Grup | İzin Verir | Tipik Connector'lar |
| Business | İş verisine erişebilir | Office 365, SharePoint, Exchange, Teams, Dynamics 365, OneDrive for Business |
| Non-Business | Sadece kişisel/sosyal | Twitter, Facebook, kişisel Gmail, kişisel OneDrive (Outlook.com), Bing |
| Blocked | Tamamen yasak | Dropbox, Telegram, Pinterest, kişisel Discord, hassas veri çıkışı için yüksek riskli connector'lar |
Anahtar kural: Aynı flow/uygulama içinde Business + Non-Business connector'lar KARIŞAMAZ. Yani SharePoint (Business) → Twitter (Non-Business) imkânsızdır. Blocked connector'lar hiç kullanılamaz.
KVKK + Power Platform — Spesifik Riskler
Türkiye'deki şirketler için kritik KVKK ilişkilendirmeleri:
| KVKK Madde | Power Platform Riski | DLP Çözümü |
| Madde 9 (Yurtdışı aktarım) | Twitter, Slack, US-only SaaS connector'lar | Bunları "Blocked" grubuna at |
| Madde 12 (Veri güvenliği) | Hassas veri (TC Kimlik, finansal) sosyal medya'ya akar | Twitter/Facebook Blocked + Microsoft Purview Sensitivity Labels entegrasyonu |
| Madde 5 (Hukuki sebep) | Açık rıza alınmamış müşteri verisi 3rd-party servislere | "Personal connectors" Non-Business + per-environment kontrol |
| Madde 7 (Saklama/imha) | Power Apps Dataverse veri silme politikası eksik | Dataverse retention policy + DLP audit |
| Madde 16 (Veri envanteri) | "Citizen developer" yazdığı flow envantere girmiyor | Center of Excellence (CoE) starter kit + DLP raporu |
Adım Adım Yapılandırma — PowerShell ile
Adım 1: Power Platform Admin Modülünü Kurun
Install-Module Microsoft.PowerApps.Administration.PowerShell -Scope CurrentUser -Force
Install-Module Microsoft.PowerApps.PowerShell -Scope CurrentUser -Force -AllowClobber
# Power Platform admin yetkili hesapla giriş
Add-PowerAppsAccount
Adım 2: Mevcut Ortamları Listele
# Tenant'taki tüm Power Platform ortamları
Get-AdminPowerAppEnvironment | Select DisplayName, EnvironmentName, EnvironmentType, Location
# Tipik çıktı:
# DisplayName EnvironmentType Location
# ----------- --------------- --------
# Default Default westeurope
# Production-EU Production westeurope
# Production-TR Production turkeycentral
# Development Sandbox westeurope
# Test Sandbox westeurope
Adım 3: Mevcut DLP Politikalarını Kontrol Et
Get-DlpPolicy | Select PolicyName, DisplayName, EnvironmentType, CreatedTime
# Boş ise — DLP politikası yok, hemen yapılandırın
Adım 4: KVKK Uyumlu DLP Politikası Oluştur
# Tüm ortamları kapsayan DLP politikası
$dlp = New-DlpPolicy -DisplayName "TR-KVKK-Production-DLP" `
-EnvironmentType "AllEnvironments" `
-DefaultGroup "NonBusiness"
Write-Host "DLP Policy oluşturuldu: $($dlp.PolicyName)" -ForegroundColor Green
# === Business connector'lar (iş verisi erişimi var) ===
$businessConnectors = @(
"shared_office365", # Outlook
"shared_sharepointonline", # SharePoint
"shared_onedriveforbusiness", # OneDrive for Business
"shared_microsoftteams", # Teams
"shared_excelonlinebusiness", # Excel Online
"shared_planner", # Planner
"shared_office365users", # Office 365 Users (profil bilgisi)
"shared_office365groups", # Office 365 Groups
"shared_powerbi", # Power BI
"shared_commondataserviceforapps", # Dataverse
"shared_approvals" # Approvals
)
foreach ($c in $businessConnectors) {
Add-CustomConnectorToPolicy -PolicyName $dlp.PolicyName `
-ConnectorId $c -GroupName "Business" `
-ConnectorType "Microsoft" -ErrorAction SilentlyContinue
Write-Host " ✓ Business: $c" -ForegroundColor Green
}
# === Blocked connector'lar (KVKK Madde 9 + 12 koruması) ===
$blockedConnectors = @(
"shared_twitter", # Twitter — yurtdışı, sosyal
"shared_facebook", # Facebook — yurtdışı, sosyal
"shared_dropbox", # Dropbox — yurtdışı storage
"shared_telegram", # Telegram — Rusya server'ları
"shared_pinterest", # Pinterest — yurtdışı
"shared_discord", # Discord — yurtdışı
"shared_box", # Box — yurtdışı storage
"shared_googledrive", # Kişisel Google Drive
"shared_googlegmail", # Kişisel Gmail
"shared_outlookcom", # Kişisel Outlook.com (Hotmail)
"shared_smtp" # Generic SMTP — kontrolsüz mail gönderim
)
foreach ($c in $blockedConnectors) {
Add-CustomConnectorToPolicy -PolicyName $dlp.PolicyName `
-ConnectorId $c -GroupName "Blocked" `
-ConnectorType "Microsoft" -ErrorAction SilentlyContinue
Write-Host " ✗ Blocked: $c" -ForegroundColor Red
}
# Geriye kalan tüm connector'lar default "NonBusiness"
Write-Host "✓ DLP politikası tamamlandı." -ForegroundColor Green
Write-Host " Business: $($businessConnectors.Count) connector" -ForegroundColor Cyan
Write-Host " Blocked: $($blockedConnectors.Count) connector" -ForegroundColor Cyan
Write-Host " Diğer: NonBusiness (default)" -ForegroundColor Yellow
Adım 5: Doğrulama
# Politika detayları
Get-DlpPolicy -PolicyName $dlp.PolicyName |
Select DisplayName, EnvironmentType, DefaultConnectorsClassification
# Connector grupları + sayıları
Get-DlpPolicy -PolicyName $dlp.PolicyName |
Select -ExpandProperty ConnectorGroups |
ForEach-Object {
Write-Host " $($_.classification): $($_.connectors.Count) connector"
}
Mevcut Power Apps / Flow'lar Etkilenir Mi?
Evet — DLP politikası geriye dönük uygulanır. Önceden yazılmış flow/uygulamalar:
- Tek-grup connector: Sadece Business veya sadece Non-Business kullanıyorsa sorun yok, çalışmaya devam eder
- Karışık (Business + Non-Business): "Suspended" olur, kullanıcı veya admin manuel düzeltmeli
- Blocked connector kullanıyor: Hata verir, çalışmaz
Önerilen geçiş süreci:
- DLP politikasını önce küçük bir Sandbox ortamına uygula, etkilenen flow sayısını ölç
- Power Platform admin merkezinden "DLP impact" raporunu çıkar — hangi flow/app etkilenecek
- İlgili "citizen developer"lara haber ver — 30 gün düzeltme süresi
- Sonra production'a uygula
- Aylık DLP audit + yeni connector incelemesi
Center of Excellence (CoE) Starter Kit — KVKK Audit İçin
Microsoft'un ücretsiz Power Platform Center of Excellence Starter Kit tüm flow/app envanterini çıkarır + admin dashboard sunar:
- CoE Starter Kit kurulum (ücretsiz, GitHub'dan)
- Tüm tenant'taki Power Apps / Flow / Pages envanteri
- Hangi connector'lar kullanılıyor — DLP risk analizi
- Inactive maker'lar (eski çalışanların yarattığı flow'lar)
- Audit log + KVKK denetim raporlaması
Connector Sınıflandırma — Detaylı Tablo
Tipik bir Türk şirketi için connector sınıflandırma örneği:
| Grup | Connector | Açıklama |
| Business | Office 365 Outlook | Kurumsal mail |
| SharePoint | Kurumsal dosya/liste |
| OneDrive for Business | Kurumsal kişisel storage |
| Microsoft Teams | Kurumsal sohbet |
| Exchange Online | Mail mailbox erişim |
| Dynamics 365 Sales/CRM | Müşteri verisi |
| Dataverse | Power Apps backend DB |
| Excel Online (Business) | Excel dosyası okuma/yazma |
| Approvals | İş akışı onay |
| Logik Apps + Azure servisler | Yetkili Azure subscriptionlar |
| SAP / Oracle ERP (custom) | Kurumsal ERP entegrasyonu |
| Non-Business (default) | Bing | Arama (yurtdışı veri ama düşük risk) |
| HTTP (generic) | Açık API çağrıları |
| RSS | Haber feed |
| Weather (generic) | Hava durumu |
| Custom HTTP API | Belirli kurumsal olmayan API'ler |
| Yeni eklenen connector'lar | Default Non-Business — review gerekir |
| Blocked | Twitter | Sosyal medya, yurtdışı |
| Facebook | Sosyal medya, yurtdışı |
| Instagram | Sosyal medya, yurtdışı |
| Pinterest | Sosyal medya, yurtdışı |
| Discord | Yurtdışı, kişisel chat |
| Telegram | Rusya server'ları, KVKK risk |
| Dropbox | Yurtdışı kişisel storage |
| Box | Yurtdışı kişisel storage |
| Google Drive (kişisel) | Yurtdışı, kişisel |
| Gmail (kişisel Google) | Yurtdışı, kişisel |
| Outlook.com (Hotmail) | Kişisel Microsoft |
İstisna Yönetimi — Belirli Connector İhtiyacı Varsa
Pazarlama departmanının Twitter API'sine ihtiyacı olabilir (kurumsal Twitter hesabı kontrol için). Tüm tenant'a Twitter'ı blocklamak yerine environment-spesifik DLP politikası kurun:
- Pazarlama için ayrı ortam yarat: "Marketing-Sandbox"
- Bu ortam için ayrı DLP politikası: Twitter Business grupta
- Genel tenant DLP'sinde Marketing-Sandbox hariç tut
- Bu ortama erişim sınırlı (sadece pazarlama personeli)
# Pazarlama için özel DLP
$marketingEnv = Get-AdminPowerAppEnvironment | Where-Object DisplayName -eq "Marketing-Sandbox"
$mDlp = New-DlpPolicy -DisplayName "Marketing-Twitter-Allowed" `
-EnvironmentType "OnlyEnvironments" `
-Environments @($marketingEnv.EnvironmentName) `
-DefaultGroup "NonBusiness"
Add-CustomConnectorToPolicy -PolicyName $mDlp.PolicyName `
-ConnectorId "shared_twitter" -GroupName "Business" -ConnectorType "Microsoft"
# Genel DLP'den Marketing-Sandbox'ı hariç tut
Set-DlpPolicy -PolicyName "TR-KVKK-Production-DLP" `
-EnvironmentType "ExceptEnvironments" `
-Environments @($marketingEnv.EnvironmentName)
Sıradaki Adım: PowerShell Üreticisi ile DLP Wizard
PowerShell Komut Üretici — Power Platform DLP Template
PowerShell üreticimizdeki "Power Platform DLP" senaryosu ile environment scope (all/only/except) + default group + Business/Blocked connector listeleri ile politika kodu üretin. Tek tıkla kopyalanabilir.
PowerShell Üretici Aracını Aç →
Microsoft Yetkili Çözüm Ortağı (CSP) olarak Power Platform CoE Starter Kit kurulumu + DLP politikası tasarımı + Marketing/Sales/HR ayrı environment yapılandırması hizmetlerini sunuyoruz. WhatsApp 0216 344 15 59.
Sıkça Sorulan Sorular
Power Platform DLP nedir, neden önemli?
Power Apps / Power Automate kullanıcıları, 1000+ connector ile şirket verisini dış servislere (Twitter, Dropbox, kişisel Gmail) bağlayabilir. Power Platform DLP politikası, connector'ları Business / Non-Business / Blocked olarak sınıflandırır ve aynı flow/uygulama içinde kategori karışımını engeller — örn: SharePoint (Business) verisini Twitter'a (Non-Business) gönderemezsiniz. KVKK Madde 12 + 9 (yurtdışı aktarım) uyumu için kritik.
DLP politikasını uygulayınca mevcut flow/app'lar bozulur mu?
Karışık connector kullanan flow/app'lar "Suspended" olur — çalışmaz. Tek grup veya Blocked olmayan kullananlar etkilenmez. Önerilen geçiş: önce Sandbox ortamına uygula, "DLP impact" raporu ile etkilenen flow sayısını ölç, citizen developer'lara 30 gün düzeltme süresi tanı, sonra production'a uygula.
Kullanıcı DLP'yi atlatabilir mi?
Hayır, DLP tenant-wide enforcement yapar — Power Platform admin haricinde kimse atlatamaz. Ancak "Custom connector" yapan kullanıcılar (gelişmiş senaryo) bilmediği bir API'ye bağlanabilir. Bunu önlemek için: (1) Custom connector approval süreci, (2) "Maker" rolünü kısıtlı kullanıcılara ver, (3) CoE Starter Kit ile envanter izle.
Hangi environment'ları kapsamalı?
Best practice: tüm production environment'ları kapsayan blanket DLP + sandbox/dev için daha esnek ayrı politika. Default Environment'ı kesinlikle kapsa — burada herkesin yetki var, en yüksek risk. Pazarlama gibi belirli ihtiyaçları olan departmanlar için ayrı environment + DLP istisnası.
Power Platform DLP ile Microsoft Purview DLP farkı nedir?
Power Platform DLP = connector seviyesi (hangi servise bağlanabilirsin). Microsoft Purview DLP = veri seviyesi (TC Kimlik, IBAN gibi hassas verileri tespit + engelle). İkisi tamamlayıcıdır, ayrı satın alınır. Power Platform DLP M365 lisansından bağımsız — Power Apps Per User (Premium $20) veya M365 + Power Apps for M365 dahil. Purview DLP M365 BP / E3+ ile gelir.
Yeni eklenen Microsoft connector'ları ne olur?
Default group ne ise (NonBusiness önerimiz) yeni connector orada başlar. Her ay yeni connector listesini gözden geçirip uygun gruba taşıyın. Microsoft her ay 5-10 yeni connector ekler — özellikle Microsoft Copilot ile gelen AI connector'larını dikkatle değerlendirin.
CoE Starter Kit nedir?
Microsoft'un ücretsiz Center of Excellence (CoE) Starter Kit'i, Power Platform yönetimini kolaylaştıran açık kaynak çözüm. Tüm tenant'taki flow/app envanteri, connector kullanım analizi, inactive maker tespiti, DLP impact raporu, kullanıcı eğitim portalı içerir. GitHub'dan ücretsiz indirebilirsiniz.
Kaynaklar