Een OpenID-Verbinding maken-provider maken in Azure Kubernetes Service (AKS)

OpenID Verbinding maken (OIDC) breidt het OAuth 2.0-autorisatieprotocol uit voor gebruik als een ander verificatieprotocol dat is uitgegeven door Microsoft Entra ID. U kunt OIDC gebruiken om eenmalige aanmelding (SSO) in te schakelen tussen uw OAuth-toepassingen, in uw AKS-cluster (Azure Kubernetes Service), met behulp van een beveiligingstoken dat een id-token wordt genoemd. Met uw AKS-cluster kunt u OpenID Verbinding maken (OIDC) Issuer inschakelen, waarmee Microsoft Entra ID of een ander platform voor identiteits- en toegangsbeheer van de cloudprovider de openbare ondertekeningssleutels van de API-server kunnen detecteren.

AKS roteert de sleutel automatisch en periodiek. Als u niet wilt wachten, kunt u de sleutel handmatig en onmiddellijk draaien. De maximale levensduur van het token dat is uitgegeven door de OIDC-provider is één dag.

Waarschuwing

Schakel OIDC Issuer in voor een bestaand cluster de huidige tokenverlener van het serviceaccount in op een nieuwe waarde, waardoor de API-server opnieuw wordt opgestart. Als uw toepassingspods die een servicetoken gebruiken, de status Mislukt blijven nadat u de OIDC Issuer hebt ingeschakeld, raden we u aan de pods handmatig opnieuw op te starten.

In dit artikel leert u hoe u de OIDC-verlener voor uw cluster maakt, bijwerkt en beheert.

Belangrijk

Na het inschakelen van OIDC-verlener op het cluster, wordt het niet ondersteund om het uit te schakelen.

Belangrijk

Het token moet periodiek worden vernieuwd. Als u SDK gebruikt, wordt de rotatie automatisch uitgevoerd, anders moet u het token elke 24 uur handmatig vernieuwen.

Vereisten

  • Azure CLI versie 2.42.0 of hoger. Voer de opdracht uit az --version om uw versie te vinden. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.
  • AKS ondersteunt OIDC Issuer op versie 1.22 en hoger.

Een AKS-cluster maken met OIDC Issuer

U kunt een AKS-cluster maken met behulp van de opdracht az aks create met de --enable-oidc-issuer parameter om de OIDC Issuer te gebruiken. In het volgende voorbeeld wordt een cluster met de naam myAKSCluster gemaakt met één knooppunt in de myResourceGroup:

az aks create -g myResourceGroup -n myAKSCluster --node-count 1 --enable-oidc-issuer

Een AKS-cluster bijwerken met OIDC Issuer

U kunt een AKS-cluster bijwerken met behulp van de opdracht az aks update met de --enable-oidc-issuer parameter om de OIDC Issuer te gebruiken. In het volgende voorbeeld wordt een cluster met de naam myAKSCluster bijgewerkt:

az aks update -g myResourceGroup -n myAKSCluster --enable-oidc-issuer 

De URL van de OIDC-verlener weergeven

Voer de opdracht az aks show uit om de URL van de OIDC Issuer op te halen. Vervang de standaardwaarden voor de clusternaam en de naam van de resourcegroep.

az aks show -n myAKScluster -g myResourceGroup --query "oidcIssuerProfile.issuerUrl" -otsv

De verlener is standaard ingesteld op het gebruik van de basis-URL https://{region}.oic.prod-aks.azure.com, waarbij de waarde overeenkomt {region} met de locatie waarin het AKS-cluster wordt geïmplementeerd.

De OIDC-sleutel draaien

Als u de OIDC-sleutel wilt draaien, voert u de opdracht az aks oidc-issuer uit. Vervang de standaardwaarden voor de clusternaam en de naam van de resourcegroep.

az aks oidc-issuer rotate-signing-keys -n myAKSCluster -g myResourceGroup

Belangrijk

Nadat u de sleutel hebt gedraaid, verloopt de oude sleutel (key1) na 24 uur. Dit betekent dat zowel de oude sleutel (sleutel1) als de nieuwe sleutel (sleutel2) binnen de periode van 24 uur geldig zijn. Als u de oude sleutel (key1) onmiddellijk ongeldig wilt maken, moet u de OIDC-sleutel tweemaal draaien en de pods opnieuw starten met behulp van geprojecteerde serviceaccounttokens. Vervolgens zijn sleutel2 en sleutel3 geldig en is sleutel1 ongeldig.

De OIDC-sleutels controleren

De URL van de OIDC-verlener ophalen

Voer de opdracht az aks show uit om de URL van de OIDC Issuer op te halen. Vervang de standaardwaarden voor de clusternaam en de naam van de resourcegroep.

az aks show -n myAKScluster -g myResourceGroup --query "oidcIssuerProfile.issuerUrl" -otsv

De uitvoer moet er ongeveer als volgt uitzien:

https://eastus.oic.prod-aks.azure.com/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000/

De verlener is standaard ingesteld op het gebruik van de basis-URL https://{region}.oic.prod-aks.azure.com/{uuid}, waarbij de waarde overeenkomt {region} met de locatie waarin het AKS-cluster wordt geïmplementeerd. De waarde {uuid} vertegenwoordigt de OIDC-sleutel. Dit is een willekeurig gegenereerde GUID voor elk cluster dat onveranderbaar is.

Het detectiedocument ophalen

Als u het detectiedocument wilt ophalen, kopieert u de URL https://(OIDC issuer URL).well-known/openid-configuration en opent u het in de browser.

De uitvoer moet er ongeveer als volgt uitzien:

{
  "issuer": "https://eastus.oic.prod-aks.azure.com/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000/",
  "jwks_uri": "https://eastus.oic.prod-aks.azure.com/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000/openid/v1/jwks",
  "response_types_supported": [
    "id_token"
  ],
  "subject_types_supported": [
    "public"
  ],
  "id_token_signing_alg_values_supported": [
    "RS256"
  ]
}

Het JWK Set-document ophalen

Als u het JWK Set-document wilt ophalen, kopieert u het jwks_uri uit het detectiedocument en plakt u het in de adresbalk van uw browser.

De uitvoer moet er ongeveer als volgt uitzien:

{
  "keys": [
    {
      "use": "sig",
      "kty": "RSA",
      "kid": "xxx",
      "alg": "RS256",
      "n": "xxxx",
      "e": "AQAB"
    },
    {
      "use": "sig",
      "kty": "RSA",
      "kid": "xxx",
      "alg": "RS256",
      "n": "xxxx",
      "e": "AQAB"
    }
  ]
}

Tijdens het roteren van sleutels is er nog één andere sleutel aanwezig in het detectiedocument.

Volgende stappen