Ş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 VerirTipik Connector'lar
Businessİş verisine erişebilirOffice 365, SharePoint, Exchange, Teams, Dynamics 365, OneDrive for Business
Non-BusinessSadece kişisel/sosyalTwitter, Facebook, kişisel Gmail, kişisel OneDrive (Outlook.com), Bing
BlockedTamamen yasakDropbox, 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 MaddePower Platform RiskiDLP Çözümü
Madde 9 (Yurtdışı aktarım)Twitter, Slack, US-only SaaS connector'larBunları "Blocked" grubuna at
Madde 12 (Veri güvenliği)Hassas veri (TC Kimlik, finansal) sosyal medya'ya akarTwitter/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ı eksikDataverse retention policy + DLP audit
Madde 16 (Veri envanteri)"Citizen developer" yazdığı flow envantere girmiyorCenter 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:

  1. DLP politikasını önce küçük bir Sandbox ortamına uygula, etkilenen flow sayısını ölç
  2. Power Platform admin merkezinden "DLP impact" raporunu çıkar — hangi flow/app etkilenecek
  3. İlgili "citizen developer"lara haber ver — 30 gün düzeltme süresi
  4. Sonra production'a uygula
  5. 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:

GrupConnectorAçıklama
BusinessOffice 365 OutlookKurumsal mail
SharePointKurumsal dosya/liste
OneDrive for BusinessKurumsal kişisel storage
Microsoft TeamsKurumsal sohbet
Exchange OnlineMail mailbox erişim
Dynamics 365 Sales/CRMMüşteri verisi
DataversePower Apps backend DB
Excel Online (Business)Excel dosyası okuma/yazma
Approvalsİş akışı onay
Logik Apps + Azure servislerYetkili Azure subscriptionlar
SAP / Oracle ERP (custom)Kurumsal ERP entegrasyonu
Non-Business (default)BingArama (yurtdışı veri ama düşük risk)
HTTP (generic)Açık API çağrıları
RSSHaber feed
Weather (generic)Hava durumu
Custom HTTP APIBelirli kurumsal olmayan API'ler
Yeni eklenen connector'larDefault Non-Business — review gerekir
BlockedTwitterSosyal medya, yurtdışı
FacebookSosyal medya, yurtdışı
InstagramSosyal medya, yurtdışı
PinterestSosyal medya, yurtdışı
DiscordYurtdışı, kişisel chat
TelegramRusya server'ları, KVKK risk
DropboxYurtdışı kişisel storage
BoxYurtdışı 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:

  1. Pazarlama için ayrı ortam yarat: "Marketing-Sandbox"
  2. Bu ortam için ayrı DLP politikası: Twitter Business grupta
  3. Genel tenant DLP'sinde Marketing-Sandbox hariç tut
  4. 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