Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Czasami nie jest możliwe użycie uwierzytelniania interakcyjnego lub uwierzytelnianie jako konto użytkownika. Te sytuacje mogą wystąpić, gdy chcesz przesłać zadania z usługi internetowej, innej roli roboczej lub zautomatyzowanego systemu. Jedną z opcji jest skonfigurowanie tożsamości zarządzanej, a inną opcją jest użycie Service Principal, co zostanie wyjaśnione w tym artykule.
Wymaganie wstępne: Utwórz tożsamość usługi i tajny klucz aplikacji
Aby uwierzytelnić się jako jednostka usługi, należy najpierw utworzyć jednostkę usługi.
Aby utworzyć jednostkę usługi, przypisz dostęp i wygeneruj poświadczenia:
Tworzenie aplikacji usługi Azure AD:
Uwaga
Nie musisz ustawiać identyfikatora URI przekierowania.
- Po utworzeniu zapisz identyfikator aplikacji (klienta) oraz identyfikator katalogu (dzierżawy).
Utwórz poświadczenie , aby zalogować się jako aplikacja:
- W ustawieniach aplikacji wybierz pozycję Certyfikaty i tajne informacje.
- W obszarze Wpisy tajne klienta wybierz pozycję Utwórz nowy wpis tajny.
- Podaj opis i czas trwania, a następnie wybierz pozycję Dodaj.
- Skopiuj wartość sekretu do bezpiecznego miejsca natychmiast — nie będziesz mógł go ponownie zobaczyć!
Nadaj jednostce usługi uprawnienia dostępu do obszaru roboczego:
- Otwórz portal Azure.
- Na pasku wyszukiwania wprowadź nazwę grupy zasobów, w której utworzono obszar roboczy. Wybierz grupę zasobów, gdy pojawi się ona w wynikach.
- W przeglądzie grupy zasobów wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami).
- Wybierz Dodaj przypisanie roli.
- Wyszukaj i wybierz główną usługę.
- Przypisz rolę Współautora lub Właściciela.
Uwaga
Aby utworzyć przypisanie roli w grupie zasobów lub obszarze roboczym, musisz być właścicielem lub administratorem dostępu użytkownika w zakresie przypisania roli. Jeśli nie masz uprawnień do tworzenia jednostki usługi w ramach subskrypcji, musisz zażądać uprawnień od właściciela lub administratora subskrypcji platformy Azure.
Jeśli masz uprawnienia tylko na poziomie grupy zasobów lub obszaru roboczego, możesz utworzyć główne konto usługi w ramach roli Kontrybutor przy użyciu:
az ad sp create-for-rbac --role Contributor --scopes /subscriptions/<SUBSCRIPTION-ID>
Uwierzytelnij się jako główna jednostka usługi
Opcja 1: Użycie zmiennych środowiskowych: domyślne poświadczenia używane w tworzeniu Workspace obiektu to DefaultAzureCredential, który podejmie próbę uwierzytelniania kilku typów.
Pierwszy z nich to EnvironmentCredential, a za jej pomocą przekazujesz poświadczenia jednostki usługi za pośrednictwem następujących zmiennych środowiskowych:
- AZURE_TENANT_ID: identyfikator dzierżawy jednostki usługi. Nazywany również identyfikatorem katalogowym.
- AZURE_CLIENT_ID: identyfikator klienta głównej instancji usługi.
- AZURE_CLIENT_SECRET: jeden z tajnych kluczy klienta pryncypału usługi.
Opcja 2. Używanie elementu ClientSecretCredential: Przekazywanie elementu ClientSecretCredential podczas tworzenia wystąpienia Workspace obiektu lub ustawianie credentials właściwości.
from azure.identity import ClientSecretCredential
tenant_id = os.environ["AZURE_TENANT_ID"]
client_id = os.environ["AZURE_CLIENT_ID"]
client_secret = os.environ["AZURE_CLIENT_SECRET"]
credential = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
workspace.credentials = credential
Uwaga
Metoda workspace.login() została przestarzała i nie jest już konieczna. Przy pierwszym wywołaniu usługi zostanie podjęta próba uwierzytelnienia przy użyciu poświadczeń przekazanych w konstruktorze Workspace lub jego credentials właściwości. Jeśli nie przekazano żadnych poświadczeń, kilka metod uwierzytelniania będzie podejmowanych przez DefaultAzureCredential.