Dela via


Hantera lokala konton med AKS-hanterad Microsoft Entra-integrering

När du distribuerar ett AKS-kluster aktiveras lokala konton som standard. Även om du aktiverar RBAC- eller Microsoft Entra-integrering --admin finns det fortfarande åtkomst som ett alternativ för icke-granskningsbar bakdörr. Den här artikeln visar hur du inaktiverar lokala konton i ett befintligt kluster, skapar ett nytt kluster med lokala konton inaktiverade och återaktiverar lokala konton i befintliga kluster.

Innan du börjar

Inaktivera lokala konton

Du kan inaktivera lokala konton med hjälp av parametern disable-local-accounts. Fältet properties.disableLocalAccounts har lagts till i API:et för det hanterade klustret för att ange om funktionen är aktiverad eller inte i klustret.

Kommentar

  • I kluster med Microsoft Entra-integrering aktiverat kan användare som tilldelats en Microsoft Entra-administratörsgrupp som anges av aad-admin-group-object-ids fortfarande få åtkomst med autentiseringsuppgifter som inte är administratör. I kluster utan Microsoft Entra-integrering aktiverat och properties.disableLocalAccounts inställt på truemisslyckas alla försök att autentisera med användar- eller administratörsautentiseringsuppgifter.

  • När du har inaktiverat lokala användarkonton i ett befintligt AKS-kluster där användare kan ha autentiserats med lokala konton måste administratören rotera klustercertifikaten för att återkalla certifikat som de kan ha haft åtkomst till. Om det här är ett nytt kluster krävs ingen åtgärd.

Skapa ett nytt kluster utan lokala konton

  1. Skapa ett nytt AKS-kluster utan några lokala konton med kommandot az aks create med disable-local-accounts flaggan .

    az aks create \
        --resource-group <resource-group> \
        --name <cluster-name> \
        --enable-aad \
        --aad-admin-group-object-ids <aad-group-id> \
        --disable-local-accounts \
        --generate-ssh-keys
    
  2. I utdata bekräftar du att lokala konton är inaktiverade genom att kontrollera att fältet properties.disableLocalAccounts är inställt på true.

    "properties": {
        ...
        "disableLocalAccounts": true,
        ...
    }
    
  3. az aks get-credentials Kör kommandot för att se till att klustret är inställt på att inaktivera lokala konton.

    az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
    

    Dina utdata bör visa följande felmeddelande som anger att funktionen förhindrar åtkomst:

    Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
    

Inaktivera lokala konton i ett befintligt kluster

  1. Inaktivera lokala konton i ett befintligt Microsoft Entra-integreringsaktiverat AKS-kluster med hjälp av az aks update kommandot med parametern disable-local-accounts .

    az aks update --resource-group <resource-group> --name <cluster-name> --disable-local-accounts
    
  2. I utdata bekräftar du att lokala konton är inaktiverade genom att kontrollera att fältet properties.disableLocalAccounts är inställt på true.

    "properties": {
        ...
        "disableLocalAccounts": true,
        ...
    }
    
  3. az aks get-credentials Kör kommandot för att se till att klustret är inställt på att inaktivera lokala konton.

    az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
    

    Dina utdata bör visa följande felmeddelande som anger att funktionen förhindrar åtkomst:

    Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
    

Återaktivera lokala konton i ett befintligt kluster

  1. Återaktivera ett inaktiverat lokalt konto i ett befintligt kluster med hjälp av az aks update kommandot med parametern enable-local-accounts .

    az aks update --resource-group <resource-group> --name <cluster-name> --enable-local-accounts
    
  2. I utdata bekräftar du att lokala konton återaktiveras genom att kontrollera att fältet properties.disableLocalAccounts är inställt på false.

    "properties": {
        ...
        "disableLocalAccounts": false,
        ...
    }
    
  3. az aks get-credentials Kör kommandot för att säkerställa att klustret är inställt på att aktivera lokala konton.

    az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
    

    Dina utdata bör visa följande meddelande som anger att du har aktiverat lokala konton i klustret:

    Merged "<cluster-name>-admin" as current context in C:\Users\<username>\.kube\config
    

Nästa steg