DefaultAzureCredential 클래스
대부분의 Azure SDK 인증 시나리오를 처리할 수 있는 기본 자격 증명입니다.
사용하는 ID는 환경에 따라 다릅니다. 액세스 토큰이 필요한 경우 이러한 ID를 사용하여 토큰을 요청하여 토큰을 제공하는 경우 중지합니다.
환경 변수로 구성된 서비스 주체입니다. 자세한 내용은 EnvironmentCredential를 참조하세요.
환경 변수 구성이 Azure 워크로드 ID 웹후크에 의해 설정된 경우 WorkloadIdentityCredential입니다.
Azure 관리 ID. 자세한 내용은 ManagedIdentityCredential를 참조하세요.
Windows에서만 해당: Visual Studio와 같은 Microsoft 애플리케이션으로 로그인한 사용자입니다. 여러 ID가 캐시에 있는 경우 환경 변수
AZURE_USERNAME
의 값을 사용하여 사용할 ID를 선택합니다. 자세한 내용은 SharedTokenCacheCredential를 참조하세요.현재 Azure CLI에 로그인된 ID입니다.
현재 Azure PowerShell 로그인한 ID입니다.
현재 Azure Developer CLI 로그인한 ID입니다.
이 기본 동작은 키워드(keyword) 인수로 구성할 수 있습니다.
- 상속
-
azure.identity._credentials.chained.ChainedTokenCredentialDefaultAzureCredential
생성자
DefaultAzureCredential(**kwargs: Any)
매개 변수
- authority
- str
Azure Active Directory 엔드포인트의 기관(예: 'login.microsoftonline.com', 기본값인 Azure 퍼블릭 클라우드에 대한 기관). AzureAuthorityHosts 는 다른 클라우드에 대한 기관을 정의합니다. 관리 ID는 단일 클라우드에 있기 때문에 이를 무시합니다.
- exclude_workload_identity_credential
- bool
자격 증명에서 워크로드 ID를 제외할지 여부입니다. 기본값은 False입니다.
- exclude_developer_cli_credential
- bool
자격 증명에서 Azure Developer CLI 제외할지 여부입니다. 기본값은 False입니다.
- exclude_cli_credential
- bool
자격 증명에서 Azure CLI를 제외할지 여부입니다. 기본값은 False입니다.
- exclude_environment_credential
- bool
자격 증명에서 환경 변수로 구성된 서비스 주체를 제외할지 여부입니다. 기본값은 False입니다.
- exclude_managed_identity_credential
- bool
자격 증명에서 관리 ID를 제외할지 여부입니다. 기본값은 False입니다.
- exclude_powershell_credential
- bool
Azure PowerShell 제외할지 여부입니다. 기본값은 False입니다.
- exclude_visual_studio_code_credential
- bool
VS Code에서 저장된 자격 증명을 제외할지 여부입니다. 기본값은 True입니다.
- exclude_shared_token_cache_credential
- bool
공유 토큰 캐시를 제외할지 여부입니다. 기본값은 False입니다.
- exclude_interactive_browser_credential
- bool
대화형 브라우저 인증을 제외할지 여부(참조 InteractiveBrowserCredential). 기본값은 True입니다.
- interactive_browser_tenant_id
- str
를 통해 InteractiveBrowserCredential사용자를 인증할 때 사용할 테넌트 ID입니다. 기본값은 환경 변수 AZURE_TENANT_ID 값(있는 경우)입니다. 지정되지 않은 경우 사용자는 홈 테넌트에서 인증합니다.
- managed_identity_client_id
- str
사용자가 할당한 관리 ID의 클라이언트 ID입니다. 기본값은 환경 변수 AZURE_CLIENT_ID 값(있는 경우)입니다. 지정하지 않으면 시스템 할당 ID가 사용됩니다.
- workload_identity_client_id
- str
Pod에 할당된 ID의 클라이언트 ID입니다. 기본값은 환경 변수 AZURE_CLIENT_ID 값(있는 경우)입니다. 지정하지 않으면 Pod의 기본 ID가 사용됩니다.
- workload_identity_tenant_id
- str
에 대한 기본 테넌트입니다 WorkloadIdentityCredential. 기본값은 환경 변수 AZURE_TENANT_ID 값(있는 경우)입니다.
- interactive_browser_client_id
- str
대화형 브라우저 자격 증명에 사용할 클라이언트 ID입니다. 지정하지 않으면 사용자가 Azure 개발 애플리케이션에 인증합니다.
- shared_cache_username
- str
에 대한 기본 설정 사용자 이름입니다 SharedTokenCacheCredential. 기본값은 환경 변수 AZURE_USERNAME 값(있는 경우)입니다.
- shared_cache_tenant_id
- str
에 대한 기본 테넌트입니다 SharedTokenCacheCredential. 기본값은 환경 변수 AZURE_TENANT_ID 값(있는 경우)입니다.
- visual_studio_code_tenant_id
- str
를 사용하여 인증할 때 사용할 테넌트 ID입니다 VisualStudioCodeCredential. 기본값은 VS Code의 사용자 설정에서 "Azure: 테넌트" 설정이거나, 해당 설정에 값이 없는 경우 Azure Active Directory 회사 또는 학교 계정만 지원하는 "조직" 테넌트입니다.
- process_timeout
- int
하위 프로세스(예: AzureCliCredential, AzurePowerShellCredential)를 실행하는 개발자 자격 증명에 사용할 시간 제한(초)입니다. 기본값은 10 초입니다.
예제
DefaultAzureCredential을 만듭니다.
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
메서드
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
토큰 요청에 포함할 선택적 테넌트입니다.
반환
원하는 범위가 있는 액세스 토큰입니다.
반환 형식
예외
인증에 실패했습니다. 예외에는 각 인증 시도 및 해당 오류 메시지를 나열하는 메시지 특성이 있습니다.