Dela via


Rotera SQL Managed Instance aktiverat med tjänsthanterade autentiseringsuppgifter i Azure Arc (förhandsversion)

Den här artikeln beskriver hur du roterar tjänsthanterade autentiseringsuppgifter för SQL Managed Instance som aktiveras av Azure Arc. Arc-datatjänster genererar olika tjänsthanterade autentiseringsuppgifter som certifikat och SQL-inloggningar som används för övervakning, säkerhetskopiering/återställning, hög tillgänglighet osv. Dessa autentiseringsuppgifter betraktas som anpassade resursautentiseringsuppgifter som hanteras av Azure Arc-datatjänster.

Tjänsthanterad rotation av autentiseringsuppgifter är en användarutlöst åtgärd som du initierar under ett säkerhetsproblem eller när regelbunden rotation krävs för kompatibilitet.

Begränsningar

Tänk på följande begränsningar när du roterar tjänsthanterade autentiseringsuppgifter för hanterade instanser:

  • SQL Server-redundansgrupper stöds inte.
  • Automatisk förplanerad rotation stöds inte.
  • De tjänsthanterade DPAPI-symmetriska nycklarna, nyckelfliken, Active Directory-kontona och tjänsthanterade TDE-autentiseringsuppgifterna ingår inte i den här rotationen av autentiseringsuppgifter.

Nivån Generell användning

Under Generell användning tjänsthanterad autentiseringsrotation för SQL Managed Instance avslutas kubernetes-podden för den hanterade instansen och ometableras med roterade autentiseringsuppgifter. Den här processen orsakar en kort stilleståndstid när den nya hanterade instanspodden skapas. För att hantera avbrottet skapar du återhämtning i ditt program, till exempel logik för återförsök av anslutningar, för att säkerställa minimala störningar. Läs Översikt över tillförlitlighetspelare för mer information om hur du skapar vägledning om återhämtning och återförsök för Azure Services.

Affärskritisk nivå

Under Affärskritisk tjänsthanterad autentiseringsrotation för SQL Managed Instance med mer än en replik:

  • De sekundära replikpoddarna avslutas och återskapas med de roterade tjänsthanterade autentiseringsuppgifterna
  • När replikerna har återskapats redundansväxlar den primära till en ometablerad replik
  • Den tidigare primära podden avslutas och ometableras med de roterade tjänsthanterade autentiseringsuppgifterna och blir en sekundär

Det finns en kort stunds stilleståndstid när redundansväxlingen inträffar.

Förutsättningar:

Innan du fortsätter med den här artikeln måste du ha en SQL Managed Instance aktiverad av Azure Arc-resursen.

Rotera tjänsthanterade autentiseringsuppgifter i en hanterad instans

Tjänsthanterade autentiseringsuppgifter är associerade med en generation i den hanterade instansen. Om du vill rotera alla tjänsthanterade autentiseringsuppgifter för en hanterad instans måste genereringen ökas med 1.

Kör följande kommandon för att hämta aktuell generering av tjänsthanterade autentiseringsuppgifter från specifikationen och generera den nya generationen tjänsthanterade autentiseringsuppgifter. Den här åtgärden utlöser tjänsthanterad rotation av autentiseringsuppgifter.

rotateCredentialGeneration=$(($(kubectl get sqlmi <sqlmi-name> -o jsonpath='{.spec.update.managedCredentialsGeneration}' -n <namespace>) + 1))
kubectl patch sqlmi <sqlmi-name> --namespace <namespace> --type merge --patch '{ "spec": { "update": { "managedCredentialsGeneration": '$rotateCredentialGeneration'} } }'

Identifierar managedCredentialsGeneration målgenereringen för tjänsthanterade autentiseringsuppgifter. Resten av funktionerna som konfiguration och kubernetes-topologin förblir desamma.

Återställa tjänsthanterade autentiseringsuppgifter i en hanterad instans

Kommentar

Återställning krävs när rotationen av autentiseringsuppgifter misslyckas. Återställning till tidigare autentiseringsuppgifter stöds bara en gång till n-1 där n är den aktuella generationen.

Om återställning utlöses medan rotationen av autentiseringsuppgifter pågår och alla repliker inte har återskapats kan återställningen ta cirka 30 minuter att slutföra för att den hanterade instansen ska vara i tillståndet Klar.

Kör följande två kommandon för att hämta aktuell generering av tjänsthanterade autentiseringsuppgifter från specifikation och återställning till föregående generation av tjänsthanterade autentiseringsuppgifter:

rotateCredentialGeneration=$(($(kubectl get sqlmi <sqlmi-name> -o jsonpath='{.spec.update.managedCredentialsGeneration}' -n <namespace>) - 1))
kubectl patch sqlmi <sqlmi-name> --namespace <namespace> --type merge --patch '{ "spec": { "update": { "managedCredentialsGeneration": '$rotateCredentialGeneration'} } }'

Att utlösa återställning är detsamma som att utlösa en rotation av tjänsthanterade autentiseringsuppgifter förutom att målgenereringen är föregående generation och inte genererar en ny generation eller autentiseringsuppgifter.