CertificateCredential 클래스
인증서를 사용하여 서비스 주체로 인증합니다.
이 자격 증명은 RS256을 사용하여 어설션에 서명하기 때문에 인증서에 RSA 프라이빗 키가 있어야 합니다. 인증서 인증 구성에 대한 자세한 내용은 Azure Active Directory 설명서를 참조하세요.
- 상속
-
azure.identity._internal.client_credential_base.ClientCredentialBaseCertificateCredential
생성자
CertificateCredential(tenant_id: str, client_id: str, certificate_path: str | None = None, **kwargs: Any)
매개 변수
- certificate_path
- str
프라이빗 키를 포함하여 PEM 또는 PKCS12 형식의 인증서 파일에 대한 선택적 경로입니다. 제공되지 않으면 certificate_data 필요합니다.
- authority
- str
Azure Active Directory 엔드포인트의 기관(예: "login.microsoftonline.com") Azure 퍼블릭 클라우드에 대한 권한(기본값). AzureAuthorityHosts 는 다른 클라우드에 대한 기관을 정의합니다.
- certificate_data
- bytes
프라이빗 키를 포함하여 PEM 또는 PKCS12 형식의 인증서 바이트
인증서의 암호입니다. 유니코드 문자열인 경우 UTF-8로 인코딩됩니다. 인증서에 다른 인코딩이 필요한 경우 적절하게 인코딩된 바이트를 대신 전달합니다.
- send_certificate_chain
- bool
True이면 자격 증명은 각 토큰 요청의 JWT의 x5c 헤더에 공용 인증서 체인을 보냅니다. 이는 SNI(주체 이름/발급자) 인증에 필요합니다. 기본값은 False입니다.
- cache_persistence_options
- TokenCachePersistenceOptions
영구 토큰 캐싱에 대한 구성입니다. 지정되지 않은 경우 자격 증명은 메모리에 토큰을 캐시합니다.
- disable_instance_discovery
- bool
인증을 시도할 때 instance 검색이 수행되는지 여부를 결정합니다. 이를 true로 설정하면 instance 검색 및 권한 유효성 검사가 모두 완전히 비활성화됩니다. 이 기능은 프라이빗 클라우드 또는 Azure Stack과 같이 메타데이터 엔드포인트에 연결할 수 없는 시나리오에서 사용하기 위한 것입니다. instance 검색 프로세스에는 인증 기관의 유효성을 검사하기 위해 에서 https://login.microsoft.com/ 기관 메타데이터를 검색해야 합니다. 이를 True로 설정하면 권한의 유효성 검사가 비활성화됩니다. 따라서 구성된 기관 호스트가 유효하고 신뢰할 수 있는지 확인하는 것이 중요합니다.
자격 증명이 토큰을 획득할 수 있는 지정된 "tenant_id" 외에 테넌트도 지정합니다. 자격 증명이 애플리케이션에서 액세스할 수 있는 테넌트의 토큰을 획득할 수 있도록 와일드카드 값 "*"을 추가합니다.
예제
CertificateCredential을 만듭니다.
from azure.identity import CertificateCredential
credential = CertificateCredential(
tenant_id="<tenant_id>",
client_id="<client_id>",
certificate_path="<path to PEM/PKCS12 certificate>",
password="<certificate password if necessary>",
)
# Certificate/private key byte data can also be passed directly
credential = CertificateCredential(
tenant_id="<tenant_id>",
client_id="<client_id>",
certificate_data=b"<cert data>",
)
메서드
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
특성은 이유를 제공합니다.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기