Aangepaste certificeringsinstanties (CA's) gebruiken in Azure Kubernetes Service (AKS)

Met ondersteuning voor aangepaste certificeringsinstantie (CA) kunt u maximaal 10 base64-gecodeerde certificaten toevoegen aan het vertrouwensarchief van uw knooppunt. Voor nieuwe clusters mag de inhoud van het CA-certificaat niet groter zijn dan 35 kB. U hebt deze functie vaak nodig wanneer voor het knooppunt certificeringsinstanties (CA's) zijn vereist, bijvoorbeeld wanneer u verbinding maakt met een privéregister.

In dit artikel leest u hoe u aangepaste CA's maakt en deze toepast op uw AKS-clusters.

Note

Met de functie Aangepaste CA worden uw aangepaste certificaten toegevoegd aan het vertrouwensarchief van het AKS-knooppunt. Certificaten die met deze functie zijn toegevoegd, zijn niet beschikbaar voor containers die worden uitgevoerd in pods. Als u de certificaten in de containers nodig hebt, moet u ze apart toevoegen, door ze toe te voegen aan de images die door uw pods worden gebruikt of tijdens runtime via scripting en een secret.

Prerequisites

  • Een Azure-abonnement. Als u geen Azure-abonnement hebt, maakt u een gratis account.
  • Azure CLI versie 2.72.0 of hoger geïnstalleerd en geconfigureerd. Voer de opdracht uit om uw az --version CLI-versie te vinden. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.
  • Een met base64 gecodeerde certificaattekenreeks of een tekstbestand met certificaat.

Limitations

  • Windows-knooppuntgroepen worden niet ondersteund.
  • Het installeren van verschillende CA's in hetzelfde cluster wordt niet ondersteund.
  • Voor nieuwe clusters mag de inhoud van het CA-certificaat niet groter zijn dan 35 kB.

Een certificaatbestand maken

  • Maak een tekstbestand met maximaal 10 lege, door regels gescheiden certificaten. Voor nieuwe clusters mag de inhoud van het CA-certificaat in het bestand niet groter zijn dan 35 kB. Wanneer u dit bestand doorgeeft aan uw cluster, worden de certificaten geïnstalleerd in de vertrouwensarchieven van het AKS-knooppunt.

    Voorbeeldtekstbestand:

        -----BEGIN CERTIFICATE-----
        cert1
        -----END CERTIFICATE-----
    
        -----BEGIN CERTIFICATE-----
        cert2
        -----END CERTIFICATE-----
    

Voordat u doorgaat met de volgende stap, moet u ervoor zorgen dat uw tekstbestand geen spaties bevat om fouten te voorkomen.

Aangepaste CA's doorgeven aan uw AKS-cluster

  • Geef certificaten door aan uw cluster met behulp van de az aks create of az aks update opdracht, waarbij --custom-ca-trust-certificates is ingesteld op de naam van uw certificaatbestand.

    # Create a new cluster
    az aks create \
        --resource-group <resource-group-name> \
        --name <cluster-name> \
        --node-count 2 \
        --custom-ca-trust-certificates <path-to-certificate-file> \
        --generate-ssh-keys
    
    # Update an existing cluster
    az aks update \
        --resource-group <resource-group-name> \
        --name <cluster-name> \
        --custom-ca-trust-certificates <path-to-certificate-file>
    

    Note

    Met deze bewerking wordt een modelupdate geactiveerd om ervoor te zorgen dat op alle bestaande knooppunten dezelfde CA's zijn geïnstalleerd voor de juiste inrichting. AKS maakt nieuwe knooppunten, leidt bestaande knooppunten af, verwijdert bestaande knooppunten en vervangt deze door knooppunten waarop de nieuwe set CA's is geïnstalleerd.

Controleren of CA's zijn geïnstalleerd

  • Controleer of de CA's zijn geïnstalleerd met behulp van de az aks show opdracht.

    az aks show --resource-group <resource-group-name> --name <cluster-name> | grep securityProfile -A 4
    

    In de uitvoer moet de securityProfile sectie uw aangepaste CA-certificaten bevatten. Voorbeeld:

      "securityProfile": {
        "azureKeyVaultKms": null,
        "customCaTrustCertificates": [
            "values"
    

Aangepaste CA-opmaakfouten oplossen

Het toevoegen van certificaten aan een cluster kan leiden tot een fout als het bestand met de certificaten niet goed is opgemaakt. Mogelijk ziet u een fout die vergelijkbaar is met het volgende voorbeeld:

failed to decode one of SecurityProfile.CustomCATrustCertificates to PEM after base64 decoding

Als deze fout optreedt, moet u controleren of uw invoerbestand geen extra nieuwe regels, spaties of andere gegevens bevat dan certificaten die correct zijn opgemaakt, zoals wordt weergegeven in het voorbeeldbestand.

Los problemen op met aangepaste CA X.509-certificaten die ondertekend zijn door een onbekende instantie.

AKS vereist dat certificaten die zijn doorgegeven correct zijn opgemaakt en base64 zijn gecodeerd. Zorg ervoor dat de CA's die u hebt doorgegeven, correct zijn gecodeerd met base64 en dat bestanden met CA's geen CRLF-regeleinden hebben.

Container opnieuw opstarten om nieuwe certificaten op te halen

Als containerd geen nieuwe certificaten ophaalt, voert u de systemctl restart containerd opdracht uit vanuit de shell van het knooppunt. Zodra de container opnieuw is opgestart, moet de containerruntime de nieuwe certificaten ophalen.

enableCustomCATrust (preview) buitengebruikstellingsmigratie

Important

Vanaf 14 september 2026 wordt de preview-eigenschap enableCustomCATrust buiten gebruik gesteld. Na die datum schakelt het enableCustomCATrust=true veld op knooppuntgroepsniveau de functie Aangepaste certificeringsinstantie (CA) niet meer in in AKS. De laatste preview-API die deze eigenschap ondersteunt, is 2025-08-02-preview. Bestaande knooppuntgroepen die nog steeds afhankelijk zijn enableCustomCATrust=true , kunnen fouten ondervinden tijdens schaalbewerkingen of wanneer certificaten worden bijgewerkt. Als u serviceonderbreking wilt voorkomen, werkt u de betrokken clusters en knooppuntgroepen bij en verwijdert u de preview-eigenschap vóór 14 september 2026. Zie enableCustomCATrust migratie voor buitengebruikstelling (preview) voor de migratiestappen. Zie het probleem met Retirement GitHub voor meer informatie over deze buitengebruikstelling. Blijf op de hoogte van aankondigingen en updates door de releaseopmerkingen voor AKS te volgen.

Verwijder de eigenschap Aangepast CA-vertrouwen van uw knooppuntgroepen

De huidige Azure CLI releases bevatten --disable-custom-ca-trust de optie niet. Als u de uitgefaseerde eigenschap enableCustomCATrust wilt verwijderen, gebruikt u voor elke betreffende knooppuntpool een algemene resource-update. De 2025-08-02-preview API is de laatste API-versie die deze eigenschap beschikbaar maakt.

POOL_ID=$(az aks nodepool show \
  --resource-group <resource-group> \
  --cluster-name <cluster-name> \
  --name <node-pool-name> \
  --query id \
  --output tsv)

az resource update \
  --ids "$POOL_ID" \
  --api-version 2025-08-02-preview \
  --set properties.enableCustomCATrust=false

Met deze opdracht wordt de volledige resource van de knooppuntgroep opgehaald, wordt enableCustomCATrust bijgewerkt en wordt de bijgewerkte resource teruggestuurd. De andere eigenschappen van de knooppuntgroep blijven behouden.

Controleer of de eigenschap is uitgeschakeld en of de update van de knooppuntgroep is geslaagd:

az rest \
  --method get \
  --url "https://management.azure.com${POOL_ID}?api-version=2025-08-02-preview" \
  --query "properties.{enableCustomCATrust:enableCustomCATrust,provisioningState:provisioningState}" \
  --output json

Herhaal deze stappen voor elke knooppuntgroep waarvoor enableCustomCATrust is ingeschakeld. De verwachte uitvoer toont dat enableCustomCATrust is ingesteld op false en provisioningState op Succeeded.

Als u na deze uitfasering aangepast CA-vertrouwen op uw clusters wilt inschakelen, gebruikt u --custom-ca-trust-certificates en geeft u het pad naar een certificaatbestand op.

Zie Best practices voor clusterbeveiliging en upgrades in Azure Kubernetes Service (AKS) voor meer informatie over best practices voor AKS-beveiliging.