Najlepsze rozwiązania dotyczące uwierzytelniania
Najważniejszą częścią aplikacji jest jej bezpieczeństwo. Bez względu na to, jak dobre może być środowisko użytkownika, jeśli aplikacja nie jest bezpieczna, haker może go zniszczyć.
Poniżej przedstawiono kilka wskazówek, aby zapewnić bezpieczeństwo aplikacji usługi Azure Maps. W przypadku korzystania z platformy Azure zapoznaj się z dostępnymi narzędziami zabezpieczeń. Aby uzyskać więcej informacji, zobacz wprowadzenie do zabezpieczeń platformy Azure.
Informacje o zagrożeniach bezpieczeństwa
Hakerzy uzyskujący dostęp do twojego konta mogą potencjalnie spowodować nieograniczone rozliczanie transakcji, co spowoduje nieoczekiwane koszty i zmniejszenie wydajności z powodu limitów QPS.
Rozważając najlepsze rozwiązania dotyczące zabezpieczania aplikacji usługi Azure Maps, należy poznać dostępne różne opcje uwierzytelniania.
Najlepsze rozwiązania dotyczące uwierzytelniania w usłudze Azure Maps
Podczas tworzenia publicznie dostępnych aplikacji klienckich za pomocą usługi Azure Maps należy upewnić się, że wpisy tajne uwierzytelniania nie są publicznie dostępne.
Uwierzytelnianie oparte na kluczu subskrypcji (klucz wspólny) może być używane w aplikacjach po stronie klienta lub usługach internetowych, jednak jest to najmniej bezpieczne podejście do zabezpieczania aplikacji lub usługi internetowej. Przyczyną jest to, że klucz jest łatwo uzyskiwany z żądania HTTP i udziela dostępu do wszystkich interfejsów API REST usługi Azure Maps dostępnych w jednostce SKU (warstwa cenowa). Jeśli używasz kluczy subskrypcji, pamiętaj, aby regularnie je wymieniać i pamiętaj, że klucz wspólny nie zezwala na konfigurowalny okres istnienia, należy to zrobić ręcznie. Należy również rozważyć użycie uwierzytelniania za pomocą klucza współużytkowanego w usłudze Azure Key Vault, co umożliwia bezpieczne przechowywanie wpisu tajnego na platformie Azure.
W przypadku korzystania z uwierzytelniania microsoft Entra lub uwierzytelniania tokenu sygnatury dostępu współdzielonego (SAS) dostęp do interfejsów API REST usługi Azure Maps jest autoryzowany przy użyciu kontroli dostępu opartej na rolach (RBAC). Kontrola dostępu oparta na rolach umożliwia kontrolowanie dostępu do wystawionych tokenów. Należy rozważyć, jak długo należy udzielić dostępu dla tokenów. W przeciwieństwie do uwierzytelniania za pomocą klucza współużytkowanego można skonfigurować okres istnienia tych tokenów.
Napiwek
Aby uzyskać więcej informacji na temat konfigurowania okresów istnienia tokenów, zobacz:
Publiczny klient i poufne aplikacje klienckie
Istnieją różne obawy dotyczące zabezpieczeń między publicznymi i poufnymi aplikacjami klienckimi. Aby uzyskać więcej informacji na temat tego, co jest uznawane za publiczne i poufne aplikacje klienckie, zobacz Publiczna aplikacja kliencka i poufne aplikacje klienckie w dokumentacji Platforma tożsamości Microsoft.
Publiczne aplikacje klienckie
W przypadku aplikacji uruchamianych na urządzeniach lub komputerach stacjonarnych lub w przeglądarce internetowej należy rozważyć zdefiniowanie domen mających dostęp do konta usługi Azure Map przy użyciu współużytkowania zasobów między źródłami (CORS). Mechanizm CORS instruuje przeglądarkę klientów, w której źródła takie jak "https://microsoft.com" mogą żądać zasobów dla konta usługi Azure Map.
Uwaga
Jeśli tworzysz serwer internetowy lub usługę, konto usługi Azure Maps nie musi być skonfigurowane przy użyciu mechanizmu CORS. Jeśli masz kod JavaScript w aplikacji internetowej po stronie klienta, mechanizm CORS ma zastosowanie.
Poufne aplikacje klienckie
W przypadku aplikacji uruchamianych na serwerach (takich jak usługi internetowe i aplikacje usługi/demona), jeśli wolisz uniknąć nakładu pracy i złożoności zarządzania wpisami tajnymi, rozważ użycie tożsamości zarządzanych. Tożsamości zarządzane mogą zapewnić tożsamość usługi internetowej do użycia podczas nawiązywania połączenia z usługą Azure Maps przy użyciu uwierzytelniania firmy Microsoft Entra. Jeśli tak, usługa internetowa używa tej tożsamości do uzyskania wymaganych tokenów firmy Microsoft Entra. Należy użyć kontroli dostępu opartej na rolach platformy Azure, aby skonfigurować dostęp do usługi internetowej przy użyciu możliwych ról o najniższych uprawnieniach .