Ytterligare metoder för att autentisera till Azure-resurser från Python-appar

Den här artikeln innehåller ytterligare metoder som appar kan använda för att autentisera till Azure-resurser. Metoderna i den här artikeln är mindre vanliga. När det är möjligt rekommenderar vi att du använder någon av metoderna som beskrivs i autentisera Python-appar till Azure med hjälp av Översikt över Azure SDK.

Interaktiv webbläsarautentisering

Den här metoden autentiserar ett program interaktivt genom att samla in användaruppgifter via InteractiveBrowserCredential i standardsystemet.

Interaktiv webbläsarautentisering aktiverar programmet för alla åtgärder som tillåts av autentiseringsuppgifterna för interaktiv inloggning. Om du är ägare eller administratör för din prenumeration har koden därför inbyggd åtkomst till de flesta resurser i prenumerationen utan att behöva tilldela några specifika behörigheter. Därför rekommenderas inte användning av interaktiv webbläsarautentisering för allt annat än experimentering.

Aktivera program för interaktiv webbläsarautentisering

Utför följande steg för att göra det möjligt för programmet att autentisera via det interaktiva webbläsarflödet. De här stegen fungerar även för enhetskodautentisering som beskrivs senare. Att följa den här processen är bara nödvändigt om du använder InteractiveBrowserCredential i koden.

  1. I Azure-portalen går du till Microsoft Entra-ID och väljer Appregistreringar på den vänstra menyn.

  2. Välj registreringen för din app och välj sedan Autentisering.

  3. Under Avancerade inställningar väljer du Ja för Tillåt offentliga klientflöden.

  4. Välj Spara för att tillämpa ändringarna.

  5. Om du vill auktorisera programmet för specifika resurser navigerar du till den aktuella resursen, väljer API-behörigheter och aktiverar Microsoft Graph och andra resurser som du vill komma åt. Microsoft Graph är aktiverat som standard.

    Viktigt!

    Du måste också vara administratör för din klientorganisation för att bevilja samtycke till ditt program när du loggar in för första gången.

Om du inte kan konfigurera alternativet för enhetskodflöde i Active Directory kan programmet behöva vara multitenant. Om du vill göra den här ändringen går du till panelen Autentisering , väljer Konton i en organisationskatalog (under Kontotyper som stöds) och väljer sedan Ja för Tillåt offentliga klientflöden.

Exempel med InteractiveBrowserCredential

I följande exempel visas hur du använder en InteractiveBrowserCredential för att autentisera med SubscriptionClient.

# Show Azure subscription information

import os
from azure.identity import InteractiveBrowserCredential
from azure.mgmt.resource import SubscriptionClient

credential = InteractiveBrowserCredential()
subscription_client = SubscriptionClient(credential)

subscription = next(subscription_client.subscriptions.list())
print(subscription.subscription_id)

För mer exakt kontroll, till exempel omdirigerings-URI:er, kan du ange specifika argument till till InteractiveBrowserCredential exempel redirect_uri.

Autentisering av enhetskod

Den här metoden autentiserar en användare interaktivt på enheter med begränsat användargränssnitt (vanligtvis enheter utan tangentbord):

  1. När programmet försöker autentisera uppmanar autentiseringsuppgifterna användaren med en URL och en autentiseringskod.
  2. Användaren besöker URL:en på en separat webbläsaraktiverad enhet (en dator, smartphone osv.) och anger koden.
  3. Användaren följer en normal autentiseringsprocess i webbläsaren.
  4. Vid lyckad autentisering autentiseras programmet på enheten.

Mer information, se Microsofts identitetsplattform och OAuth 2.0-enhetsauktoriseringsflöde.

Enhetskodautentisering i en utvecklingsmiljö möjliggör programmet för alla åtgärder som tillåts av autentiseringsuppgifterna för interaktiv inloggning. Om du är ägare eller administratör för din prenumeration har koden därför inbyggd åtkomst till de flesta resurser i prenumerationen utan att behöva tilldela några specifika behörigheter. Du kan dock använda den här metoden med ett specifikt klient-ID, i stället för standardvärdet, som du kan tilldela specifika behörigheter för.