Rozważ uwierzytelnianie
Domyślnie dostęp do zasobów usług Azure AI jest ograniczony przy użyciu kluczy subskrypcji. Zarządzanie dostępem do tych kluczy jest główną kwestią w zakresie zabezpieczeń.
Wygeneruj ponownie klucze
Należy regularnie ponownie wygenerować klucze, aby chronić przed ryzykiem udostępniania kluczy lub uzyskiwania do nieautoryzowanych użytkowników. Klucze można ponownie wygenerować przy użyciu witryny Azure Portal lub polecenia interfejsu az cognitiveservices account keys regenerate
wiersza polecenia platformy Azure.
Każda usługa sztucznej inteligencji jest dostarczana z dwoma kluczami, umożliwiając ponowne generowanie kluczy bez przerw w działaniu usługi. Aby to osiągnąć:
- Jeśli używasz obu kluczy w środowisku produkcyjnym, zmień kod tak, aby był używany tylko jeden klucz. Na przykład skonfiguruj wszystkie aplikacje produkcyjne tak, aby używały klucza 1.
- Wygeneruj ponownie klucz 2.
- Przełącz wszystkie aplikacje produkcyjne, aby używać nowo wygenerowanego klucza 2.
- Wygeneruj ponownie klucz 1
- Na koniec zaktualizuj kod produkcyjny, aby użyć nowego klucza 1.
Aby na przykład wygenerować ponownie klucze w witrynie Azure Portal, możesz wykonać następujące czynności:
- W witrynie Azure Portal przejdź do okienka Klucze i punkt końcowy zasobu.
- Następnie wybierz pozycję Wygeneruj ponownie klucz1 lub wybierz pozycję Wygeneruj ponownie klucz2 w zależności od tego, który z nich chcesz ponownie wygenerować.
Ochrona kluczy za pomocą usługi Azure Key Vault
Azure Key Vault to usługa platformy Azure, w której można bezpiecznie przechowywać wpisy tajne (takie jak hasła i klucze). Dostęp do magazynu kluczy jest przyznawany podmiotom zabezpieczeń, które można traktować jako tożsamości użytkowników uwierzytelnionych przy użyciu identyfikatora Entra firmy Microsoft. Administracja istratory mogą przypisać jednostkę zabezpieczeń do aplikacji (w tym przypadku jest to nazwa główna usługi), aby zdefiniować tożsamość zarządzaną dla aplikacji. Następnie aplikacja może użyć tej tożsamości, aby uzyskać dostęp do magazynu kluczy i pobrać wpis tajny, do którego ma dostęp. Kontrolowanie dostępu do wpisu tajnego w ten sposób minimalizuje ryzyko naruszenia zabezpieczeń przez zakodowanie w aplikacji lub zapisanie w pliku konfiguracji.
Klucze subskrypcji dla zasobu usług sztucznej inteligencji można przechowywać w usłudze Azure Key Vault i przypisywać tożsamość zarządzaną do aplikacji klienckich, które muszą korzystać z usługi. Aplikacje mogą następnie pobierać klucz zgodnie z potrzebami z magazynu kluczy bez ryzyka ujawnienia go nieautoryzowanym użytkownikom.
Uwierzytelnianie oparte na tokenach
W przypadku korzystania z interfejsu REST niektóre usługi sztucznej inteligencji obsługują (a nawet wymagają) uwierzytelniania opartego na tokenach. W takich przypadkach klucz subskrypcji jest przedstawiany w początkowym żądaniu uzyskania tokenu uwierzytelniania, który ma ważny okres 10 minut. Kolejne żądania muszą przedstawić token, aby sprawdzić, czy obiekt wywołujący został uwierzytelniony.
Napiwek
W przypadku korzystania z zestawu SDK wywołania do uzyskiwania i prezentowania tokenu są obsługiwane przez zestaw SDK.
Uwierzytelnianie identyfikatora Entra firmy Microsoft
Usługi azure AI obsługują uwierzytelnianie identyfikatorów Entra firmy Microsoft, umożliwiając udzielanie dostępu do określonych jednostek usługi lub tożsamości zarządzanych dla aplikacji i usług działających na platformie Azure.
Uwaga
Aby uzyskać więcej informacji na temat opcji uwierzytelniania dla usług sztucznej inteligencji, zobacz dokumentację usług sztucznej inteligencji.
Istnieją różne sposoby uwierzytelniania w usługach Azure AI przy użyciu identyfikatora Entra firmy Microsoft, w tym:
Uwierzytelnianie przy użyciu jednostek usługi
Ogólny proces uwierzytelniania w usługach azure AI przy użyciu jednostek usługi jest następujący:
Tworzenie niestandardowej poddomeny
Możesz utworzyć niestandardową poddomenę na różne sposoby, w tym za pośrednictwem witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub programu PowerShell.
Możesz na przykład utworzyć poddomenę przy użyciu programu PowerShell w usłudze Azure Cloud Shell. W tym celu należy wybrać subskrypcję przy użyciu następującego polecenia:
Set-AzContext -SubscriptionName <Your-Subscription-Name>
Następnie utworzysz zasób usług Azure AI, określając niestandardową poddomenę, uruchamiając następujące polecenie:
$account = New-AzCognitiveServicesAccount -ResourceGroupName <your-resource-group-name> -name <your-account-name> -Type <your-account-type> -SkuName <your-sku-type> -Location <your-region> -CustomSubdomainName <your-unique-subdomain-name>
Po utworzeniu nazwa poddomeny zostanie zwrócona w odpowiedzi.
Przypisywanie roli do jednostki usługi
Utworzono zasób usługi Azure AI połączony z niestandardową poddomeną. Następnie przypiszesz rolę do jednostki usługi.
Aby rozpocząć, musisz zarejestrować aplikację. W tym celu uruchom następujące polecenie:
$SecureStringPassword = ConvertTo-SecureString -String <your-password> -AsPlainText -Force
$app = New-AzureADApplication -DisplayName <your-app-display-name> -IdentifierUris <your-app-uris> -PasswordCredentials $SecureStringPassword
Spowoduje to utworzenie zasobu aplikacji.
Następnie użyj polecenia New-AzADServicePrincipal , aby utworzyć jednostkę usługi i podać identyfikator aplikacji:
New-AzADServicePrincipal -ApplicationId <app-id>
Na koniec przypiszesz rolę Użytkownicy usług Cognitive Services do jednostki usługi, uruchamiając polecenie:
New-AzRoleAssignment -ObjectId <your-service-principal-object-id> -Scope <account-id> -RoleDefinitionName "Cognitive Services User"
Uwierzytelnianie przy użyciu tożsamości zarządzanych
Tożsamości zarządzane są dostępne w dwóch typach:
- Tożsamość zarządzana przypisana przez system: tożsamość zarządzana jest tworzona i połączona z określonym zasobem, takim jak maszyna wirtualna, która musi uzyskiwać dostęp do usług Azure AI. Po usunięciu zasobu tożsamość zostanie również usunięta.
- Tożsamość zarządzana przypisana przez użytkownika: tożsamość zarządzana jest tworzona do użycia przez wiele zasobów zamiast być powiązana z jednym. Istnieje niezależnie od dowolnego pojedynczego zasobu.
Każdy typ tożsamości zarządzanej można przypisać do zasobu podczas tworzenia zasobu lub po jego utworzeniu.
Załóżmy na przykład, że masz maszynę wirtualną na platformie Azure, której zamierzasz używać do codziennego dostępu do usług Azure AI. Aby włączyć tożsamość przypisaną przez system dla tej maszyny wirtualnej, najpierw upewnij się, że twoje konto platformy Azure ma rolę Współautor maszyny wirtualnej. Następnie możesz uruchomić następujące polecenie przy użyciu interfejsu wiersza polecenia platformy Azure w terminalu usługi Azure Cloud Shell:
az vm identity assign -g <my-resource-group> -n <my-vm>
Następnie możesz udzielić dostępu do usług azure AI w witrynie Azure Portal przy użyciu następujących elementów:
Przejdź do zasobu usług Azure AI, który chcesz udzielić tożsamości zarządzanej maszyny wirtualnej.
W panelu przeglądu wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami).
Wybierz pozycję Dodaj, a następnie wybierz pozycję Dodaj przypisanie roli.
Na karcie Rola wybierz pozycję Współautor usług Cognitive Services.
Na karcie Członkowie w polu Przypisz dostęp do wybierz pozycję Tożsamość zarządzana. Następnie wybierz pozycję + Wybierz członków.
Upewnij się, że twoja subskrypcja została wybrana na liście rozwijanej Subskrypcja. W obszarze Tożsamość zarządzana wybierz pozycję Maszyna wirtualna.
Wybierz maszynę wirtualną z listy, a następnie wybierz pozycję Wybierz.
Na koniec wybierz pozycję Przejrzyj i przypisz do przeglądu, a następnie ponownie przejrzyj i przypisz , aby zakończyć.
Uwaga
Aby uzyskać więcej informacji na temat konfigurowania tożsamości zarządzanych, w tym tożsamości zarządzanych przez użytkownika, zobacz Konfigurowanie tożsamości zarządzanych dla zasobu platformy Azure na maszynie wirtualnej platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure