0Pricing
Azure Fundamentals · Ders

App Service Kimlik Doğrulama ve Ağ Oluşturma

Web uygulamanız için yerleşik kimlik doğrulama sağlayıcılarını (Entra ID, Google, GitHub) etkinleştirin ve VNet Integration ile erişim kısıtlamalarını kullanarak gelen trafiği sınırlandırın.

App Service Kimlik Doğrulama ve Ağ Oluşturma, CoddyKit'te ücretsiz bir Azure Fundamentals dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Azure Fundamentals öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Azure Fundamentals kursu toplamda 4 dersten oluşur.

App Service'te Yerleşik Kimlik Doğrulama

Azure App Service, uygulamanızda herhangi bir kod değişikliği yapmadan oturum açma akışlarını, belirteç doğrulamasını ve oturum yönetimini gerçekleştiren yerleşik bir kimlik doğrulama ve yetkilendirme modülü (bazen EasyAuth olarak adlandırılır) sağlar. Bu modülü doğrudan Azure portalında etkinleştirebilir ve birden çok kimlik sağlayıcısı arasından seçim yapabilirsiniz. OAuth akışlarını kendiniz uygulamadan bir API'ye veya dahili araca hızla kimlik doğrulama eklemek için idealdir.

Desteklenen Kimlik Sağlayıcıları

App Service kimlik doğrulaması, kullanıma hazır olarak çeşitli kimlik sağlayıcılarını destekler: Microsoft Entra ID (kurumsal/şirket oturum açma işlemleri için), Google, Facebook, Twitter/X, GitHub ve OpenID Connect uyumlu tüm sağlayıcılar. Bir istemci kimliği ve gizli anahtar almak için uygulamanızı seçtiğiniz sağlayıcıya kaydeder, ardından bunları App Service'te yapılandırırsınız. Birden çok sağlayıcı aynı anda etkinleştirilebilir; böylece kullanıcılar nasıl oturum açacaklarını seçebilir.

# Enable Microsoft Entra ID authentication via CLI
az webapp auth microsoft update \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --client-id '<Entra-App-Client-ID>' \
  --client-secret '<Client-Secret>' \
  --issuer 'https://sts.windows.net/<TenantId>/'

# Set action when unauthenticated (redirect or 401)
az webapp auth update \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --unauthenticated-client-action RedirectToLoginPage

Belirteç Deposu ve Kullanıcı İddialarına Erişme

Kimlik doğrulama etkinleştirildiğinde App Service, doğrulanmış belirteçleri belirteç deposunda (kullanıcı oturumu başına kalıcı bir depo) saklar. Uygulama kodunuz, EasyAuth modülünün eklediği özel HTTP istek üst bilgileri aracılığıyla kimliği doğrulanmış kullanıcının iddialarına erişebilir: X-MS-CLIENT-PRINCIPAL-NAME (e-posta/UPN), X-MS-CLIENT-PRINCIPAL-ID (nesne kimliği) ve ham erişim belirteci için X-MS-TOKEN-AAD-ACCESS-TOKEN.

// Node.js: read user identity from EasyAuth headers
app.get('/profile', (req, res) => {
  const userName = req.headers['x-ms-client-principal-name'];
  const userId = req.headers['x-ms-client-principal-id'];
  res.json({ name: userName, id: userId });
});

// Or decode the full claims JSON from the header
const principalHeader = req.headers['x-ms-client-principal'];
const claims = JSON.parse(Buffer.from(principalHeader, 'base64').toString());

Giden Trafik için VNet Tümleştirmesi

VNet Integration, bir App Service uygulamasının Azure Sanal Ağı içindeki kaynaklara (VM'ler, SQL veritabanları ve dahili API'ler gibi) bu kaynakları genel internete açmadan giden çağrılar yapmasını sağlar. Uygulama, VNet'in yetkilendirilmiş bir alt ağında sanal bir NIC alır ve VPN veya ExpressRoute aracılığıyla şirket içi kaynaklar dahil olmak üzere VNet'in erişebildiği tüm kaynaklara ulaşabilir. VNet Integration, Standard katmanı ve üzeri katmanlarda kullanılabilir.

# Enable VNet Integration
az webapp vnet-integration add \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --vnet MyVNet \
  --subnet AppServiceSubnet

# Route ALL traffic through the VNet (including internet)
az webapp config appsettings set \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --settings WEBSITE_VNET_ROUTE_ALL=1

Gelen Trafik için Özel Uç Noktalar

VNet Integration giden trafiği yönetirken bir özel uç nokta gelen trafiği yönetir; App Service'inize yalnızca VNet'inizin içinden özel bir IP adresi aracılığıyla erişilmesini sağlar. Özel uç nokta tek erişim yöntemi olduğunda azurewebsites.net için harici internet erişimi engellenir. Bu özellik, hiçbir zaman genel internete açılmaması gereken dahili API'ler ve yönetici portalları için kullanılır.

# Create a private endpoint for the web app
az network private-endpoint create \
  --name MyWebAppPE \
  --resource-group MyRG \
  --vnet-name MyVNet \
  --subnet PrivateEndpointSubnet \
  --private-connection-resource-id \
    '/subscriptions/.../providers/Microsoft.Web/sites/MyUniqueWebApp' \
  --group-id sites \
  --connection-name MyWebAppConnection

Erişim Kısıtlamaları

App Service'teki erişim kısıtlamaları, gelen trafik için bir IP izin veya ret listesi tanımlamanızı sağlar. Kurallar öncelik sırasına göre değerlendirilir (düşük sayı = yüksek öncelik). Erişimi belirli IP aralıklarıyla (örneğin ofisinizin VPN çıkış IP'si), Azure hizmet etiketleriyle (örneğin AzureLoadBalancer) veya belirli VNet alt ağlarıyla kısıtlayabilirsiniz. Hazırlama yuvanızı kilitlemek ve yalnızca ekibinizin IP aralığının bu yuvaya erişebilmesini sağlamak için erişim kısıtlamalarını kullanın.

# Allow only a specific IP range
az webapp config access-restriction add \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --priority 100 \
  --action Allow \
  --ip-address 203.0.113.0/24 \
  --rule-name 'OfficeRange'

# Allow Azure Front Door service tag
az webapp config access-restriction add \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --priority 200 \
  --action Allow \
  --service-tag AzureFrontDoor.Backend \
  --rule-name 'FrontDoor'

Hibrit Bağlantılar

Hybrid Connections (BizTalk'tan) App Service'in VNet Integration veya VPN ağ geçidi gerektirmeden şirket içi kaynaklara erişmesini sağlar. Şirket içinde yüklenen hafif bir geçiş aracısı Azure Service Bus'a giden bir bağlantı kurar; uygulamanız geçiş aracısı üzerinden bağlanır. Hybrid Connections TCP düzeyinde çalışır ve tüm bağlantı noktalarını destekler. Bu özellik, Azure'a taşınamayan eski şirket içi veritabanlarına veya API'lere bağlanmak için kullanışlıdır.

# Add a Hybrid Connection to reach on-prem SQL
az webapp hybrid-connection add \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --namespace myServiceBusNS \
  --hybrid-connection on-prem-sql-relay

# The Hybrid Connection Manager agent must be installed
# and configured on the on-premises server to complete the relay

App Service için Yönetilen Kimlik

App Service uygulamanıza bir yönetilen kimlik atayarak kimlik bilgilerini herhangi bir yerde depolamadan diğer Azure hizmetlerinde (Key Vault, Blob Storage, SQL Database) kimlik doğrulaması yapmasını sağlayın. Azure, kimliğin kimlik bilgilerini otomatik olarak yönetir. Uygulamanın yaşam döngüsüne bağlı bir sistem tarafından atanan kimlik veya birden çok uygulama arasında paylaşılan kullanıcı tarafından atanan kimlik kullanın. Hedef kaynaklarda kimliğe RBAC rolleri verin.

# Enable system-assigned managed identity
az webapp identity assign \
  --name MyUniqueWebApp \
  --resource-group MyRG

# Grant the identity access to Key Vault secrets
az keyvault set-policy \
  --name MyKeyVault \
  --object-id $(az webapp identity show \
      --name MyUniqueWebApp \
      --resource-group MyRG \
      --query principalId -o tsv) \
  --secret-permissions get list

CORS'u Etkinleştirme

Çapraz Kökenli Kaynak Paylaşımı (CORS), hangi etki alanlarının App Service uygulamanıza tarayıcı tabanlı API çağrıları yapabileceğini denetler. CORS ayarlarında izin verilen kökenleri yapılandırın — kimliği doğrulanmış API'ler için üretim ortamında joker karakter (*) döndürmeyin. App Service'in yerleşik CORS desteği, Access-Control-Allow-Origin yanıt üst bilgilerini otomatik olarak ekler; böylece basit durumlarda uygulama kodunuzda CORS ara yazılımına gerek kalmaz.

# Allow specific origin
az webapp cors add \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --allowed-origins https://www.contoso.com

# View current CORS settings
az webapp cors show \
  --name MyUniqueWebApp \
  --resource-group MyRG

# Remove a CORS origin
az webapp cors remove \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --allowed-origins https://old.contoso.com

App Service Ortamları (ASE)

Bir App Service Environment (ASE), kendi VNet'inizin içinde çalışan, tamamen yalıtılmış ve ayrılmış bir App Service dağıtımıdır. En yüksek düzeyde ağ yalıtımı, ölçeklenebilirlik (200 örneğe kadar) ve uyumluluk sağlar. ASE v3, ayrılmış bir genel IP gereksinimini ortadan kaldırır ve özel uç noktaları yerel olarak destekler. Bunun karşılığında maliyet önemli ölçüde daha yüksektir; ASE, katı yalıtım gereksinimleri olan kurumsal iş yükleri içindir.

Güvenlik İçin En İyi Uygulamaların Özeti

Güvenli bir App Service dağıtımı için: yalnızca HTTPS kullanımını zorunlu tutun, gelen IP'leri sınırlamak için erişim kısıtlamalarını kullanın, yapılandırmada gizli dizeler bulundurmamak için yönetilen kimliği etkinleştirin, gizli dizeleri Key Vault'ta Key Vault başvurularıyla depolayın, en düşük TLS sürümü olarak 1.2'yi uygulayın, tehdit algılama için Defender for App Service'i etkinleştirin ve uygulama kaynağı için Azure Security Center önerilerini düzenli olarak inceleyin.

# Enforce HTTPS and minimum TLS version
az webapp update \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --https-only true

az webapp config set \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --min-tls-version '1.2' \
  --ftps-state Disabled

Hızlı Kontrol

Bu dersteki Microsoft Azure Fundamentals (AZ-900) kavramlarını anlayıp anlamadığınızı test edin.

Ders Özeti

Bu derste şunları öğrendiniz: yerleşik kimlik doğrulama (EasyAuth), kod değişikliği yapmadan kimlik sağlayıcısıyla oturum açmayı ekler; VNet Integration, giden trafiği sanal ağınız üzerinden yönlendirirken özel uç noktalar gelen trafiği kısıtlar; yönetilen kimlik, diğer Azure hizmetlerinde parolasız kimlik doğrulamayı etkinleştirir. Sırada Azure Container Registry'yi inceleyeceğiz.

Sıkça Sorulan Sorular

“App Service Kimlik Doğrulama ve Ağ Oluşturma” dersi ücretsiz mi?

Evet — “App Service Kimlik Doğrulama ve Ağ Oluşturma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Azure Fundamentals kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Azure Fundamentals kursu toplamda 4 dersten oluşur.

“App Service Kimlik Doğrulama ve Ağ Oluşturma” dersinde ne öğreneceğim?

Web uygulamanız için yerleşik kimlik doğrulama sağlayıcılarını (Entra ID, Google, GitHub) etkinleştirin ve VNet Integration ile erişim kısıtlamalarını kullanarak gelen trafiği sınırlandırın. Azure Fundamentals ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Azure Fundamentals öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Azure Fundamentals, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“App Service Kimlik Doğrulama ve Ağ Oluşturma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Azure Fundamentals dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Azure Fundamentals dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. App Service Planı ve Web Uygulaması Oluşturma
  2. Dağıtım Yuvaları ve Geçiş
  3. Otomatik Ölçeklendirme ve Özel Etki Alanları
  4. App Service Kimlik Doğrulama ve Ağ Oluşturma
← Azure Fundamentals Sayfasına Dön