다음을 통해 공유


DeviceCodeCredential 클래스

디바이스 코드 흐름을 통해 사용자를 인증합니다.

get_token 이 호출되면 이 자격 증명은 Azure Active Directory에서 확인 URL 및 코드를 획득합니다. 사용자는 URL로 이동하고, 코드를 입력하고, Azure Active Directory를 사용하여 인증해야 합니다. 사용자가 성공적으로 인증하면 자격 증명이 액세스 토큰을 받습니다.

이 자격 증명은 주로 SSH 세션과 같은 웹 브라우저가 없는 환경에서 사용자를 인증하는 데 유용합니다. 웹 브라우저를 사용할 수 있는 InteractiveBrowserCredential 경우 브라우저를 로그인 페이지로 자동으로 열기 때문에 더 편리합니다.

상속
azure.identity._internal.interactive.InteractiveCredential
DeviceCodeCredential

생성자

DeviceCodeCredential(client_id: str = '04b07795-8ddb-461a-bbee-02f9e1bf7b46', *, timeout: int | None = None, prompt_callback: Callable[[str, str, datetime], None] | None = None, **kwargs: Any)

매개 변수

client_id
str
기본값: 04b07795-8ddb-461a-bbee-02f9e1bf7b46

사용자가 인증할 애플리케이션의 클라이언트 ID입니다. 지정하지 않은 경우 사용자는 Azure 개발 애플리케이션에 인증합니다.

authority
str

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

tenant_id
str

Azure Active Directory 테넌트 ID입니다. 기본값은 회사 또는 학교 계정을 인증할 수 있는 "조직" 테넌트입니다. 단일 테넌트 애플리케이션에 필요합니다.

timeout
int

사용자가 인증할 때까지 대기하는 시간(초)입니다. 기본값은 Azure Active Directory에서 설정한 디바이스 코드의 유효 기간으로 설정되며, 시간 제한이 길어질 때도 우선합니다.

prompt_callback
Callable[str, str, datetime]

인증 지침이 표시되는 방식을 제어할 수 있는 콜백입니다. 인수(verification_uri, , user_code)를 expires_on수락해야 합니다.

  • verification_uri (str) 사용자가 방문해야 하는 URL

  • user_code (str) 사용자가 입력해야 하는 코드

  • expires_on (datetime.datetime) 코드가 만료되는 UTC 시간

이 인수가 제공되지 않으면 자격 증명이 stdout에 지침을 출력합니다.

authentication_record
AuthenticationRecord

AuthenticationRecord 반환한 다음 authenticate

disable_automatic_authentication
bool

True get_token 이면 은 토큰을 획득하기 위해 사용자 상호 작용이 필요할 때 발생 AuthenticationRequiredError 합니다. 기본값은 False입니다.

cache_persistence_options
TokenCachePersistenceOptions

영구 토큰 캐싱을 위한 구성입니다. 지정되지 않은 경우 자격 증명은 메모리에 토큰을 캐시합니다.

disable_instance_discovery
bool

인증을 시도할 때 instance 검색이 수행되는지 여부를 결정합니다. 이를 true로 설정하면 instance 검색 및 권한 유효성 검사가 모두 완전히 비활성화됩니다. 이 기능은 프라이빗 클라우드 또는 Azure Stack과 같이 메타데이터 엔드포인트에 연결할 수 없는 시나리오에서 사용하기 위한 것입니다. instance 검색 프로세스에는 인증 기관의 유효성을 검사하기 위해 에서 https://login.microsoft.com/ 기관 메타데이터를 검색해야 합니다. 이를 True로 설정하면 권한의 유효성 검사가 비활성화됩니다. 따라서 구성된 기관 호스트가 유효하고 신뢰할 수 있는지 확인하는 것이 중요합니다.

예제

DeviceCodeCredential을 만듭니다.


   from azure.identity import DeviceCodeCredential

   credential = DeviceCodeCredential()

메서드

authenticate

사용자를 대화형으로 인증합니다.

close
get_token

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

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

authenticate

사용자를 대화형으로 인증합니다.

authenticate(**kwargs: Any) -> AuthenticationRecord

매개 변수

scopes
Iterable[str]

는 에서 제공하는 것과 같이 인증 중에 요청할 범위입니다 scopes. 제공된 경우 성공적인 인증은 이러한 범위에 대한 액세스 토큰을 캐시합니다.

claims
str

토큰에 필요한 추가 클레임(예: 에서 제공하는 클레임) claims

반환 형식

예외

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

close

close() -> None

예외

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

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 특성은 이유를 제공합니다.

토큰을 획득하려면 사용자 상호 작용이 필요하며 자격 증명은 이를 자동으로 시작하지 않도록 구성됩니다. 호출

대화형 인증을 시작합니다.