TLS/SSL-certificaten toevoegen en beheren in Azure App Service
Notitie
Vanaf 1 juni 2024 hebben alle nieuw gemaakte App Service-apps de mogelijkheid om een unieke standaardhostnaam te genereren met behulp van de naamconventie <app-name>-<random-hash>.<region>.azurewebsites.net
. Bestaande app-namen blijven ongewijzigd.
Voorbeeld: myapp-ds27dh7271aah175.westus-01.azurewebsites.net
Raadpleeg de unieke standaardhostnaam voor App Service-resource voor meer informatie.
U kunt digitale beveiligingscertificaten toevoegen om te gebruiken in uw toepassingscode of om aangepaste DNS-namen te beveiligen in Azure-app Service, die een uiterst schaalbare webhostingservice met selfpatching biedt. Momenteel tls-certificaten (Transport Layer Security) genoemd, ook wel bekend als SSL-certificaten (Secure Socket Layer), helpen deze persoonlijke of openbare certificaten u bij het beveiligen van internetverbinding door gegevens te versleutelen die worden verzonden tussen uw browser, websites die u bezoekt en de websiteserver.
De volgende tabel bevat de opties voor het toevoegen van certificaten in App Service:
Optie | Omschrijving |
---|---|
Een gratis door App Service beheerd certificaat maken | Een privécertificaat dat gratis en eenvoudig te gebruiken is als u alleen de beveiliging voor uw aangepaste domein in App Service moet verbeteren. |
Een App Service-certificaat importeren | Een persoonlijk certificaat dat wordt beheerd door Azure. Het certificaat biedt de eenvoud van geautomatiseerd certificaatbeheer, gecombineerd met de flexibiliteit van opties voor verlengen en exporteren. |
Een certificaat uit Key Vault importeren | Dit is handig als u Azure Key Vault gebruikt voor het beheren van uw PKCS12-certificaten. Zie Vereisten voor persoonlijke certificaten. |
Een persoonlijk certificaat uploaden | Als u al een persoonlijk certificaat van een externe provider hebt, kunt u het certificaat uploaden. Zie Vereisten voor persoonlijke certificaten. |
Een openbaar certificaat uploaden | Openbare certificaten worden niet gebruikt om aangepaste domeinen te beveiligen, maar u kunt ze in uw code laden als u ze nodig hebt voor toegang tot externe resources. |
Vereisten
Maak een App Service-app. Het App Service-plan van de app moet zich in de laag Basic, Standard, Premium of Isolated bevinden. Zie Een app omhoog schalen om de laag bij te werken.
Voor een privécertificaat moet u ervoor zorgen dat het voldoet aan alle vereisten van App Service.
Alleen gratis certificaat:
Wijs het domein toe waar u het certificaat wilt toewijzen aan App Service. Zie Zelfstudie: Een bestaande aangepaste DNS-naam toewijzen aan Azure-app Service voor meer informatie.
Zorg ervoor dat voor een hoofddomein (zoals contoso.com) geen IP-beperkingen zijn geconfigureerd voor uw app. Zowel het maken van certificaten als de periodieke verlenging van een basisdomein is afhankelijk van het feit dat uw app bereikbaar is vanaf internet.
Vereisten voor persoonlijke certificaten
Het gratis door App Service beheerde certificaat en het App Service-certificaat voldoen al aan de vereisten van App Service. Als u ervoor kiest om een persoonlijk certificaat te uploaden of te importeren naar App Service, moet uw certificaat voldoen aan de volgende vereisten:
- Geëxporteerd als een PFX-bestand dat met een wachtwoord is beveiligd, versleuteld met behulp van triple DES
- Bevat persoonlijke sleutel met een lengte van minimaal 2048 bits
- Bevat alle tussenliggende certificaten en het basiscertificaat in de certificaatketen
Als u een aangepast domein in een TLS-binding wilt beveiligen, moet het certificaat voldoen aan de volgende aanvullende vereisten:
- Bevat een Uitgebreide-sleutelgebruik voor serververificatie (OID = 1.3.6.1.5.5.7.3.1)
- Ondertekend door een vertrouwde certificeringsinstantie
Notitie
ECC-certificaten (Elliptic Curve Cryptography) werken met App Service, maar vallen niet onder dit artikel. Voor de exacte stappen voor het maken van ECC-certificaten werkt u samen met uw certificeringsinstantie.
Notitie
Nadat u een privécertificaat aan een app hebt toegevoegd, wordt het certificaat opgeslagen in een implementatie-eenheid die is gebonden aan de resourcegroep, regio en combinatie van het besturingssysteem van het App Service-plan, intern een webruimte genoemd. Op die manier is het certificaat toegankelijk voor andere apps in dezelfde combinatie van resourcegroepen, regio's en besturingssystemen. Privécertificaten die zijn geüpload of geïmporteerd in App Service, worden gedeeld met App Services in dezelfde implementatie-eenheid.
U kunt maximaal 1000 privécertificaten per webruimte toevoegen.
Een gratis beheerd certificaat maken
Het gratis door App Service beheerde certificaat is een kant-en-klare oplossing voor het beveiligen van uw aangepaste DNS-naam in App Service. Zonder enige actie van u wordt dit TLS/SSL-servercertificaat volledig beheerd door App Service en wordt dit automatisch verlengd in stappen van zes maanden, 45 dagen voordat het verloopt, zolang de vereisten die u hebt ingesteld, hetzelfde blijven. Alle gekoppelde bindingen worden bijgewerkt met het vernieuwde certificaat. U maakt en verbindt het certificaat aan een aangepast domein en laat App Service de rest doen.
Belangrijk
Voordat u een gratis beheerd certificaat maakt, moet u ervoor zorgen dat u voldoet aan de vereisten voor uw app.
Gratis certificaten worden uitgegeven door DigiCert. Voor sommige domeinen moet u DigiCert expliciet toestaan als certificaatverlener door een CAA-domeinrecord te maken met de waarde: 0 issue digicert.com
Azure beheert de certificaten volledig namens u, zodat elk aspect van het beheerde certificaat, inclusief de basisverlener, op elk gewenst moment kan worden gewijzigd. Deze wijzigingen vallen buiten uw beheer. Zorg ervoor dat u vaste afhankelijkheden en 'vastmaken'-certificaten voor het beheerde certificaat of een deel van de certificaathiërarchie vermijdt. Als u het gedrag voor het vastmaken van certificaten nodig hebt, voegt u een certificaat toe aan uw aangepaste domein met behulp van een andere beschikbare methode in dit artikel.
Het gratis certificaat wordt geleverd met de volgende beperkingen:
- Biedt geen ondersteuning voor jokertekencertificaten.
- Biedt geen ondersteuning voor gebruik als clientcertificaat met behulp van certificaatvingerafdruk, die is gepland voor afschaffing en verwijdering.
- Biedt geen ondersteuning voor privé-DNS.
- Kan niet worden geëxporteerd.
- Wordt niet ondersteund in een App Service-omgeving.
- Ondersteunt alleen alfanumerieke tekens, streepjes (-) en punten (.).
- Alleen aangepaste domeinen met een lengte van maximaal 64 tekens worden ondersteund.
- Moet een A-record hebben die verwijst naar het IP-adres van uw web-app.
- Moet zich in apps bevinden die openbaar toegankelijk zijn.
- Wordt niet ondersteund met hoofddomeinen die zijn geïntegreerd met Traffic Manager.
- Moet aan alle bovenstaande voldoen voor geslaagde certificaatuitgiften en vernieuwingen.
Selecteer<> in azure Portal in het linkermenu app-naam.>
Selecteer Certificaten in het navigatiemenu van uw app. Selecteer Certificaat toevoegen in het deelvenster Beheerde certificaten.
Selecteer het aangepaste domein voor het gratis certificaat en selecteer vervolgens Valideren. Wanneer de validatie is voltooid, selecteert u Toevoegen. U kunt slechts één beheerd certificaat maken voor elk ondersteund aangepast domein.
Wanneer de bewerking is voltooid, wordt het certificaat weergegeven in de lijst met beheerde certificaten .
Als u beveiliging wilt bieden voor een aangepast domein met dit certificaat, moet u nog steeds een certificaatbinding maken. Volg de stappen in Een aangepaste DNS-naam beveiligen met een TLS/SSL-binding in Azure-app Service.
Een App Service-certificaat importeren
Als u een App Service-certificaat wilt importeren, koopt en configureert u eerst een App Service-certificaat en volgt u de stappen hier.
Selecteer<> in azure Portal in het linkermenu app-naam.>
Selecteer in het navigatiemenu van uw app certificaten>bring your own certificates (.pfx)>Add certificate.
Selecteer App Service-certificaat importeren in de bron.
Selecteer in het App Service-certificaat het certificaat dat u zojuist hebt gemaakt.
Geef in de beschrijvende naam van het certificaat een naam op in uw app.
Selecteer Valideren. Wanneer de validatie is geslaagd, selecteert u Toevoegen.
Wanneer de bewerking is voltooid, wordt het certificaat weergegeven in de lijst Bring Your Own Certificates .
Als u een aangepast domein met dit certificaat wilt beveiligen, moet u nog steeds een certificaatbinding maken. Volg de stappen in Een aangepaste DNS-naam beveiligen met een TLS/SSL-binding in Azure-app Service.
Een certificaat uit Key Vault importeren
Als u Azure Key Vault gebruikt om uw certificaten te beheren, kunt u een PKCS12-certificaat importeren in App Service vanuit Key Vault als u aan de vereisten voldoet.
App Service machtigen voor leestoegang tot de kluis
De App Service-resourceprovider heeft standaard geen toegang tot uw sleutelkluis. Als u een sleutelkluis wilt gebruiken voor een certificaatimplementatie, moet u leestoegang voor de resourceprovider (App Service) autoriseren voor de sleutelkluis. U kunt toegang verlenen met toegangsbeleid of RBAC.
Resourceprovider | Id/toegewezen service-principal-app | Key Vault RBAC-rol |
---|---|---|
Microsoft Azure-app Service of Microsoft.Azure.WebSites | - abfa0a7c-a6b6-4736-8310-5855508787cd voor een openbare Azure-cloudomgeving - 6a02c803-dafd-4136-b4c3-5a6f318b4714 voor Azure Government-cloudomgeving |
Certificaatgebruiker |
De app-id van de service-principal of de waarde van de toegewezen gebruiker is de id voor de App Service-resourceprovider. Zie voor meer informatie over het autoriseren van sleutelkluismachtigingen voor de App Service-resourceprovider met behulp van een toegangsbeleid de toegang tot Key Vault-sleutels, -certificaten en -geheimen met een op rollen gebaseerd toegangsbeheerdocumentatie van Azure.
Notitie
Verwijder deze RBAC-machtigingen niet uit de sleutelkluis. Als u dit wel doet, kan App Service uw web-app niet synchroniseren met de nieuwste versie van het key vault-certificaat.
Een certificaat uit uw kluis importeren in uw app
Selecteer<> in azure Portal in het linkermenu app-naam.>
Selecteer in het navigatiemenu van uw app certificaten>bring your own certificates (.pfx)>Add certificate.
Selecteer In Bron importeren uit Key Vault.
Selecteer Sleutelkluiscertificaat selecteren.
Gebruik de volgende tabel om u te helpen het certificaat te selecteren:
Instelling Beschrijving Abonnement Het abonnement dat is gekoppeld aan de sleutelkluis. Sleutelkluis De sleutelkluis met het certificaat dat u wilt importeren. Certificaat Selecteer in deze lijst een PKCS12-certificaat dat zich in de kluis bevindt. Alle PKCS12-certificaten in de kluis worden weergegeven met hun vingerafdrukken, maar niet alle certificaten worden ondersteund in App Service. Wanneer u klaar bent met uw selectie, selecteert u Selecteren, Valideren en vervolgens Toevoegen.
Wanneer de bewerking is voltooid, wordt het certificaat weergegeven in de lijst Bring Your Own Certificates . Als het importeren mislukt met een fout, voldoet het certificaat niet aan de vereisten voor App Service.
Notitie
Als u uw certificaat in Key Vault bijwerkt met een nieuw certificaat, synchroniseert App Service uw certificaat automatisch binnen 24 uur.
Als u aangepast domein met dit certificaat wilt beveiligen, moet u nog steeds een certificaatbinding maken. Volg de stappen in Een aangepaste DNS-naam beveiligen met een TLS/SSL-binding in Azure-app Service.
Een persoonlijk certificaat uploaden
Nadat u een certificaat van uw certificaatprovider hebt ontvangen, maakt u het certificaat gereed voor App Service door de stappen in deze sectie te volgen.
Tussenliggende certificaten samenvoegen
Als uw certificeringsinstantie u meerdere certificaten in de certificaatketen geeft, moet u de certificaten samenvoegen volgens dezelfde volgorde.
Open elk ontvangen certificaat in een teksteditor.
Als u het samengevoegde certificaat wilt opslaan, maakt u een bestand met de naam mergedcertificate.crt.
Kopieer de inhoud voor elk certificaat naar dit bestand. Zorg ervoor dat u de certificaatreeks volgt die is opgegeven door de certificaatketen, te beginnen met uw certificaat en eindigt op het basiscertificaat, bijvoorbeeld:
-----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-----
Het samengevoegde privécertificaat exporteren naar PFX
Exporteer nu het samengevoegde TLS/SSL-certificaat met de persoonlijke sleutel die is gebruikt om uw certificaataanvraag te genereren. Als u uw certificaataanvraag hebt gegenereerd met Behulp van OpenSSL, hebt u een bestand met een persoonlijke sleutel gemaakt.
Notitie
OpenSSL v3 heeft de standaard codering gewijzigd van 3DES in AES256, maar dit kan worden overschreven op de opdrachtregel: -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg SHA1. OpenSSL v1 maakt standaard gebruik van 3DES, zodat de GEGENEREERDe PFX-bestanden worden ondersteund zonder speciale wijzigingen.
Als u uw certificaat wilt exporteren naar een PFX-bestand, voert u de volgende opdracht uit, maar vervangt u de tijdelijke aanduidingen <voor het persoonlijke-sleutelbestand> en <het bestand met samengevoegde certificaten door de paden naar uw persoonlijke sleutel en het samengevoegde certificaatbestand.>
openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>
Wanneer u hierom wordt gevraagd, geeft u een wachtwoord op voor de exportbewerking. Wanneer u uw TLS/SSL-certificaat later uploadt naar App Service, moet u dit wachtwoord opgeven.
Als u IIS of Certreq.exe hebt gebruikt om uw certificaataanvraag te genereren, installeert u het certificaat op uw lokale computer en exporteert u het certificaat vervolgens naar een PFX-bestand.
Het certificaat uploaden naar App Service
U bent nu klaar om het certificaat te uploaden naar App Service.
Selecteer<> in azure Portal in het linkermenu app-naam.>
Selecteer in het navigatiemenu van uw app certificaten>bring your own certificates (.pfx)>Upload Certificate.
Gebruik de volgende tabel om het PFX-certificaat te uploaden:
Instelling Beschrijving PFX-certificaatbestand Selecteer het PFX-bestand. Certificaatwachtwoord Voer het wachtwoord in dat u hebt gemaakt bij het exporteren van het PFX-bestand. Beschrijvende naam van certificaat De certificaatnaam die wordt weergegeven in uw web-app. Wanneer u klaar bent met uw selectie, selecteert u Selecteren, Valideren en vervolgens Toevoegen.
Wanneer de bewerking is voltooid, wordt het certificaat weergegeven in de lijst Bring Your Own Certificates .
Als u beveiliging wilt bieden voor een aangepast domein met dit certificaat, moet u nog steeds een certificaatbinding maken. Volg de stappen in Een aangepaste DNS-naam beveiligen met een TLS/SSL-binding in Azure-app Service.
Een openbaar certificaat uploaden
Openbare certificaten worden ondersteund in de indeling .cer.
Notitie
Nadat u een openbaar certificaat naar een app hebt geüpload, is het alleen toegankelijk voor de app waarnaar het is geüpload. Openbare certificaten moeten worden geüpload naar elke afzonderlijke web-app die toegang nodig heeft. Raadpleeg de documentatie voor certificaten en de App Service-omgeving voor specifieke scenario's voor App Service Environment.
U kunt maximaal 1000 openbare certificaten uploaden per App Service-plan.
Selecteer<> in azure Portal in het linkermenu app-naam.>
Selecteer in het navigatiemenu van uw app certificaten>voor openbare sleutelcertificaten (.cer)>Certificaat toevoegen.
Gebruik de volgende tabel om het .cer-certificaat te uploaden:
Instelling Beschrijving CER-certificaatbestand Selecteer het bestand .cer. Beschrijvende naam van certificaat De certificaatnaam die wordt weergegeven in uw web-app. Wanneer u klaar bent, selecteert u Toevoegen.
Nadat het certificaat is geüpload, kopieert u de vingerafdruk van het certificaat en controleert u het certificaat toegankelijk maken.
Een verlopend certificaat vernieuwen
Voordat een certificaat verloopt, moet u het vernieuwde certificaat toevoegen aan App Service en eventuele certificaatbindingen bijwerken waarbij het proces afhankelijk is van het certificaattype. Een certificaat dat is geïmporteerd uit Key Vault, inclusief een App Service-certificaat, wordt bijvoorbeeld elke 24 uur automatisch gesynchroniseerd met App Service en werkt de TLS/SSL-binding bij wanneer u het certificaat verlengt. Voor een geüpload certificaat is er geen automatische bindingsupdate. Bekijk de bijbehorende sectie op basis van uw scenario:
- Een geüpload certificaat vernieuwen
- Een App Service-certificaat vernieuwen
- Een certificaat vernieuwen dat is geïmporteerd uit Key Vault
Een geüpload certificaat vernieuwen
Wanneer u een verlopend certificaat vervangt, kan de manier waarop u de certificaatbinding bijwerkt met het nieuwe certificaat de gebruikerservaring nadelig beïnvloeden. Het binnenkomende IP-adres kan bijvoorbeeld veranderen wanneer u een binding verwijdert, zelfs als die binding ip-gebaseerd is. Dit resultaat is met name van invloed wanneer u een certificaat verlengt dat al in een IP-binding staat. Volg deze stappen in de opgegeven volgorde om een wijziging in het IP-adres van uw app te voorkomen en downtime voor uw app te voorkomen vanwege HTTPS-fouten:
Ga naar de pagina Aangepaste domeinen voor uw app, selecteer de knop ... en selecteer vervolgens Binding bijwerken.
Selecteer het nieuwe certificaat en selecteer Vervolgens Bijwerken.
Verwijder het bestaande certificaat.
Een certificaat vernieuwen dat is geïmporteerd uit Key Vault
Notitie
Zie Een App Service-certificaat vernieuwen om een App Service-certificaat te vernieuwen.
Als u een certificaat wilt vernieuwen dat u vanuit Key Vault hebt geïmporteerd in App Service, raadpleegt u Uw Azure Key Vault-certificaat vernieuwen.
Nadat het certificaat in uw sleutelkluis is vernieuwd, synchroniseert App Service het nieuwe certificaat automatisch en wordt elke toepasselijke certificaatbinding binnen 24 uur bijgewerkt. Voer de volgende stappen uit om handmatig te synchroniseren:
Ga naar de pagina Certificaat van uw app.
Selecteer onder Bring Your Own Certificates (.pfx) de knop ... voor het geïmporteerde sleutelkluiscertificaat en selecteer vervolgens Synchroniseren.
Veelgestelde vragen
Hoe kan ik het toevoegen van een bring-your-own-certificaat aan een app automatiseren?
- Azure CLI: Een aangepast TLS/SSL-certificaat verbinden met een web-app
- Azure PowerShell: Een aangepast TLS/SSL-certificaat verbinden met een web-app met behulp van PowerShell
Kan ik een privé-CA-certificaat (certificeringsinstantie) gebruiken voor binnenkomende TLS in mijn app?
U kunt een privé-CA-certificaat gebruiken voor binnenkomende TLS in App Service Environment versie 3. Dit is niet mogelijk in App Service (meerdere tenants). Zie de vergelijking tussen App Service Environment v3 en openbare multitenant voor App Service voor meer informatie over App Service multitenant versus één tenant.
Kan ik uitgaande oproepen doen met behulp van een privé-CA-clientcertificaat vanuit mijn app?
Dit wordt alleen ondersteund voor Windows-container-apps in App Service met meerdere tenants. Daarnaast kunt u uitgaande aanroepen uitvoeren met behulp van een privé-CA-clientcertificaat met zowel op code gebaseerde als container-apps in App Service Environment versie 3. Zie de vergelijking tussen App Service Environment v3 en openbare multitenant voor App Service voor meer informatie over App Service multitenant versus één tenant.
Kan ik een privé-CA-certificaat laden in mijn vertrouwde basisarchief van App Service?
U kunt uw eigen CA-certificaat laden in het vertrouwde basisarchief in App Service Environment versie 3. U kunt de lijst met vertrouwde basiscertificaten in App Service (meerdere tenants) niet wijzigen. Zie de vergelijking tussen App Service Environment v3 en openbare multitenant voor App Service voor meer informatie over App Service multitenant versus één tenant.