Zarządzanie tożsamościami i dostępem dla aplikacji języka Python na platformie Azure

Na platformie Azure zarządzanie tożsamościami i dostępem (IAM) dla aplikacji języka Python obejmuje dwie kluczowe pojęcia:

  • Uwierzytelnianie: weryfikowanie tożsamości użytkownika, grupy, usługi lub aplikacji
  • Autoryzacja: określanie, jakie akcje tożsamość może wykonywać w zasobach Azure

Platforma Azure oferuje wiele opcji zarządzanie dostępem i tożsamościami, aby dopasować je do wymagań dotyczących zabezpieczeń aplikacji. Ten artykuł zawiera linki do podstawowych zasobów, które pomogą Ci rozpocząć pracę.

Aby dowiedzieć się więcej, zobacz Zalecenia dotyczące zarządzania tożsamościami i dostępem.

Połączenia bez hasła

Jeśli to możliwe, użyj tożsamości zarządzanych, aby uprościć zarządzanie tożsamościami i zwiększyć bezpieczeństwo. Tożsamości zarządzane umożliwiają uwierzytelnianie bez hasła, dlatego nie trzeba umieszczać poufnych poświadczeń, takich jak hasła lub klucze tajne klienta, w kodzie ani w zmiennych środowiskowych. Usługi platformy Azure, takie jak App Service, Azure Functions i Azure Container Apps, obsługują tożsamości zarządzane. Za pomocą tożsamości zarządzanych aplikacje mogą uwierzytelniać się w usługach Azure bez zarządzania poświadczeniami.

W poniższych zasobach pokazano, jak używać Azure SDK do Python z uwierzytelnianiem bez hasła za pomocą ustawienia DefaultAzureCredential. DefaultAzureCredential jest idealnym rozwiązaniem dla większości aplikacji działających na platformie Azure, ponieważ bezproblemowo obsługuje zarówno lokalne środowiska programistyczne, jak i produkcyjne, łącząc wiele typów poświadczeń w bezpiecznej i inteligentnej kolejności.

Łącznik serwisowy

Wiele zasobów platformy Azure często używanych w aplikacjach języka Python obsługuje łącznik usługi. Łącznik usług usprawnia proces konfigurowania bezpiecznych połączeń między usługami platformy Azure. Automatyzuje konfigurowanie uwierzytelniania, dostępu do sieci i parametrów połączenia między usługami obliczeniowymi (takimi jak App Service lub Container Apps) i usługami zależnymi (takimi jak Azure Storage, Azure SQL lub Cosmos DB). Ta automatyzacja zmniejsza ręczne kroki, pomaga wymusić najlepsze rozwiązania (takie jak używanie tożsamości zarządzanych i prywatnych punktów końcowych) oraz zwiększa spójność wdrożenia i zabezpieczenia.

Key Vault

Użycie rozwiązania do zarządzania kluczami, takiego jak Azure Key Vault, zapewnia większą kontrolę nad wpisami tajnymi i poświadczeniami, choć zwiększa złożoność zarządzania.

Uwierzytelnianie i tożsamość na potrzeby logowania użytkowników w aplikacjach

Możesz tworzyć aplikacje Python, które umożliwiają użytkownikom logowanie się przy użyciu tożsamości Microsoft, takich jak konta Microsoft Entra ID lub zewnętrzne konta społecznościowe, takie jak Google lub Facebook. Po uwierzytelnieniu aplikacja może autoryzować użytkowników do uzyskiwania dostępu do własnych interfejsów API lub interfejsów API firmy Microsoft, takich jak Microsoft Graph, w celu interakcji z zasobami, takimi jak profile użytkowników, kalendarze i wiadomości e-mail.