Dela via


aio Paket

Autentiseringsuppgifter för asynkrona Azure SDK-klienter.

Klasser

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 Azure Active Directory-dokumentationen .

AzureCliCredential

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

Detta kräver att du tidigare loggar in på Azure via "az login" och använder CLI:s 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ändare kan autentisera sig som en användare och/eller ett 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 den 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.

Om du vill 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 att du tidigare loggar in på Azure via "Connect-AzAccount" och använder den för tillfället inloggade identiteten.

CertificateCredential

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

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

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 tas 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 bekvämare API för det vanligaste kontrollscenariot och autentiserar tjänstens huvudnamn med ett certifikat.

ClientSecretCredential

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

DefaultAzureCredential

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

Vilken identitet den använder 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övariabelkonfigurationen anges av webhooken 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 cacheminnet 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. Den identitet som för närvarande är inloggad på Azure PowerShell.

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

Det här standardbeteendet kan konfigureras med nyckelordsargument.

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 ett 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.

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 ett av nyckelordsargumenten. Mer information om hur du konfigurerar hanterad identitet för program finns i Azure Active Directory-dokumentationen .

OnBehalfOfCredential

Autentiserar ett huvudnamn för tjänsten via flödet för å-vägnar.

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 de begär token för dem. Se Azure Active Directory-dokumentationen för en mer detaljerad beskrivning av on-behalf-of-flödet.

SharedTokenCacheCredential

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

VisualStudioCodeCredential

Autentiseras när Azure-användaren loggas in i 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 korrigering av det här problemet pågår. Under tiden bör du överväga att autentisera med AzureCliCredential.

WorkloadIdentityCredential

Autentiserar med hjälp av 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 tjänstens huvudnamn eller hanterade identitet behövs. Med autentisering av arbetsbelastningsidentitet autentiserar sig program med sin egen identitet i stället för att använda ett delat huvudnamn för tjänsten 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 autentisering av arbetsbelastningsidentitet kan du undvika behovet av att hantera och rotera tjänstens huvudnamn eller hanterade identiteter för varje program på varje virtuell dator. Eftersom sacs 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 autentisering av Azure-arbetsbelastningsidentitet 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 översikten över arbetsbelastningsidentiteter .