| Termin | Definicja |
|---|---|
| Dostęp zdalny w chmurze | Dostęp zdalny w chmurze to sposób łączenia się z instancją bazy danych hostowaną w środowisku chmurowym, np. Azure SQL. Na czym polega dostęp zdalny w chmurzeDostęp zdalny w chmurze oznacza łączenie się z usługą lub zasobem obliczeniowym znajdującym się poza lokalnym komputerem, w centrum danych dostawcy chmury. W przypadku baz danych użytkownik nie pracuje na pliku zapisanym na dysku laptopa, lecz wysyła żądania do instancji działającej w środowisku chmurowym. Przykładem jest Azure SQL Database, do której aplikacja może nawiązywać połączenie przez sieć, korzystając z adresu serwera, nazwy bazy, danych uwierzytelniających oraz właściwego sterownika. Połączenie z chmurową bazą danych składa się z kilku etapów. Klient musi odnaleźć adres usługi za pomocą systemu DNS, zestawić komunikację przez wskazany port, przejść uwierzytelnianie i uzyskać uprawnienia do wykonania określonych operacji. Sam fakt, że komputer ma dostęp do internetu, nie oznacza jeszcze, że połączenie będzie możliwe. Dostęp może ograniczać zapora sieciowa, reguła adresów IP, prywatny punkt końcowy, konfiguracja sieci firmowej albo ustawienia konta użytkownika. Sieć, porty i szyfrowanie połączeniaNajczęściej wykorzystywanym protokołem transportowym przy połączeniach z bazami danych jest TCP. Dla klasycznego Microsoft SQL Server standardowym portem jest TCP 1433, natomiast konkretna usługa chmurowa może wymagać innego sposobu zestawiania sesji lub dodatkowych parametrów. Numer portu nie powinien być zgadywany na podstawie samej nazwy bazy. Należy sprawdzić dokumentację dostawcy, konfigurację instancji oraz ustawienia sterownika używanego przez aplikację. Połączenie powinno korzystać z szyfrowania TLS, aby dane uwierzytelniające, zapytania i wyniki nie były przesyłane otwartym tekstem. W praktyce znaczenie mają wersja biblioteki klienckiej, obsługiwane mechanizmy TLS, poprawna walidacja certyfikatu oraz zgodność nazwy hosta z certyfikatem serwera. Błąd certyfikatu może wynikać między innymi z nieaktualnego systemu, niewłaściwego zegara komputera, przestarzałego sterownika lub użycia adresu, który nie odpowiada nazwie zapisanej w certyfikacie. Uwierzytelnianie i kontrola uprawnieńChmurowa baza danych może wymagać logowania przy użyciu konta lokalnego dla usługi albo tożsamości zarządzanej przez dostawcę chmury. Te mechanizmy różnią się sposobem przechowywania poświadczeń, czasem ważności tokenu oraz zakresem przyznanych uprawnień. Aplikacja może poprawnie odnaleźć serwer, ale nadal otrzymać odmowę dostępu, jeśli konto nie ma praw do wskazanej bazy, schematu, tabeli lub konkretnej operacji. Podczas diagnozy warto rozdzielić błąd sieciowy od błędu uwierzytelniania. Brak odpowiedzi hosta, przekroczenie limitu czasu i odrzucenie połączenia przez zaporę wskazują na problem z trasą lub filtrowaniem ruchu. Komunikat o nieprawidłowym haśle, wygasłym tokenie albo braku uprawnień pojawia się dopiero po dotarciu żądania do usługi. Należy również sprawdzić, czy aplikacja korzysta z właściwego środowiska, ponieważ pomylenie adresu testowego z produkcyjnym może prowadzić do logowania do innej instancji niż zamierzona. Diagnostyka połączenia z poziomu komputeraSprawdzanie dostępu zdalnego najlepiej rozpocząć od ustalenia dokładnego adresu usługi, nazwy bazy, portu, metody logowania i sterownika. Następnie można zweryfikować rozwiązywanie nazwy DNS oraz podstawową osiągalność hosta. Sam test poleceniem ping nie przesądza o dostępności bazy, ponieważ wiele usług blokuje odpowiedzi ICMP. Bardziej miarodajne jest sprawdzenie, czy komputer może zestawić połączenie TCP z wymaganym hostem i portem, a później wykonanie próby logowania narzędziem przeznaczonym dla danego silnika. Jeżeli połączenie działa tylko z jednej sieci, należy porównać konfigurację routera, zapory systemowej, firmowego filtra ruchu oraz publicznego adresu IP dopuszczonego w regułach usługi. Gdy problem występuje po zmianie laptopa, aktualizacji systemu lub instalacji programu, trzeba sprawdzić sterownik, magazyn certyfikatów, zmienne konfiguracyjne i zapisane profile połączeń. W przypadku komputera używanego do pracy z aplikacją biznesową pomocna jest także analiza dzienników klienta oraz czasu wystąpienia błędu. Diagnostyka sprzętu może obejmować komputer, dysk i system operacyjny, natomiast przyczyna może znajdować się również w konfiguracji samej usługi chmurowej. |