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ę wystąpienia zarządzanego 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 interfejsu DPAPI zarządzane przez usługę, kartę kluczy, konta usługi 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 Krytyczne dla działania firmy rotacji poświadczeń zarządzanych przez usługę SQL Managed Instance z więcej niż jedną repliką:
- Zasobniki repliki pomocniczej są przerywane i ponownie aprowizowane przy użyciu obróconych poświadczeń zarządzanych przez usługę
- Po ponownym aprowizacji replik podstawowa przejdzie w tryb failover do ponownie aprowizowanej repliki
- Poprzedni zasobnik podstawowy został zakończony i ponownie aprowizowany przy użyciu obróconych poświadczeń zarządzanych przez usługę i staje się pomocniczym
W przypadku przejścia w tryb failover następuje krótki czas przestoju.
Wymagania wstępne:
Przed kontynuowaniem pracy z tym artykułem musisz mieć wystąpienie zarządzane SQL włączone przez utworzony zasób usługi Azure Arc.
Jak obracać 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ć generowanie poświadczeń zarządzanych przez usługę na podstawie specyfikacji i wygenerować nową generację poświadczeń zarządzanych przez usługę. Ta akcja wyzwala 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
Wycofanie jest wymagane, gdy rotacja poświadczeń kończy się niepowodzeniem. Wycofywanie do poprzedniej generacji poświadczeń jest obsługiwane tylko raz do n-1, gdzie n jest bieżącą generacją.
Jeśli wycofanie jest wyzwalane, gdy rotacja poświadczeń jest w toku, a wszystkie repliki nie zostały ponownie zainicjowane, wycofanie może potrwać około 30 minut, aby wystąpienie zarządzane było w stanie Gotowe .
Uruchom następujące dwa polecenia, aby uzyskać bieżące generowanie poświadczeń zarządzanych przez usługę ze specyfikacji i wycofywanie do poprzedniej generacji 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ń.