Dela via


identity Paket

Autentiseringsuppgifter för Azure SDK-klienter.

Paket

aio

Autentiseringsuppgifter för asynkrona Azure SDK-klienter.

Klasser

AuthenticationRecord

Icke-hemlig kontoinformation för en autentiserad användare

Den här klassen aktiverar DeviceCodeCredential och InteractiveBrowserCredential kan komma åt tidigare cachelagrade autentiseringsdata. Program bör inte skapa instanser av den här klassen. De bör i stället hämta en från autentiseringsmetoden för en autentiseringsuppgift, till exempel authenticate. Mer information finns i user_authentication exempel.

AuthenticationRequiredError

Interaktiv autentisering krävs för att hämta en token.

Det här felet utlöses endast av interaktiva användarautentiseringsuppgifter som konfigurerats för att inte automatiskt fråga efter användarinteraktion efter behov. Dess egenskaper ger ytterligare information som kan krävas för att autentisera. Det control_interactive_prompts exemplet visar hur du hanterar det här felet genom att anropa autentiseringsuppgiftens "autentisera"-metod.

AuthorizationCodeCredential

Autentiserar genom att lösa in en auktoriseringskod som tidigare erhållits från Azure Active Directory.

Mer information om autentiseringsflödet finns i Dokumentation om Azure Active Directory .

AzureAuthorityHosts

Autentiseringsuppgifter för Azure SDK-klienter.

AzureCliCredential

Autentiserar genom att begära en token från Azure CLI.

Detta kräver tidigare inloggning till Azure via "az login" och använder CLI:ets för närvarande inloggade identitet.

AzureDeveloperCliCredential

Autentiserar genom att begära en token från Azure Developer CLI.

Azure Developer CLI är ett kommandoradsgränssnittsverktyg som gör att utvecklare kan skapa, hantera och distribuera resurser i Azure. Den bygger på Azure CLI och ger ytterligare funktioner som är specifika för Azure-utvecklare. Det gör att användarna kan autentisera sig som användare och/eller tjänsthuvudnamn mot Azure Active Directory (Azure AD). AzureDeveloperCliCredential autentiseras i en utvecklingsmiljö och hämtar en token för den inloggade användaren eller tjänstens huvudnamn i Azure Developer CLI. Den fungerar som Azure Developer CLI inloggade användaren eller tjänstens huvudnamn och kör ett Azure CLI-kommando under för att autentisera programmet mot Azure Active Directory.

För att kunna använda den här autentiseringsuppgiften måste utvecklaren autentisera lokalt i Azure Developer CLI med något av kommandona nedan:

  • Kör "azd auth login" i Azure Developer CLI för att autentisera interaktivt som användare.

  • Kör "azd auth login – client-id 'client_id' –client-secret 'client_secret' –tenant-id 'tenant_id'" för att autentisera som tjänstens huvudnamn.

Du kan behöva upprepa den här processen efter en viss tidsperiod, beroende på giltigheten för uppdateringstoken i din organisation. I allmänhet är giltighetsperioden för uppdateringstoken några veckor till några månader. AzureDeveloperCliCredential uppmanar dig att logga in igen.

AzurePowerShellCredential

Autentiserar genom att begära en token från Azure PowerShell.

Detta kräver tidigare inloggning till Azure via "Connect-AzAccount" och använder den för närvarande inloggade identiteten.

CertificateCredential

Autentiseras som tjänstens huvudnamn med hjälp av ett certifikat.

Certifikatet måste ha en privat RSA-nyckel eftersom den här autentiseringsuppgiften tecknar intyg med RS256. Mer information om hur du konfigurerar certifikatautentisering finns i Dokumentation om Azure Active Directory .

ChainedTokenCredential

En sekvens med autentiseringsuppgifter som i sig är en autentiseringsuppgift.

Dess get_token metod anropar get_token varje autentiseringsuppgift i sekvensen i ordning och returnerar den första giltiga token som tagits emot.

ClientAssertionCredential

Autentiserar ett huvudnamn för tjänsten med en JWT-försäkran.

Den här autentiseringsuppgiften är avsedd för avancerade scenarier. CertificateCredential har ett mer praktiskt API för det vanligaste kontrollscenariot och autentiserar ett huvudnamn för tjänsten med ett certifikat.

ClientSecretCredential

Autentiseras som tjänstens huvudnamn med hjälp av en klienthemlighet.

CredentialUnavailableError

Autentiseringsuppgiften försökte inte autentisera eftersom nödvändiga data eller tillstånd inte är tillgängliga.

DefaultAzureCredential

En standardautentiseringsuppgift som kan hantera de flesta Azure SDK-autentiseringsscenarier.

Identiteten som används beror på miljön. När en åtkomsttoken behövs begär den en med hjälp av dessa identiteter i sin tur och stoppas när en ger en token:

  1. Ett huvudnamn för tjänsten som konfigurerats av miljövariabler. Mer EnvironmentCredential information finns i.

  2. WorkloadIdentityCredential om miljövariabelkonfiguration anges av Webhook för Azure-arbetsbelastningsidentitet.

  3. En hanterad Azure-identitet. Mer ManagedIdentityCredential information finns i.

  4. Endast i Windows: en användare som har loggat in med ett Microsoft-program, till exempel Visual Studio. Om flera identiteter finns i cachen används värdet för miljövariabeln AZURE_USERNAME för att välja vilken identitet som ska användas. Mer SharedTokenCacheCredential information finns i.

  5. Den identitet som för närvarande är inloggad i Azure CLI.

  6. Identiteten som för närvarande är inloggad i Azure PowerShell.

  7. Identiteten som för närvarande är inloggad på Azure Developer CLI.

Det här standardbeteendet kan konfigureras med nyckelordsargument.

DeviceCodeCredential

Autentiserar användare via enhetskodflödet.

När get_token anropas hämtar den här autentiseringsuppgiften en verifierings-URL och kod från Azure Active Directory. En användare måste bläddra till URL:en, ange koden och autentisera med Azure Active Directory. Om användaren autentiserar får autentiseringsuppgifterna en åtkomsttoken.

Den här autentiseringsuppgiften är främst användbar för att autentisera en användare i en miljö utan webbläsare, till exempel en SSH-session. Om en webbläsare är tillgänglig InteractiveBrowserCredential är det enklare eftersom den automatiskt öppnar en webbläsare på inloggningssidan.

EnvironmentCredential

En autentiseringsuppgift som konfigurerats av miljövariabler.

Den här autentiseringsuppgiften kan autentiseras som tjänstens huvudnamn med hjälp av en klienthemlighet eller ett certifikat, eller som en användare med användarnamn och lösenord. Konfigurationen görs i den här ordningen med hjälp av följande miljövariabler:

Tjänstens huvudnamn med hemlighet:

  • AZURE_TENANT_ID: ID för tjänstens huvudnamns klientorganisation. Kallas även dess katalog-ID.

  • AZURE_CLIENT_ID: tjänstens huvudnamns klient-ID

  • AZURE_CLIENT_SECRET: en av tjänstens huvudnamns klienthemligheter

  • AZURE_AUTHORITY_HOST: utfärdare av en Azure Active Directory-slutpunkt, till exempel "login.microsoftonline.com", utfärdaren för Azure Public Cloud, som är standard när inget värde anges.

Tjänstens huvudnamn med certifikat:

  • AZURE_TENANT_ID: ID för tjänstens huvudnamns klientorganisation. Kallas även dess katalog-ID.

  • AZURE_CLIENT_ID: tjänstens huvudnamns klient-ID

  • AZURE_CLIENT_CERTIFICATE_PATH: sökväg till en PEM- eller PKCS12-certifikatfil inklusive den privata nyckeln.

  • AZURE_CLIENT_CERTIFICATE_PASSWORD: (valfritt) lösenord för certifikatfilen, om det finns något.

  • AZURE_AUTHORITY_HOST: utfärdare av en Azure Active Directory-slutpunkt, till exempel "login.microsoftonline.com", utfärdaren för Azure Public Cloud, som är standard när inget värde anges.

Användare med användarnamn och lösenord:

  • AZURE_CLIENT_ID: programmets klient-ID

  • AZURE_USERNAME: ett användarnamn (vanligtvis en e-postadress)

  • AZURE_PASSWORD: användarens lösenord

  • AZURE_TENANT_ID: (valfritt) ID för tjänstens huvudnamns klientorganisation. Kallas även dess katalog-ID. Om det inte tillhandahålls är standardinställningen "organisationer" klientorganisation, som endast stöder Azure Active Directory-arbets- eller skolkonton.

  • AZURE_AUTHORITY_HOST: utfärdare av en Azure Active Directory-slutpunkt, till exempel "login.microsoftonline.com", utfärdaren för Azure Public Cloud, som är standard när inget värde anges.

InteractiveBrowserCredential

Öppnar en webbläsare för att interaktivt autentisera en användare.

get_token öppnar en webbläsare till en inloggnings-URL som tillhandahålls av Azure Active Directory och autentiserar en användare där med auktoriseringskodflödet, med hjälp av PKCE (Proof Key for Code Exchange) internt för att skydda koden.

KnownAuthorities

Alias för AzureAuthorityHosts

ManagedIdentityCredential

Autentiserar med en Hanterad Azure-identitet i alla värdmiljöer som stöder hanterade identiteter.

Den här autentiseringsuppgiften använder som standard en systemtilldelad identitet. Om du vill konfigurera en användartilldelad identitet använder du något av nyckelordsargumenten. Mer information om hur du konfigurerar hanterad identitet för program finns i Dokumentation om Azure Active Directory .

OnBehalfOfCredential

Autentiserar ett huvudnamn för tjänsten via å-behalf-of-flödet.

Det här flödet används vanligtvis av mellannivåtjänster som auktoriserar begäranden till andra tjänster med en delegerad användaridentitet. Eftersom detta inte är ett interaktivt autentiseringsflöde måste ett program som använder det ha administratörsmedgivande för eventuella delegerade behörigheter innan token begärs för dem. Se Azure Active Directory-dokumentationen för en mer detaljerad beskrivning av flödets räkning.

SharedTokenCacheCredential

Autentiserar med hjälp av token i den lokala cachen som delas mellan Microsoft-program.

TokenCachePersistenceOptions

Alternativ för beständig cachelagring av token.

De flesta autentiseringsuppgifterna accepterar en instans av den här klassen för att konfigurera beständig tokencachelagring. Standardvärdena konfigurerar en autentiseringsuppgift för att använda en cache som delas med Microsofts utvecklarverktyg och SharedTokenCacheCredential. Om du vill isolera data för en autentiseringsuppgift från andra program anger du ett namn för cachen.

Som standard krypteras cachen med den aktuella plattformens API för användardataskydd och genererar ett fel när detta inte är tillgängligt. Om du vill konfigurera cachen så att den återgår till en okrypterad fil i stället för att skapa ett fel anger du allow_unencrypted_storage=Sant.

Varning

Cachen innehåller autentiseringshemligheter. Om cacheminnet inte är krypterat är skyddet det

programmets ansvar. Ett intrång i dess innehåll kommer att helt kompromettera konton.

UsernamePasswordCredential

Autentiserar en användare med användarnamn och lösenord.

I allmänhet rekommenderar Microsoft inte den här typen av autentisering eftersom den är mindre säker än andra autentiseringsflöden.

Autentisering med den här autentiseringsuppgiften är inte interaktiv, så den är inte kompatibel med någon form av multifaktorautentisering eller medgivandefråga. Programmet måste redan ha medgivande från användaren eller en katalogadministratör.

Den här autentiseringsuppgiften kan bara autentisera arbets- och skolkonton. Microsoft-konton stöds inte. Mer information om kontotyper finns i Azure Active Directory-dokumentationen .

VisualStudioCodeCredential

Autentiseras när Azure-användaren loggas in på Visual Studio Code via tillägget "Azure-konto".

Det är ett känt problem att den här autentiseringsuppgiften inte fungerar med azure-kontotilläggsversioner som är nyare än 0.9.11. En långsiktig lösning på det här problemet pågår. Under tiden bör du överväga att autentisera med AzureCliCredential.

WorkloadIdentityCredential

Autentiserar med en Azure Active Directory-arbetsbelastningsidentitet.

Autentisering av arbetsbelastningsidentitet är en funktion i Azure som gör att program som körs på virtuella datorer (VM) kan komma åt andra Azure-resurser utan att behöva ett huvudnamn för tjänsten eller en hanterad identitet. Med autentisering av arbetsbelastningsidentitet autentiserar program sig själva med sin egen identitet i stället för att använda ett delat tjänsthuvudnamn eller hanterad identitet. Under huven använder arbetsbelastningsidentitetsautentisering begreppet autentiseringsuppgifter för tjänstkonto (SACs), som skapas automatiskt av Azure och lagras säkert på den virtuella datorn. Genom att använda arbetsbelastningsidentitetsautentisering kan du undvika behovet av att hantera och rotera tjänstens huvudnamn eller hanterade identiteter för varje program på varje virtuell dator. Eftersom SAC:er skapas automatiskt och hanteras av Azure behöver du inte bekymra dig om att lagra och skydda känsliga autentiseringsuppgifter själva.

WorkloadIdentityCredential stöder Azure-arbetsbelastningsidentitetsautentisering i Azure Kubernetes och hämtar en token med autentiseringsuppgifterna för tjänstkontot som är tillgängliga i Azure Kubernetes-miljön. Mer information finns i den här arbetsbelastningsidentitetsöversikten .