Udostępnij za pośrednictwem


Obracanie wystąpienia zarządzanego SQL włączonego przez poświadczenia zarządzane przez usługę Azure Arc (wersja zapoznawcza)

W tym artykule opisano sposób rotacji poświadczeń zarządzanych przez usługę dla usługi SQL Managed Instance włączonej przez usługę Azure Arc. Usługi danych arc generują różne poświadczenia zarządzane przez usługę, takie jak certyfikaty i identyfikatory logowania SQL używane do monitorowania, tworzenia kopii zapasowych/przywracania, wysokiej dostępności itp. Te poświadczenia są uznawane za niestandardowe poświadczenia zasobów zarządzane przez usługi danych Azure Arc.

Rotacja poświadczeń zarządzanych przez usługę to operacja wyzwalana przez użytkownika, która jest inicjowana podczas problemu z zabezpieczeniami lub gdy okresowa rotacja jest wymagana w celu zapewnienia zgodności.

Ograniczenia

Podczas rotacji poświadczeń zarządzanych przez usługę w instancji zarządzanej należy wziąć pod uwagę następujące ograniczenia:

  • Grupy trybu failover programu SQL Server nie są obsługiwane.
  • Automatyczne wstępnie zaplanowane obracanie nie jest obsługiwane.
  • Klucze symetryczne DPAPI zarządzane przez usługę, keytab, konta Active Directory i poświadczenia TDE zarządzane przez usługę nie są uwzględniane w tej rotacji poświadczeń.

Warstwa ogólnego przeznaczenia

Podczas rotacji poświadczeń zarządzanych przez usługę SQL Managed Instance ogólnego przeznaczenia zasobnik kubernetes wystąpienia zarządzanego zostanie zakończony i ponownie aprowizowany przy użyciu obróconych poświadczeń. Ten proces powoduje krótki przestój podczas tworzenia nowego zasobnika wystąpienia zarządzanego. Aby obsłużyć przerwę, utwórz odporność w aplikacji, taką jak logika ponawiania połączenia, aby zapewnić minimalne zakłócenia. Przeczytaj omówienie filaru niezawodności, aby uzyskać więcej informacji na temat tworzenia architektury odporności i ponawiania prób dla usług platformy Azure.

Warstwa Krytyczne dla działania firmy

Podczas rotacji poświadczeń zarządzanych przez usługę Business Critical SQL Managed Instance, w przypadku posiadania więcej niż jednej repliki:

  • Zasobniki podrzędnych replik są zakończone i ponownie aprowizowane przy użyciu zmienionych poświadczeń zarządzanych przez usługę.
  • Po ponownej aprowizacji replik, podstawowa zostanie przeniesiona do ponownie aprowizowanej repliki.
  • Poprzedni zasobnik podstawowy został zresetowany i ponownie skonfigurowany przy użyciu obróconych poświadczeń zarządzanych przez usługę, i staje się zapasowy.

W przypadku przejścia w tryb failover następuje krótki czas przestoju.

Wymagania wstępne:

Przed kontynuowaniem tego artykułu musisz mieć utworzony zasób Azure Arc z włączonym wystąpieniem zarządzanym SQL.

Jak aktualizować poświadczenia zarządzane przez usługę w wystąpieniu zarządzanym

Poświadczenia zarządzane przez usługę są skojarzone z generowaniem w ramach wystąpienia zarządzanego. Aby obrócić wszystkie poświadczenia zarządzane przez usługę dla wystąpienia zarządzanego, generacja musi zostać zwiększona o 1.

Uruchom następujące polecenia, aby pobrać bieżące tworzenie poświadczeń zarządzanych przez usługę na podstawie specyfikacji i wygenerować nową wersję poświadczeń zarządzanych przez usługę. Ta akcja inicjuje rotację poświadczeń zarządzanych przez usługę.

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'} } }'

Element managedCredentialsGeneration identyfikuje generację docelową dla poświadczeń zarządzanych przez usługę. Pozostałe funkcje, takie jak konfiguracja i topologia kubernetes, pozostają takie same.

Jak wycofać poświadczenia zarządzane przez usługę w wystąpieniu zarządzanym

Uwaga

Cofnięcie jest wymagane, gdy rotacja poświadczeń się nie powiodła. Przywrócenie do poprzedniej generacji poświadczeń jest obsługiwane tylko raz do n-1, gdzie n jest obecną generacją.

Jeśli wycofanie jest wyzwalane, gdy rotacja poświadczeń jest w toku, a wszystkie repliki nie zostały przywrócone, wycofanie może potrwać około 30 minut, aby zarządzana instancja była w stanie Gotowość.

Uruchom następujące dwa polecenia, aby uzyskać bieżącą generację poświadczeń zarządzanych przez usługę na podstawie specyfikacji oraz cofnąć się do poprzedniej generacji tych poświadczeń zarządzanych przez usługę.

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'} } }'

Wyzwalanie wycofywania jest takie samo jak wyzwalanie rotacji poświadczeń zarządzanych przez usługę, z tą różnicą, że generacja docelowa jest poprzednia generacja i nie generuje nowych generacji ani poświadczeń.