Secure Certificate provisioning in azure CA Infrastructure

Radhabai Patel 0 Reputation points
2025-07-19T17:08:03.2666667+00:00

Secure Certificate Provisioning in Azure with Minimal CA Dependency

What are the recommended approaches for implementing scalable and secure certificate provisioning in Azure while reducing reliance on traditional Certificate Authority (CA) infrastructure? How can this solution be securely adopted across various workloads and services with PKI, KV and Infra Hitel?

Azure Key Vault
Azure Key Vault

An Azure service that is used to manage and protect cryptographic keys and other secrets used by cloud apps and services.


2 answers

Sort by: Newest
  1. Deleted

    This answer has been deleted due to a violation of our Code of Conduct. The answer was manually reported or identified through automated detection before action was taken. Please refer to our Code of Conduct for more information.


    Comments have been turned off. Learn more

  2. Marcin Policht 112.6K Reputation points MVP Volunteer Moderator
    2025-07-19T19:28:42.0333333+00:00

    You’ll need to redesign your architecture around Microsoft Cloud PKI, Microsoft Entra ID, Azure Key Vault, and optionally Intune and cert-manager (for workloads like Kubernetes). The following should help:

    Key Azure components and their roles in modern certificate provisioning

    Azure Component Role Replaces / Minimizes
    Microsoft Cloud PKI Microsoft-hosted root and issuing CAs for device/user certificates On-prem ADCS CA, Global CA hierarchy
    Microsoft Entra ID Provides certificate-based authentication (CBA), identity federation, policy enforcement On-prem AD DS for CBA
    Azure Key Vault Secure storage and lifecycle management of TLS/SSL certificates Windows CA cert stores, internal vaults
    Intune Certificate deployment to devices and endpoints via SCEP/PKCS profiles GPO/SCCM deployment of certs
    cert-manager Automates cert issuance/rotation in Kubernetes workloads Manual cert provisioning in clusters
    Azure Application Gateway / Front Door Terminates TLS using certificates from Key Vault IIS/Apache/Nginx with manually loaded certs
    GitHub Actions / Azure DevOps Automates certificate workflows (request, renew, deploy) Manual or script-based cert handling

    At a high level, you can consider modern certificate architecture in Azure to consist of:

    1. Root/issuing CA: Microsoft Cloud PKI
    • Acts as the central authority for issuing certificates.
    • You no longer need to operate offline roots or intermediate CAs across geographies.
    • Managed lifecycle, highly available, and integrates with Intune.
    • Policies and template-like configurations for issuance control.
    1. Certificate storage and delivery: Azure Key Vault
    • TLS/SSL certificates used by workloads are stored securely in Azure Key Vault.
    • Integration with services:
      • App Services, App Gateway, Front Door, AKS via Ingress
    • Supports:
      • Automatic renewal from public CAs.
      • Import of certificates issued from Microsoft Cloud PKI (for internal use).
    1. Authentication and authorization: Microsoft Entra ID
    • Enforces certificate-based auth for users and devices.
    • Replaces reliance on smart cards, ADFS, or on-prem CBA setups.
    • Conditional Access policies can be tied to cert usage.
    • Works with certificates issued by Microsoft Cloud PKI or your existing CA (if federated).
    1. Device enrollment and cert deployment: Intune
    • Pushes certs to managed endpoints (Windows, macOS, iOS, Android).
    • Supports PKCS (direct cert issuance) and SCEP (for larger scale provisioning).
    • Fully integrated with Microsoft Cloud PKI, no on-prem NDES or connector required.
    1. Kubernetes / Service Mesh / Internal TLS: cert-manager
    • For AKS or other Kubernetes workloads:
      • Use cert-manager to request and renew certs.
      • Backed by Azure Key Vault or a custom CA (e.g., Microsoft Cloud PKI).
    • Supports automation for Ingress and internal services (mTLS).

    To transition strategy from on-prem CAs

    Step 1: Inventory and categorize

    • List all current CAs, their issuing scope, and dependencies.
    • Categorize certs by purpose:
      • TLS/SSL
      • Device/User Auth
      • Wi-Fi/VPN
      • Internal app-to-app communication

    Step 2: Pilot Microsoft Cloud PKI

    • Start with a region or business unit.
    • Configure Microsoft Cloud PKI as the issuing CA.
    • Use Intune to distribute certificates to pilot users/devices.
    • Use Entra CBA for login testing.

    Step 3: Migrate TLS/SSL to Azure Key Vault

    • Start with public-facing workloads.
    • Migrate cert storage to Key Vault.
    • Automate provisioning using Key Vault + Azure CLI or public CA integration.

    Step 4: Retire on-prem CA dependencies

    • Once new certs are issued and trusted, revoke old CA-issued certs.
    • Retire NDES connectors, offline roots, and intermediate CAs not needed.
    • Document trust changes and update clients where necessary.

    Step 5: Automate lifecycle

    • Implement GitHub Actions, Azure DevOps, or similar to automate:
      • Cert issuance
      • Key Vault updates
      • Deployment to services (via API/IaC)

    If you cannot fully eliminate on-prem CAs right away:

    • Bridge approach: Continue issuing certain certs from on-prem CAs but store them in Azure Key Vault.
    • Use Intune with SCEP connector (on-prem or cloud-hosted) as a bridge.
    • Configure trust relationships between on-prem CAs and Microsoft Entra ID temporarily.

    If the above response helps answer your question, remember to "Accept Answer" so that others in the community facing similar issues can easily find the solution. Your contribution is highly appreciated.

    hth

    Marcin

    Was this answer helpful?

    1 person found this answer helpful.

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.