Share via


@azure/identity package

클래스

AggregateAuthenticationError

errorsChainedTokenCredential의 자격 증명에서 인증 실패에 대한 AuthenticationError instance 포함하는 배열을 제공합니다.

AuthenticationError

Azure Active Directory 인증 실패에 대한 세부 정보를 제공합니다. 필드에는 errorResponse 특정 오류에 대한 자세한 내용이 포함되어 있습니다.

AuthenticationRequiredError

토큰을 자동으로 검색하려고 시도한 후 인증을 적용하는 데 사용되는 오류입니다.

AuthorizationCodeCredential

Microsoft Entra ID 설명서에 자세히 설명된 권한 부여 코드 흐름을 통해 얻은 권한 부여 코드를 사용하여 인증을 Microsoft Entra ID 수 있습니다.

https://learn.microsoft.com/entra/identity-platform/v2-oauth2-auth-code-flow

AzureCliCredential

이 자격 증명은 Azure CLI('az') 명령줄 도구를 통해 현재 로그인한 사용자 로그인 정보를 사용합니다. 이렇게 하려면 사용자 액세스 토큰을 읽고 Azure CLI 명령 "az account get-access-token"을 사용하여 시간을 만료합니다.

AzureDeveloperCliCredential

Azure Developer CLI 개발자가 Azure에서 리소스를 만들고, 관리하고, 배포할 수 있는 명령줄 인터페이스 도구입니다. Azure CLI를 기반으로 하며 Azure 개발자와 관련된 추가 기능을 제공합니다. 이를 통해 사용자는 Microsoft Entra ID 대해 사용자 및/또는 서비스 주체로 인증할 수 있습니다. AzureDeveloperCliCredential은 개발 환경에서 인증하고 Azure Developer CLI 로그인한 사용자 또는 서비스 주체를 대신하여 토큰을 획득합니다. 사용자 또는 서비스 주체에 로그인한 Azure Developer CLI 역할을 하며 아래에서 Azure CLI 명령을 실행하여 Microsoft Entra ID 대해 애플리케이션을 인증합니다.

AzureDeveloperCliCredential 구성

이 자격 증명을 사용하려면 개발자가 아래 명령 중 하나를 사용하여 Azure Developer CLI 로컬로 인증해야 합니다.

  1. Azure Developer CLI "azd auth login"을 실행하여 사용자로 대화형으로 인증합니다.
  2. "azd auth login --client-id clientID --client-secret clientSecret --tenant-id tenantID"를 실행하여 서비스 주체로 인증합니다.

조직의 새로 고침 토큰 유효성에 따라 일정 기간 후에 이 프로세스를 반복해야 할 수 있습니다. 일반적으로 새로 고침 토큰 유효 기간은 몇 주에서 몇 개월입니다. AzureDeveloperCliCredential은 다시 로그인하라는 메시지를 표시합니다.

AzurePowerShellCredential

이 자격 증명은 Azure PowerShell 모듈에서 현재 로그인한 사용자 정보를 사용합니다. 이렇게 하려면 사용자 액세스 토큰을 읽고 Azure PowerShell 명령을 사용하여 시간을 만료합니다.Get-AzAccessToken -ResourceUrl {ResourceScope}

ChainedTokenCredential

getToken 메서드 중 하나가 액세스 토큰을 반환할 때까지 여러 TokenCredential 구현을 순서대로 시도할 수 있도록 합니다.

ClientAssertionCredential

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

ClientCertificateCredential

앱 등록에 할당된 PEM으로 인코딩된 인증서를 사용하여 인증을 Microsoft Entra ID 수 있습니다. 인증서 인증을 구성하는 방법에 대한 자세한 내용은 다음을 참조하세요.

https://learn.microsoft.com/en-us/azure/active-directory/develop/active-directory-certificate-credentials#register-your-certificate-with-azure-ad

ClientSecretCredential

앱 등록에 대해 생성된 클라이언트 암호를 사용하여 인증을 Microsoft Entra ID 수 있습니다. 클라이언트 암호를 구성하는 방법에 대한 자세한 내용은 다음을 참조하세요.

https://learn.microsoft.com/entra/identity-platform/quickstart-configure-app-access-web-apis#add-credentials-to-your-web-application

CredentialUnavailableError

이는 연결된 자격 증명에서 시도한 자격 증명을 자격 증명으로 사용할 수 없음을 의미합니다. 체인을 중단해야 하는 오류로 처리하는 대신, 체인이 잡히고 체인이 계속됩니다.

DefaultAzureCredential

Azure SDK를 사용하는 대부분의 애플리케이션에서 작동해야 하는 기본 ChainedTokenCredential 구성을 제공합니다.

DeviceCodeCredential

사용자가 에 입력https://microsoft.com/devicelogin할 수 있는 디바이스 코드를 사용하여 인증을 Microsoft Entra ID 수 있습니다.

EnvironmentCredential

클라이언트 암호 또는 인증서를 사용하거나 사용자 이름과 암호를 가진 사용자로 Microsoft Entra ID 인증을 사용하도록 설정합니다.

InteractiveBrowserCredential

대화형 로그인 흐름을 사용하여 웹 브라우저 내에서 Microsoft Entra ID 인증을 사용하도록 설정합니다.

ManagedIdentityCredential

배포 환경에서 사용할 수 있는 관리 ID를 사용하여 인증을 시도합니다. 이 인증 유형은 Azure VM, App Service 인스턴스, Azure Functions 애플리케이션, Azure Kubernetes Services, Azure Service Fabric 인스턴스 및 Azure Cloud Shell 내에서 작동합니다.

관리 ID 구성에 대한 자세한 내용은 다음을 참조하세요. https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview

OnBehalfOfCredential

On Behalf Of 흐름을 사용하여 Microsoft Entra ID 인증을 사용하도록 설정합니다.

UsernamePasswordCredential

인증이 사용자의 사용자 이름 및 암호로 Microsoft Entra ID 수 있도록 합니다. 이 자격 증명에는 높은 수준의 신뢰가 필요하므로 더 안전한 다른 자격 증명 형식을 사용할 수 없는 경우에만 사용해야 합니다.

VisualStudioCodeCredential

VSCode 확장 'Azure 계정'에서 제공하는 자격 증명을 사용하여 Azure에 연결합니다. 사용자가 확장을 통해 로그인하면 이 자격 증명은 확장에서 캐시하는 것과 동일한 새로 고침 토큰을 공유할 수 있습니다.

이 자격 증명은 0.9.11보다 최신 Azure 계정 확장 버전에서 작동하지 않는 알려진 문제입니다. 이 문제에 대한 장기적인 수정이 진행 중입니다. 그 동안 AzureCliCredential을 사용하여 인증하는 것이 좋습니다.

WorkloadIdentityCredential

워크로드 ID 인증은 VM(가상 머신)에서 실행되는 애플리케이션이 서비스 주체 또는 관리 ID 없이 다른 Azure 리소스에 액세스할 수 있도록 하는 Azure의 기능입니다. 워크로드 ID 인증을 사용하면 애플리케이션은 공유 서비스 주체 또는 관리 ID를 사용하는 대신 자체 ID를 사용하여 인증합니다. 워크로드 ID 인증은 Azure에서 자동으로 만들어지고 VM에 안전하게 저장되는 SAC(서비스 계정 자격 증명) 개념을 사용합니다. 워크로드 ID 인증을 사용하면 각 VM의 각 애플리케이션에 대한 서비스 주체 또는 관리 ID를 관리하고 회전할 필요가 없습니다. 또한 SAC는 Azure에서 자동으로 만들어지고 관리되므로 중요한 자격 증명 자체를 저장하고 보호하는 것에 대해 걱정할 필요가 없습니다. WorkloadIdentityCredential은 Azure Kubernetes에서 Microsoft Entra 워크로드 ID 인증을 지원하고 Azure Kubernetes 환경에서 사용할 수 있는 SAC를 사용하여 토큰을 획득합니다. 자세한 내용은 Microsoft Entra 워크로드 ID를 참조하세요.

인터페이스

AccessToken

만료 시간이 있는 액세스 토큰을 나타냅니다.

AuthenticationRecord

캐시에서 캐시된 토큰을 찾는 데 사용할 레코드입니다.

AuthenticationRequiredErrorOptions

AuthenticationRequiredError에 대한 선택적 매개 변수

AuthorityValidationOptions

Microsoft Entra ID 인증 요청 중에 ID 라이브러리가 인증 유효성 검사를 수행하는 방법을 구성하는 옵션을 제공합니다.

AuthorizationCodeCredentialOptions

AuthorizationCodeCredential에 대한 옵션

AzureCliCredentialOptions

AzureCliCredential에 대한 옵션

AzureDeveloperCliCredentialOptions

AzureDeveloperCliCredential에 대한 옵션

AzurePowerShellCredentialOptions

AzurePowerShellCredential에 대한 옵션

BrokerAuthOptions

WAM Broker 인증을 지원하는 InteractiveBrowserCredential에 대한 구성 옵션입니다.

BrokerDisabledOptions

WAM broker 인증을 사용할 수 없는 경우의 매개 변수입니다.

BrokerEnabledOptions

WAM 브로커 인증을 사용하는 경우의 매개 변수입니다.

BrowserCustomizationOptions

브라우저 사용자 지정을 위한 공유 구성 옵션

ClientAssertionCredentialOptions

ClientAssertionCredential에 대한 옵션

ClientCertificateCredentialOptions

ClientCertificateCredential 클래스에 대한 선택적 매개 변수입니다.

ClientCertificatePEMCertificate

PEM 인증서의 문자열 내용과 함께 ClientCertificateCredential에 필요한 구성 옵션

ClientCertificatePEMCertificatePath

PEM 인증서 경로와 함께 ClientCertificateCredential에 필요한 구성 옵션입니다.

ClientSecretCredentialOptions

ClientSecretCredential 클래스에 대한 선택적 매개 변수입니다.

CredentialPersistenceOptions

영구 토큰 캐싱을 지원하는 자격 증명에 대한 공유 구성 옵션입니다.

DefaultAzureCredentialClientIdOptions

DefaultAzureCredential 클래스를 구성하는 옵션을 제공합니다. 이 변형은 managedIdentityClientId 둘 중 하나만 지원되므로 가 아니라 managedIdentityResourceId를 지원합니다.

DefaultAzureCredentialOptions

DefaultAzureCredential 클래스를 구성하는 옵션을 제공합니다.

DefaultAzureCredentialResourceIdOptions

DefaultAzureCredential 클래스를 구성하는 옵션을 제공합니다. 이 변형은 managedIdentityResourceId 둘 중 하나만 지원되므로 가 아니라 managedIdentityClientId를 지원합니다.

DeviceCodeCredentialOptions

Node.js InteractiveBrowserCredential 클래스에 대한 옵션을 정의합니다.

DeviceCodeInfo

코드를 입력해야 하는 사용자 코드 및 확인 URI를 제공합니다. 또한 이러한 세부 정보가 포함된 명령이 포함된 사용자에게 표시할 메시지를 제공합니다.

EnvironmentCredentialOptions

사용 가능한 환경 변수에 따라 인증을 Microsoft Entra ID 수 있습니다. EnvironmentCredential 클래스에 대한 옵션을 정의합니다.

ErrorResponse

자세한 내용은 공식 설명서를 참조하세요.

https://learn.microsoft.com/en-us/azure/active-directory/develop/v1-protocols-oauth-code#error-response-1

참고: 이 설명서는 v1 OAuth 지원을 위한 것이지만 동일한 오류 응답 세부 정보는 여전히 v2에 적용됩니다.

GetBearerTokenProviderOptions

토큰 공급자를 구성하는 옵션입니다.

GetTokenOptions

TokenCredential.getToken에 대한 옵션을 정의합니다.

InteractiveBrowserCredentialInBrowserOptions

InteractiveBrowserCredential 클래스에 대한 일반적인 옵션을 정의합니다.

InteractiveBrowserCredentialNodeOptions

InteractiveBrowserCredential 클래스에 대한 일반적인 옵션을 정의합니다.

InteractiveCredentialOptions

사용자 상호 작용이 필요한 ID 자격 증명에 대한 일반적인 생성자 옵션입니다.

ManagedIdentityCredentialClientIdOptions

ManagedIdentityCredential 생성자에서 보낼 옵션입니다. 이 변형은 clientId 둘 중 하나만 지원되므로 가 아니라 resourceId를 지원합니다.

ManagedIdentityCredentialResourceIdOptions

ManagedIdentityCredential 생성자에서 보낼 옵션입니다. 이 변형은 resourceId 둘 중 하나만 지원되므로 가 아니라 clientId를 지원합니다.

MultiTenantTokenCredentialOptions

추가로 허용된 테넌트가 허용되는 다중 테넌트 애플리케이션에 대한 옵션입니다.

OnBehalfOfCredentialCertificateOptions

인증서를 사용하여 OnBehalfOfCredential 을 인증하는 매개 변수를 정의합니다.

OnBehalfOfCredentialSecretOptions

비밀을 사용하여 OnBehalfOfCredential 을 인증하는 매개 변수를 정의합니다.

TokenCachePersistenceOptions

ID 자격 증명에서 토큰 캐시 지속성을 사용하도록 설정하는 매개 변수입니다.

TokenCredential

인증 토큰을 제공할 수 있는 자격 증명을 나타냅니다.

TokenCredentialOptions

ID 라이브러리가 Microsoft Entra ID 인증 요청을 만드는 방법을 구성하는 옵션을 제공합니다.

UsernamePasswordCredentialOptions

UsernamePasswordCredential 클래스에 대한 옵션을 정의합니다.

VisualStudioCodeCredentialOptions

Visual Studio Code 자격 증명을 구성하는 옵션을 제공합니다.

WorkloadIdentityCredentialOptions

WorkloadIdentityCredential에 대한 옵션

형식 별칭

BrokerOptions

InteractiveBrowserCredential에서 WAM 브로커 인증을 사용하도록 설정하는 매개 변수입니다.

BrowserLoginStyle

(브라우저 전용 기능) 인증 흐름에서 사용할 "로그인 스타일"입니다.

  • "리디렉션"은 사용자를 인증 페이지로 리디렉션한 다음 인증이 완료되면 페이지로 다시 리디렉션합니다.
  • "popup"은 리디렉션 흐름이 시작된 을 통해 새 브라우저 창을 엽니다. 사용자의 기존 브라우저 창이 현재 페이지를 벗어나지 않음
ClientCertificateCredentialPEMConfiguration

PEM 인증서의 문자열 콘텐츠 또는 PEM 인증서 경로와 함께 ClientCertificateCredential에 필요한 구성 옵션입니다.

DeviceCodePromptCallback

사용자에게 인증 세부 정보를 표시하기 위해 DeviceCodeCredential에 전달될 콜백의 서명을 정의합니다.

IdentityPlugin

플러그 인 컨텍스트를 수락하는 함수인 Azure ID 플러그 인의 유형입니다.

OnBehalfOfCredentialOptions

OnBehalfOfCredential 클래스에 대한 선택적 매개 변수입니다.

열거형

AzureAuthorityHosts

알려진 Azure 기관 호스트 목록

함수

deserializeAuthenticationRecord(string)

문자열에서 개체로 이전에 직렬화된 인증 레코드를 역직렬화합니다.

입력 문자열에는 다음 속성이 포함되어야 합니다.

  • "권한"
  • "homeAccountId"
  • "clientId"
  • "tenantId"
  • "username"
  • "version"

받은 버전이 지원되지 않으면 오류가 throw됩니다.

현재 사용 가능한 유일한 버전은 인증 레코드가 직렬화될 때 항상 설정되는 "1.0"입니다.

getBearerTokenProvider(TokenCredential, string | string[], GetBearerTokenProviderOptions)

전달자 토큰을 제공하는 콜백을 반환합니다. 예를 들어 전달자 토큰을 사용하여 다음과 같이 요청을 인증할 수 있습니다.

import { DefaultAzureCredential } from "@azure/identity";

const credential = new DefaultAzureCredential();
const scope = "https://cognitiveservices.azure.com/.default";
const getAccessToken = getBearerTokenProvider(credential, scope);
const token = await getAccessToken();

// usage
const request = createPipelineRequest({ url: "https://example.com" });
request.headers.set("Authorization", `Bearer ${token}`);
getDefaultAzureCredential()

DefaultAzureCredential의 새 instance 반환합니다.

serializeAuthenticationRecord(AuthenticationRecord)

를 문자열로 직렬화합니다 AuthenticationRecord .

직렬화된 인증 레코드의 출력에는 다음 속성이 포함됩니다.

  • "권한"
  • "homeAccountId"
  • "clientId"
  • "tenantId"
  • "username"
  • "version"

나중에 이 문자열을 직렬화된 AuthenticationRecord로 변환하려면 내보낸 함수 deserializeAuthenticationRecord()를 사용하세요.

useIdentityPlugin(IdentityPlugin)

추가 기능을 사용하여 Azure ID를 확장합니다. 다음과 같은 플러그 인 패키지에서 플러그 인을 전달합니다.

  • @azure/identity-cache-persistence: 영구 토큰 캐싱 제공
  • @azure/identity-vscode: 의 종속성을 VisualStudioCodeCredential 제공하고 사용하도록 설정합니다.

예제:

import { cachePersistencePlugin } from "@azure/identity-cache-persistence";

import { useIdentityPlugin, DefaultAzureCredential } from "@azure/identity";
useIdentityPlugin(cachePersistencePlugin);

// The plugin has the capability to extend `DefaultAzureCredential` and to
// add middleware to the underlying credentials, such as persistence.
const credential = new DefaultAzureCredential({
  tokenCachePersistenceOptions: {
    enabled: true
  }
});

함수 세부 정보

deserializeAuthenticationRecord(string)

문자열에서 개체로 이전에 직렬화된 인증 레코드를 역직렬화합니다.

입력 문자열에는 다음 속성이 포함되어야 합니다.

  • "권한"
  • "homeAccountId"
  • "clientId"
  • "tenantId"
  • "username"
  • "version"

받은 버전이 지원되지 않으면 오류가 throw됩니다.

현재 사용 가능한 유일한 버전은 인증 레코드가 직렬화될 때 항상 설정되는 "1.0"입니다.

function deserializeAuthenticationRecord(serializedRecord: string): AuthenticationRecord

매개 변수

serializedRecord

string

이전에 문자열로 직렬화된 인증 레코드입니다.

반환

AuthenticationRecord.

getBearerTokenProvider(TokenCredential, string | string[], GetBearerTokenProviderOptions)

전달자 토큰을 제공하는 콜백을 반환합니다. 예를 들어 전달자 토큰을 사용하여 다음과 같이 요청을 인증할 수 있습니다.

import { DefaultAzureCredential } from "@azure/identity";

const credential = new DefaultAzureCredential();
const scope = "https://cognitiveservices.azure.com/.default";
const getAccessToken = getBearerTokenProvider(credential, scope);
const token = await getAccessToken();

// usage
const request = createPipelineRequest({ url: "https://example.com" });
request.headers.set("Authorization", `Bearer ${token}`);
function getBearerTokenProvider(credential: TokenCredential, scopes: string | string[], options?: GetBearerTokenProviderOptions): () => Promise<string>

매개 변수

credential
TokenCredential

요청을 인증하는 데 사용되는 자격 증명입니다.

scopes

string | string[]

전달자 토큰에 필요한 범위입니다.

options
GetBearerTokenProviderOptions

토큰 공급자를 구성하는 옵션입니다.

반환

() => Promise<string>

전달자 토큰을 제공하는 콜백입니다.

getDefaultAzureCredential()

DefaultAzureCredential의 새 instance 반환합니다.

function getDefaultAzureCredential(): TokenCredential

반환

serializeAuthenticationRecord(AuthenticationRecord)

를 문자열로 직렬화합니다 AuthenticationRecord .

직렬화된 인증 레코드의 출력에는 다음 속성이 포함됩니다.

  • "권한"
  • "homeAccountId"
  • "clientId"
  • "tenantId"
  • "username"
  • "version"

나중에 이 문자열을 직렬화된 AuthenticationRecord로 변환하려면 내보낸 함수 deserializeAuthenticationRecord()를 사용하세요.

function serializeAuthenticationRecord(record: AuthenticationRecord): string

매개 변수

반환

string

useIdentityPlugin(IdentityPlugin)

추가 기능을 사용하여 Azure ID를 확장합니다. 다음과 같은 플러그 인 패키지에서 플러그 인을 전달합니다.

  • @azure/identity-cache-persistence: 영구 토큰 캐싱 제공
  • @azure/identity-vscode: 의 종속성을 VisualStudioCodeCredential 제공하고 사용하도록 설정합니다.

예제:

import { cachePersistencePlugin } from "@azure/identity-cache-persistence";

import { useIdentityPlugin, DefaultAzureCredential } from "@azure/identity";
useIdentityPlugin(cachePersistencePlugin);

// The plugin has the capability to extend `DefaultAzureCredential` and to
// add middleware to the underlying credentials, such as persistence.
const credential = new DefaultAzureCredential({
  tokenCachePersistenceOptions: {
    enabled: true
  }
});
function useIdentityPlugin(plugin: IdentityPlugin)

매개 변수

plugin
IdentityPlugin

등록할 플러그 인