ClientAssertionCredential 클래스

JWT 어설션을 사용하여 서비스 주체를 인증합니다.

이 자격 증명은 고급 시나리오용입니다. CertificateCredential 에는 인증서를 사용하여 서비스 주체를 인증하는 가장 일반적인 어설션 시나리오에 보다 편리한 API가 있습니다.

상속
azure.identity._internal.get_token_mixin.GetTokenMixin
ClientAssertionCredential

생성자

ClientAssertionCredential(tenant_id: str, client_id: str, func: Callable[[], str], **kwargs: Any)

매개 변수

tenant_id
str
필수

보안 주체 테넌트의 ID입니다. "디렉터리" ID라고도 합니다.

client_id
str
필수

보안 주체의 클라이언트 ID

func
필수

문자열 어설션을 반환하는 호출 가능한 입니다. 자격 증명은 새 토큰을 획득할 때마다 이를 호출합니다.

authority
str

Azure Active Directory 엔드포인트의 권한(예: "login.microsoftonline.com", 기본값인 Azure 퍼블릭 클라우드에 대한 기관). AzureAuthorityHosts 는 다른 클라우드에 대한 기관을 정의합니다.

additionally_allowed_tenants
List[str]

자격 증명이 토큰을 획득할 수 있는 지정된 "tenant_id" 외에 테넌트도 지정합니다. 자격 증명이 애플리케이션에서 액세스할 수 있는 테넌트의 토큰을 획득할 수 있도록 와일드카드 값 "*"을 추가합니다.

예제

ClientAssertionCredential을 만듭니다.


   from azure.identity import ClientAssertionCredential

   def get_assertion():
       return "<client-assertion>"

   credential = ClientAssertionCredential(
       tenant_id="<tenant_id>",
       client_id="<client_id>",
       func=get_assertion,
   )

메서드

close
get_token

범위에 대한 액세스 토큰을 요청 합니다.

이 메서드는 Azure SDK 클라이언트에서 자동으로 호출됩니다.

close

close() -> None

get_token

범위에 대한 액세스 토큰을 요청 합니다.

이 메서드는 Azure SDK 클라이언트에서 자동으로 호출됩니다.

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

매개 변수

scopes
str
필수

액세스 토큰에 대한 원하는 범위입니다. 이 메서드에는 하나 이상의 scope 필요합니다. 범위에 대한 자세한 내용은 를 참조하세요 https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.

claims
str

토큰에 필요한 추가 클레임(예: 권한 부여 실패 후 리소스 공급자의 클레임 챌린지에 반환된 클레임).

tenant_id
str

토큰 요청에 포함할 선택적 테넌트입니다.

enable_cae
bool

는 요청된 토큰에 대해 CAE(연속 액세스 평가)를 사용하도록 설정할지 여부를 나타냅니다. 기본값은 False입니다.

반환

원하는 범위가 있는 액세스 토큰입니다.

반환 형식

예외

필요한 데이터, 상태 또는 플랫폼 지원이 부족하여 자격 증명이 인증을 시도할 수 없습니다.

인증에 실패했습니다. 오류의 message 특성은 이유를 제공합니다.