Aracılığıyla paylaş


Azure App Service'te TLS/SSL sertifikaları ekleme ve yönetme

Note

1 Haziran 2024'den itibaren, yeni oluşturulan App Service uygulamaları <app-name>-<random-hash>.<region>.azurewebsites.netadlandırma kuralını kullanan benzersiz bir varsayılan ana bilgisayar adı oluşturabilir. Örneğin: myapp-ds27dh7271aah175.westus-01.azurewebsites.net. Mevcut uygulama adları değişmeden kalır.

Daha fazla bilgi için, benzersiz bir varsayılan ana bilgisayar adı ile web uygulaması oluşturma hakkındakiblog gönderisine bakın.

You can add digital security certificates to use in your application code or to help secure custom DNS names in Azure App Service, which provides a highly scalable, self-patching web hosting service. Şu anda Aktarım Katmanı Güvenliği (TLS) sertifikaları olarak adlandırılan ve daha önce Güvenli Yuva Katmanı (SSL) sertifikaları olarak da bilinen bu özel veya genel sertifikalar tarayıcınız, ziyaret ettiğiniz web siteleri ve web sitesi sunucusu arasında gönderilen verileri şifreleyerek İnternet bağlantılarının güvenliğini sağlamanıza yardımcı olur.

Aşağıdaki tabloda, App Service'te sertifika ekleme seçenekleriniz listelenmiştir:

Seçenek Açıklama
Create a free App Service managed certificate App Service'te özel etki alanınızın güvenliğini artırmanız gerekiyorsa ücretsiz ve kullanımı kolay bir özel sertifika.
App Service sertifikalarını içeri aktarma Azure tarafından yönetilen özel sertifika. Otomatik sertifika yönetiminin basitliğini ve yenileme ve dışarı aktarma seçeneklerinin esnekliğini birleştirir.
Key Vault'tan sertifika içeri aktarma PKCS12 sertifikalarınızı yönetmek için Azure Key Vault kullanıyorsanız kullanışlıdır. Bkz. Özel sertifika gereksinimleri.
Upload a private certificate Üçüncü taraf sağlayıcıdan özel bir sertifikanız zaten varsa, bunu karşıya yükleyebilirsiniz. Bkz. Özel sertifika gereksinimleri.
Upload a public certificate Ortak sertifikalar özel etki alanlarının güvenliğini sağlamak için kullanılmaz, ancak uzak kaynaklara erişmeleri gerekiyorsa bunları kodunuz içine yükleyebilirsiniz.

Önkoşullar

Özel sertifika gereksinimleri

Ücretsiz App Service tarafından yönetilen sertifika ve App Service sertifikası, App Service gereksinimlerini zaten karşılıyor. Özel bir sertifikayı App Service'e yüklemeyi veya içeri aktarmayı seçerseniz, sertifikanızın aşağıdaki gereksinimleri karşılaması gerekir:

  • Parola korumalı PFX dosyası olarak dışarı aktarıldı, üçlü DES kullanılarak şifrelendi
  • En az 2048 bit uzunluğunda özel anahtar içerir
  • Sertifika zincirindeki tüm ara sertifikaları ve kök sertifikayı içerir

TLS bağlamasında özel bir etki alanının güvenliğini sağlamaya yardımcı olmak istiyorsanız sertifikanın şu ek gereksinimleri karşılaması gerekir:

Note

Elliptic Curve Cryptography (ECC) sertifikaları App Service ile çalışır ancak bu makale kapsamında değildir. ECC sertifikaları oluşturmanın tam adımları için sertifika yetkilinizle birlikte çalışın.

Note

Bir uygulamaya özel sertifika ekledikten sonra, sertifika App Service planının kaynak grubuna, bölgesine ve işletim sistemi bileşimine bağlı olan ve dahili olarak web alanı olarak adlandırılan bir dağıtım biriminde depolanır. Bu şekilde sertifikaya aynı kaynak grubu, bölge ve işletim sistemi bileşimindeki diğer uygulamalar erişebilir. App Service'e yüklenen veya içeri aktarılan özel sertifikalar aynı dağıtım birimindeki App Services ile paylaşılır.

Web alanı başına en fazla 1000 özel sertifika ekleyebilirsiniz.

Ücretsiz yönetilen sertifika oluşturma

Ücretsiz App Service yönetilen sertifikası, App Service'te özel DNS adınızın güvenliğini sağlamak için anahtar teslimi bir çözümdür. Sizin herhangi bir eyleminiz olmadan, bu TLS/SSL sunucu sertifikası App Service tarafından tamamen yönetilir ve ayarladığınız önkoşullar aynı kaldığı sürece, süresi dolmadan 45 gün önce altı aylık artışlarla otomatik olarak sürekli yenilenir. tüm ilişkili bağlamalar yenilenen sertifikayla güncelleştirilir. Sertifikayı oluşturup özel bir etki alanına bağlarsınız ve gerisini App Service'in yapmasına izin verirsiniz.

Önemli

Ücretsiz yönetilen sertifika oluşturmadan önce uygulamanızın önkoşullarını karşıladığınızdan emin olun.

Ücretsiz sertifikalar DigiCert tarafından verilir. Bazı etki alanları için, şu değere sahip bir CAA etki alanı kaydı oluşturarak

Azure sertifikaları sizin yerinize tam olarak yönetir, böylece kök veren de dahil olmak üzere yönetilen sertifikanın her yönü istediğiniz zaman değişebilir. Sertifika yenilemeleri hem genel hem de özel anahtar bölümlerini değiştirir. Bu sertifika değişikliklerinin tümü denetiminizin dışındadır. Sabit bağımlılıklardan ve uygulama sertifikalarını yönetilen sertifikaya veya sertifika hiyerarşisinin herhangi bir bölümüne "sabitlemekten" kaçının. Sertifika sabitleme davranışına ihtiyacınız varsa, bu makaledeki diğer kullanılabilir yöntemleri kullanarak özel etki alanınıza bir sertifika ekleyin.

Ücretsiz sertifika aşağıdaki sınırlamalarla birlikte gelir:

  • Wildcard sertifikalarını desteklemez.
  • Doesn't support usage as a client certificate by using certificate thumbprint, which is planned for deprecation and removal.
  • Özel DNS'i desteklemez.
  • Dışarı aktarılamaz.
  • App Service Ortamında desteklenmez.
  • Yalnızca alfasayısal karakterleri, kısa çizgileri (-) ve nokta (.) destekler.
  • Only custom domains of length up to 64 characters are supported.
  • Web uygulamanızın IP adresine işaret eden bir A kaydı olmalıdır.
  • Genel olarak erişilebilen uygulamalarda olmalıdır.
  • Isn't supported with root domains that are integrated with Traffic Manager.
  • Başarılı sertifika verme ve yenileme işlemleri için yukarıdakilerin tümünü karşılaması gerekir.
  1. Azure portalında, soldaki menüden App Services>

  2. Uygulamanızın gezinti menüsünde Sertifikalar'ı seçin. Yönetilen sertifikalar bölmesinde Sertifika ekle'yi seçin.

    'Sertifikalar', 'Yönetilen sertifikalar' ve 'Sertifika ekle' seçeneğinin seçili olduğu uygulama menüsünün ekran görüntüsü.

  3. Ücretsiz sertifika için özel etki alanını seçin ve ardından Doğrula'yı seçin. Doğrulama tamamlandığında Ekle'yi seçin. Desteklenen her özel etki alanı için yalnızca bir yönetilen sertifika oluşturabilirsiniz.

    İşlem tamamlandığında, sertifika Yönetilen sertifikalar listesinde görünür.

    Yeni sertifikanın listelendiği Yönetilen sertifikalar bölmesinin ekran görüntüsü.

  4. Bu sertifikaya sahip özel bir etki alanının güvenliğini sağlamak için yine de bir sertifika bağlaması oluşturmanız gerekir. Azure Uygulaması Hizmeti'nde TLS/SSL bağlaması ile özel bir DNS adının güvenliğini sağlama bölümünde yer alan adımları izleyin.

App Service sertifikalarını içeri aktarma

App Service sertifikasını içeri aktarmak için önce bir App Service sertifikası satın alıp yapılandırın ve ardından buradaki adımları izleyin.

  1. Azure portalında, soldaki menüden App Services>

  2. Uygulamanızın gezinti menüsünden Sertifikalar>Kendi sertifikalarınızı getirin (.pfx)>Sertifika ekle seçin.

  3. Kaynak bölümünde App Service Sertifikasını İçeri Aktar seçeneğini seçin.

  4. App Service sertifikası'nda yeni oluşturduğunuz sertifikayı seçin.

  5. Sertifika kolay adı bölümünde, sertifikaya uygulamanızda bir ad verin.

  6. Doğrula'yı seçin. Doğrulama başarılı olduğunda Ekle'yi seçin.

    'Sertifikalar', 'Kendi sertifikalarınızı getirin (.pfx)' ve 'App Service sertifikasını içeri aktar' seçeneğinin seçili olduğu ve **Doğrula** düğmesinin bulunduğu tamamlanmış 'Özel anahtar sertifikası ekle' sayfasının ekran görüntüsü.

    İşlem tamamlandığında, sertifika Kendi sertifikalarınızı getirin listesinde görünür.

    Satın alınan sertifikanın listelendiği 'Kendi sertifikalarınızı getirin (.pfx)' bölmesinin ekran görüntüsü.

  7. Bu sertifikayla özel bir etki alanının güvenliğini sağlamaya yardımcı olmak için yine de bir sertifika bağlaması oluşturmanız gerekir. Azure Uygulaması Hizmeti'nde TLS/SSL bağlaması ile özel bir DNS adının güvenliğini sağlama bölümünde yer alan adımları izleyin.

Key Vault'tan sertifika içeri aktarma

Sertifikalarınızı yönetmek için Azure Key Vault kullanıyorsanız, gereksinimleri karşılıyorsanız Bir PKCS12 sertifikasını Key Vault'tan App Service'e aktarabilirsiniz.

Authorize App Service to read from the vault

Varsayılan olarak App Service kaynak sağlayıcısının anahtar kasanıza erişimi yoktur. Sertifika dağıtımında anahtar kasası kullanmak için, kaynak sağlayıcısının (App Service) anahtar kasasına okuma erişimini yetkilendirmeniz gerekir. Erişim ilkesini veya RBAC'i kullanarak erişim verebilirsiniz.

Kaynak sağlayıcısı Service principal app ID / assignee Key vault RBAC role
Microsoft Azure Uygulaması Hizmeti veya Microsoft.Azure.WebSites - abfa0a7c-a6b6-4736-8310-5855508787cd genel Azure bulut ortamı için

- 6a02c803-dafd-4136-b4c3-5a6f318b4714Azure Kamu bulut ortamı için
Sertifika Kullanıcısı

Hizmet asıl uygulama kimliği veya atanmış değer, App Service kaynak sağlayıcısının kimliğidir. Note that when granting access using RBAC, the corresponding Object ID of the service principal app ID is tenant-specific. To learn how to authorize key vault permissions for the App Service resource provider using an access policy, see the provide access to Key Vault keys, certificates, and secrets with an Azure role-based access control documentation.

az role assignment create --role "Key Vault Certificate User" --assignee "abfa0a7c-a6b6-4736-8310-5855508787cd" --scope "/subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}"

Import a certificate from your vault to your app

  1. Azure portalında, soldaki menüden App Services>

  2. Uygulamanızın gezinti menüsünden Sertifikalar>Kendi sertifikalarınızı getirin (.pfx)>Sertifika ekle seçin.

  3. Kaynak bölümünde Key Vault'tan içeri aktar'ı seçin.

  4. Select Select key vault certificate.

    'Sertifikalar', 'Kendi sertifikalarınızı getirin (.pfx)' ve 'Key Vault'tan içeri aktar' seçeneğinin seçili olduğu uygulama yönetimi sayfasının ekran görüntüsü.

  5. Sertifikayı seçmenize yardımcı olması için aşağıdaki tabloyu kullanın:

    Setting Açıklama
    Abonelik The subscription associated with the key vault.
    Key vault İçeri aktarmak istediğiniz sertifikayı içeren anahtar kasası.
    Sertifika From this list, select a PKCS12 certificate that's in the vault. All PKCS12 certificates in the vault are listed with their thumbprints, but not all are supported in App Service.
  6. Seçiminizi bitirdiğinizde Seç, Doğrula'yı ve ardından Ekle'yi seçin.

    İşlem tamamlandığında, sertifika Kendi sertifikalarınızı getirin listesinde görünür. İçeri aktarma işlemi bir hatayla başarısız olursa, sertifika App Service gereksinimlerini karşılamıyor.

    İçeri aktarılan sertifikanın listelendiği 'Kendi sertifikalarınızı getirin (.pfx)' bölmesinin ekran görüntüsü.

    Note

    Key Vault'taki sertifikanızı yeni bir sertifikayla güncelleştirirseniz, App Service sertifikanızı 24 saat içinde otomatik olarak eşitler.

  7. Bu sertifikayla özel etki alanının güvenliğini sağlamaya yardımcı olmak için yine de bir sertifika bağlaması oluşturmanız gerekir. Azure Uygulaması Hizmeti'nde TLS/SSL bağlaması ile özel bir DNS adının güvenliğini sağlama bölümünde yer alan adımları izleyin.

Upload a private certificate

Sertifika sağlayıcınızdan bir sertifika aldıktan sonra, bu bölümdeki adımları izleyerek sertifikayı App Service için hazır hale getirin.

Ara sertifikaları birleştirme

Sertifika yetkiliniz size sertifika zincirinde birden çok sertifika veriyorsa, sertifikaları aynı sırayla birleştirmeniz gerekir.

  1. Bir metin düzenleyicisinde, alınan her sertifikayı açın.

  2. Birleştirilmiş sertifikayı depolamak için mergedcertificate.crt adlı bir dosya oluşturun.

  3. Her sertifikanın içeriğini bu dosyaya kopyalayın. Sertifikanızla başlayıp kök sertifikayla biten sertifika zinciri tarafından belirtilen sertifika dizisini izlediğinizden emin olun, örneğin:

    -----BEGIN CERTIFICATE-----
    <your entire Base64 encoded SSL certificate>
    -----END CERTIFICATE-----
    
    -----BEGIN CERTIFICATE-----
    <The entire Base64 encoded intermediate certificate 1>
    -----END CERTIFICATE-----
    
    -----BEGIN CERTIFICATE-----
    <The entire Base64 encoded intermediate certificate 2>
    -----END CERTIFICATE-----
    
    -----BEGIN CERTIFICATE-----
    <The entire Base64 encoded root certificate>
    -----END CERTIFICATE-----
    

Birleştirilmiş özel sertifikayı PFX'e dışarı aktarma

Şimdi, birleştirilmiş TLS/SSL sertifikanızı sertifika isteğinizi oluşturmak için kullanılan özel anahtarla dışarı aktarın. Sertifika isteğinizi OpenSSL kullanarak oluşturduysanız bir özel anahtar dosyası oluşturmuşsunuz demektir.

Note

OpenSSL v3, varsayılan şifrelemeyi 3DES'den AES256'ya değiştirdi, ancak bu komut satırında geçersiz kılınabilir: -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg SHA1. OpenSSL v1 varsayılan olarak 3DES kullanır, bu nedenle oluşturulan PFX dosyaları herhangi bir özel değişiklik yapılmadan desteklenir.

  1. Sertifikanızı bir PFX dosyasına aktarmak için aşağıdaki komutu çalıştırın, ancak private-key-file ve< merged-certificate-file><>özel anahtarınızın ve birleştirilmiş sertifika dosyanızın yolları ile değiştirin.

    openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>  
    
  2. İstendiğinde dışarı aktarma işlemi için bir parola belirtin. TLS/SSL sertifikanızı daha sonra App Service'e yüklediğinizde, bu parolayı sağlamanız gerekir.

  3. Sertifika isteğinizi oluşturmak için IIS veya Certreq.exe kullandıysanız sertifikayı yerel bilgisayarınıza yükleyin ve sertifikayı bir PFX dosyasına aktarın.

Sertifikayı App Service'e yükleme

Artık sertifikayı App Service'e yüklemeye hazırsınız.

  1. Azure portalında, soldaki menüden App Services>

  2. Uygulamanızın gezinti menüsünden Sertifikalar>Kendi sertifikalarınızı (.pfx) getirin>Sertifikayı karşıya yükle seçin.

    'Sertifikalar', 'Kendi sertifikalarınızı getirin (.pfx)' ve 'Sertifikayı Karşıya Yükle' seçeneğinin seçili olduğu uygulama yönetimi sayfasının ekran görüntüsü.

  3. .pfx sertifikasını karşıya yüklemenize yardımcı olmak için aşağıdaki tabloyu kullanın:

    Setting Açıklama
    PFX sertifika dosyası .pfx dosyanızı seçin.
    Sertifika parolası PFX dosyasını dışarı aktarırken oluşturduğunuz parolayı girin.
    Certificate friendly name Web uygulamanızda gösterilecek sertifika adı.
  4. Seçiminizi bitirdiğinizde Seç, Doğrula'yı ve ardından Ekle'yi seçin.

    İşlem tamamlandığında, sertifika Kendi sertifikalarınızı getirin listesinde görünür.

    Karşıya yüklenen sertifikanın listelendiği 'Kendi sertifikalarınızı getirin' bölmesinin ekran görüntüsü.

  5. Bu sertifikaya sahip özel bir etki alanının güvenliğini sağlamak için yine de bir sertifika bağlaması oluşturmanız gerekir. Azure Uygulaması Hizmeti'nde TLS/SSL bağlaması ile özel bir DNS adının güvenliğini sağlama bölümünde yer alan adımları izleyin.

Upload a public certificate

Ortak sertifikalar .cer biçiminde desteklenir.

Note

After you upload a public certificate to an app, it's only accessible by the app it's uploaded to. Genel sertifikalar, erişim gerektiren her bir web uygulamasına yüklenmelidir. For App Service Environment specific scenarios, refer to the documentation for certificates and the App Service Environment.

App Service Planı başına en fazla 1000 genel sertifika yükleyebilirsiniz.

  1. Azure portalında, soldaki menüden App Services>

  2. From your app's navigation menu, select Certificates>Public key certificates (.cer)>Add certificate.

  3. .cer sertifikasını karşıya yüklemenize yardımcı olmak için aşağıdaki tabloyu kullanın:

    Setting Açıklama
    CER sertifika dosyası .cer dosyanızı seçin.
    Certificate friendly name Web uygulamanızda gösterilecek sertifika adı.
  4. İşiniz bittiğinde Ekle'yi seçin.

    Uygulama yönetimi sayfasının ekran görüntüsü. Karşıya yüklenecek ortak anahtar sertifikasını ve adını gösterir.

  5. After the certificate is uploaded, copy the certificate thumbprint, and then review Make the certificate accessible.

Süresi dolan sertifikayı yenileme

Sertifikanın süresi dolmadan önce, yenilenen sertifikayı App Service'e eklediğinizden ve işlemin sertifika türüne bağlı olduğu tüm sertifika bağlamalarını güncelleştirdiğinden emin olun. Örneğin, App Service sertifikası da dahil olmak üzere Key Vault'tan içeri aktarılan bir sertifika 24 saatte bir App Service ile otomatik olarak eşitlenir ve sertifikayı yenilediğinizde TLS/SSL bağlamasını güncelleştirir. For an uploaded certificate, there's no automatic binding update. Senaryonuza göre ilgili bölümü gözden geçirin:

Yüklenen sertifikayı yenile

Süresi dolan bir sertifikayı değiştirdiğinizde, sertifika bağlamasını yeni sertifikayla güncelleştirme şekliniz kullanıcı deneyimini olumsuz etkileyebilir. Örneğin, bir bağlamayı sildiğinizde, bu bağlama IP tabanlı olsa bile gelen IP adresiniz değişebilir. Bu sonuç özellikle ZATEN IP tabanlı bağlamada olan bir sertifikayı yenilediğinizde etkili olur. Uygulamanızın IP adresinde değişiklik olmasını önlemek ve HTTPS hataları nedeniyle uygulamanızın kapalı kalma süresini önlemek için belirtilen sırada şu adımları izleyin:

  1. Yeni sertifikayı yükleyin.

  2. Uygulamanızın Özel etki alanları sayfasına gidin, ... düğmesini ve ardından Bağlamayı güncelleştir'i seçin.

  3. Yeni sertifikayı ve ardından Güncelleştir'i seçin.

  4. Var olan sertifikayı silin.

Key Vault'tan içeri aktarılan bir sertifikayı yenileme

Note

App Service sertifikasını yenilemek için bkz . App Service sertifikasını yenileme.

Key Vault'tan App Service'e aktardığınız bir sertifikayı yenilemek için Azure Key Vault sertifikanızı yenileme'yi gözden geçirin.

Anahtar kasanızda sertifika yenilendikten sonra App Service yeni sertifikayı otomatik olarak eşitler ve 24 saat içinde geçerli tüm sertifika bağlamalarını güncelleştirir. El ile eşitlemek için şu adımları izleyin:

  1. Uygulamanızın Sertifika sayfasına gidin.

  2. Kendi sertifikalarınızı getirin (.pfx) altında, içeri aktarılan anahtar kasası sertifikası için ... düğmesini ve ardından Eşitle'yi seçin.

Sık sorulan sorular

Bir uygulamaya kendi sertifikanızı getirin eklemeyi nasıl otomatikleştirebilirim?

Uygulamamda gelen TLS için özel CA (sertifika yetkilisi) sertifikası kullanabilir miyim?

App Service Ortamı sürüm 3'te gelen TLS bağlantıları için özel CA sertifikası kullanabilirsiniz. Bu, App Service'te (çok kiracılı) mümkün değildir. For more information on App Service multitenant vs. single-tenant, see App Service Environment v3 and App Service public multitenant comparison.

Uygulamamdan özel CA istemci sertifikası kullanarak giden aramalar yapabilir miyim?

This is only supported for Windows container apps in multitenant App Service. Ayrıca, App Service Ortamı sürüm 3'te hem kod tabanlı hem de kapsayıcı tabanlı uygulamalarla özel CA istemci sertifikası kullanarak giden çağrılar yapabilirsiniz. For more information on App Service multitenant vs. single-tenant, see App Service Environment v3 and App Service public multitenant comparison.

App Service Güvenilen Kök Deposu'nda özel bir CA sertifikası yükleyebilir miyim?

App Service Ortamı sürüm 3'te Güvenilen Kök Deposu'na kendi CA sertifikanızı yükleyebilirsiniz. App Service'te (çok kiracılı) Güvenilen Kök Sertifikalar listesini değiştiremezsiniz. For more information on App Service multitenant vs. single-tenant, see App Service Environment v3 and App Service public multitenant comparison.

App Service Sertifikası diğer hizmetler için kullanılabilir mi?

Evet, App Service Sertifikası aracılığıyla satın alınan sertifikalar Application Gateway veya diğer hizmetlerle dışarı aktarılabilir ve kullanılabilir. Daha fazla bilgi için şu blog makalesine bakın: App Service Sertifikasının yerel PFX kopyasını oluşturma.

Diğer kaynaklar