Share via


WorkloadIdentityCredential Klass

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 .

Arv
azure.identity._credentials.client_assertion.ClientAssertionCredential
WorkloadIdentityCredential
azure.identity._credentials.workload_identity.TokenFileMixin
WorkloadIdentityCredential

Konstruktor

WorkloadIdentityCredential(*, tenant_id: str | None = None, client_id: str | None = None, token_file_path: str | None = None, **kwargs: Any)

Parametrar

tenant_id
str

ID för programmets Azure Active Directory-klientorganisation. Kallas även dess "katalog"-ID.

client_id
str

Klient-ID för en Azure AD appregistrering.

token_file_path
str

Sökvägen till en fil som innehåller en Kubernetes-tjänstkontotoken som autentiserar identiteten.

Exempel

Skapa en WorkloadIdentityCredential.


   from azure.identity import WorkloadIdentityCredential

   credential = WorkloadIdentityCredential(
       tenant_id="<tenant_id>",
       client_id="<client_id>",
       token_file_path="<token_file_path>",
   )

   # Parameters can be omitted if the following environment variables are set:
   #   - AZURE_TENANT_ID
   #   - AZURE_CLIENT_ID
   #   - AZURE_FEDERATED_TOKEN_FILE
   credential = WorkloadIdentityCredential()

Metoder

close
get_token

Begär en åtkomsttoken för omfång.

Den här metoden anropas automatiskt av Azure SDK-klienter.

close

close() -> None

get_token

Begär en åtkomsttoken för omfång.

Den här metoden anropas automatiskt av Azure SDK-klienter.

get_token(*scopes: str, claims: str | None = None, tenant_id: str | None = None, **kwargs: Any) -> AccessToken

Parametrar

scopes
str
Obligatorisk

önskade omfång för åtkomsttoken. Den här metoden kräver minst ett omfång. Mer information om omfång finns i https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.

claims
str

ytterligare anspråk som krävs i token, till exempel de som returneras i en resursproviders anspråksutmaning efter ett auktoriseringsfel.

tenant_id
str

valfri klientorganisation som ska ingå i tokenbegäran.

enable_cae
bool

anger om du vill aktivera kontinuerlig åtkomstutvärdering (CAE) för den begärda token. Standardvärdet är False.

Returer

En åtkomsttoken med önskade omfång.

Returtyp

Undantag

autentiseringsuppgiften kan inte försöka autentisera eftersom den saknar nödvändiga data, tillstånd eller plattformsstöd

autentiseringen misslyckades. Felets message attribut ger en orsak.