@azure/identity package

Классы

AggregateAuthenticationError

Предоставляет массив errors, содержащий экземпляр AuthenticationError для сбоев проверки подлинности учетных данных в ChainedTokenCredential.

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 аутентифицируется в среде разработки и приобретает токен от имени авторизованного пользователя или главного сервиса в CLI Azure Developer. Он выступает в роли CLI Azure Developer, входящего в систему пользователя или принципал сервиса, и выполняет команду Azure CLI ниже для аутентификации приложения по Microsoft Entra ID.

Настройка AzureDeveloperCliCredential

Для использования этого удостоверения разработчику необходимо провести локальную аутентификацию в Azure Developer CLI с помощью одной из приведённых ниже команд:

  1. Запустите "azd auth login" в Azure Developer CLI для интерактивной аутентификации как пользователь.
  2. Выполните команду azd auth login --client-id clientID --client-secret clientSecret --tenant-id tenantID" для проверки подлинности в качестве субъекта-службы.

Этот процесс может потребоваться повторить через определенный период времени в зависимости от срока действия маркера обновления в вашей организации. Как правило, срок действия маркера обновления составляет несколько недель до нескольких месяцев. AzureDeveloperCliCredential предложит вам снова войти.

AzurePipelinesCredential

Этот учетный код предназначен для использования в Azure Pipelines с сервисными соединениями как настройка для федерации идентификации рабочих нагрузок.

AzurePowerShellCredential

Эта учетная запись будет использовать данные пользователя, которые уже входят в систему из модуля Azure PowerShell. Для этого он прочитает токен доступа пользователя и истечёт время действия Azure PowerShell командой Get-AzAccessToken -ResourceUrl {ResourceScope}

ChainedTokenCredential

Позволяет попробовать несколько TokenCredential реализаций в порядке, пока один из методов getToken не возвращает маркер доступа. Дополнительные сведения см. в разделе ChainedTokenCredential.

ClientAssertionCredential

Проверяет подлинность субъекта-службы с помощью утверждения JWT.

ClientCertificateCredential

Обеспечивает аутентификацию по Microsoft Entra ID с использованием сертификата, закодированного PEM, который назначается регистрации приложения. Дополнительные сведения о настройке проверки подлинности сертификатов см. здесь:

https://learn.microsoft.com/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

Предоставляет стандартную конфигурацию ChainedTokenCredential, которая работает для большинства приложений, использующих Azure SDK клиентские библиотеки. Дополнительные сведения см. в обзоре DefaultAzureCredential.

Следующие типы учетных данных будут проверены в порядке:

Дополнительные сведения о попытке проверки подлинности см. в документации по этим типам учетных данных.

В следующем примере показано, как использовать requiredEnvVars этот параметр, чтобы убедиться, что определенные переменные среды заданы перед созданием экземпляра параметра DefaultAzureCredential . Если какая-либо из указанных переменных окружения отсутствует или пуста, будет выдана ошибка, которая не позволит приложению продолжить выполнение без необходимой конфигурации. В нем также показано, как задать переменную AZURE_TOKEN_CREDENTIALS среды для управления учетными данными, включенными в цепочку.

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

const credential = new DefaultAzureCredential({
  requiredEnvVars: [
    "AZURE_CLIENT_ID",
    "AZURE_TENANT_ID",
    "AZURE_CLIENT_SECRET",
    "AZURE_TOKEN_CREDENTIALS",
  ],
});
DeviceCodeCredential

Позволяет аутентификация Microsoft Entra ID с помощью кода устройства, который пользователь может ввести в https://microsoft.com/devicelogin.

EnvironmentCredential

Обеспечивает аутентификацию по Microsoft Entra ID с использованием клиентского секрета или сертификата.

InteractiveBrowserCredential

Обеспечивает аутентификацию по Microsoft Entra ID внутри веб-браузера с помощью интерактивного процесса входа.

ManagedIdentityCredential

Пытается выполнить проверку подлинности с помощью управляемого удостоверения, доступного в среде развертывания. Этот тип аутентификации работает в Azure VM, App Service instances, Функции Azure applications, Azure Kubernetes Services, Azure Service Fabric instances и внутри Azure Cloud Shell.

Дополнительные сведения о настройке управляемых удостоверений см. здесь: https://learn.microsoft.com/azure/active-directory/managed-identities-azure-resources/overview

OnBehalfOfCredential

Позволяет аутентификация Microsoft Entra ID с помощью От имени потока.

UsernamePasswordCredential

Включает аутентификацию по Microsoft Entra ID с именем пользователя и паролем. Для этих учетных данных требуется высокий уровень доверия, поэтому его следует использовать только в том случае, если другие, более безопасные типы учетных данных не могут использоваться.

VisualStudioCodeCredential

Подключается к Azure с помощью пользовательской учетной записи, войдённой через расширение Azure Resources в Visual Studio Code. После входа пользователя через расширение эти учетные данные могут совместно использовать тот же маркер обновления, который кэшируется расширением.

WorkloadIdentityCredential

Аутентификация идентификации рабочей нагрузки — это функция Azure, которая позволяет приложениям, работающим на виртуальных машинах (VM), получать доступ к другим ресурсам Azure без необходимости использования принципала сервиса или управляемой идентичности. При проверке подлинности удостоверений рабочей нагрузки приложения проходят проверку подлинности с помощью собственного удостоверения, а не с помощью общего субъекта-службы или управляемого удостоверения. Внутри аутентификация Workload Identity использует концепцию Service Account Credentials (SAC), которые автоматически создаются Azure и безопасно хранятся в виртуальной машине. С помощью проверки подлинности удостоверений рабочей нагрузки можно избежать необходимости управления и смены субъектов-служб или управляемых удостоверений для каждого приложения на каждой виртуальной машине. Кроме того, поскольку SAC создаются автоматически и управляются Azure, вам не нужно беспокоиться о хранении и защите конфиденциальных учетных данных самостоятельно. WorkloadIdentityCredential поддерживает аутентификацию Идентификация рабочей нагрузки Microsoft Entra на Azure Kubernetes и приобретает токен с помощью SAC, доступных в среде Azure Kubernetes. Обратитесь к Идентификация рабочей нагрузки Microsoft Entra для получения дополнительной информации.

Интерфейсы

AccessToken

Представляет маркер доступа с истечением срока действия.

AuthenticationRecord

Запись, используемая для поиска кэшированных маркеров в кэше.

AuthenticationRequiredErrorOptions

Необязательные параметры для AuthenticationRequiredError

AuthorityValidationOptions

Предоставляет опции для настройки того, как библиотека Identity выполняет проверку авторитета при запросах аутентификации на Microsoft Entra ID.

AuthorizationCodeCredentialOptions

Параметры AuthorizationCodeCredential

AzureCliCredentialOptions

Параметры AzureCliCredential

AzureDeveloperCliCredentialOptions

Параметры AzureDeveloperCliCredential

AzurePipelinesCredentialOptions

Необязательные параметры для класса AzurePipelinesCredential.

AzurePowerShellCredentialOptions

Параметры AzurePowerShellCredential

BrokerAuthOptions

Параметры конфигурации для InteractiveBrowserCredential для поддержки проверки подлинности брокера WAM.

BrokerDisabledOptions

Параметры при отключении проверки подлинности брокера WAM.

BrokerEnabledOptions

Параметры, когда включена проверка подлинности брокера WAM.

BrowserCustomizationOptions

Параметры общей конфигурации для настройки браузера

ClientAssertionCredentialOptions

Параметры ClientAssertionCredential

ClientCertificateCredentialOptions

Необязательные параметры для класса ClientCertificateCredential.

ClientCertificatePEMCertificate

Необходимые параметры конфигурации для ClientCertificateCredentialс содержимым строки сертификата PEM

ClientCertificatePEMCertificatePath

Необходимые параметры конфигурации для ClientCertificateCredentialс путем к сертификату PEM.

ClientSecretCredentialOptions

Необязательные параметры для класса ClientSecretCredential.

CredentialPersistenceOptions

Общие параметры конфигурации для учетных данных, поддерживающих кэширование постоянных маркеров.

DefaultAzureCredentialClientIdOptions

Предоставляет параметры настройки класса DefaultAzureCredential. Этот вариант поддерживает managedIdentityClientId и не managedIdentityResourceId, так как поддерживается только один из обоих вариантов.

DefaultAzureCredentialOptions

Предоставляет параметры настройки класса DefaultAzureCredential.

DefaultAzureCredentialResourceIdOptions

Предоставляет параметры настройки класса DefaultAzureCredential. Этот вариант поддерживает managedIdentityResourceId и не managedIdentityClientId, так как поддерживается только один из обоих вариантов.

DeviceCodeCredentialOptions

Определяет параметры для класса InteractiveBrowserCredential для Node.js.

DeviceCodeInfo

Предоставляет URI пользовательского кода и проверки, где должен быть введен код. Также предоставляет сообщение для отображения пользователю, содержавшего инструкцию с этими сведениями.

EnvironmentCredentialOptions

Включает аутентификацию по Microsoft Entra ID в зависимости от доступных переменных среды. Определяет параметры для класса EnvironmentCredential.

ErrorResponse

Дополнительные сведения см. в официальной документации:

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

ПРИМЕЧАНИЕ. Эта документация предназначена для поддержки OAuth версии 1, но те же сведения об ответе об ошибках по-прежнему применяются к версии 2.

GetBearerTokenProviderOptions

Параметры настройки поставщика маркеров.

GetTokenOptions

Определяет параметры tokenCredential.getToken.

InteractiveBrowserCredentialInBrowserOptions

Определяет общие параметры для класса InteractiveBrowserCredential.

InteractiveBrowserCredentialNodeOptions

Определяет общие параметры для класса InteractiveBrowserCredential.

InteractiveCredentialOptions

Общие параметры конструктора для учетных данных удостоверений, требующих взаимодействия с пользователем.

ManagedIdentityCredentialClientIdOptions

Параметры отправки в конструктор ManagedIdentityCredential. Этот вариант поддерживает clientId и не resourceId, так как поддерживается только один из обоих вариантов.

ManagedIdentityCredentialObjectIdOptions

Параметры отправки в конструктор ManagedIdentityCredential. Этот вариант поддерживает objectId в качестве аргумента конструктора.

ManagedIdentityCredentialResourceIdOptions

Параметры отправки в конструктор ManagedIdentityCredential. Этот вариант поддерживает resourceId и не clientId, так как поддерживается только один из обоих вариантов.

MultiTenantTokenCredentialOptions

Варианты для мультитенантных приложений, которые позволяют дополнительно разрешенным клиентам.

OnBehalfOfCredentialAssertionOptions

Определяет параметры для проверки подлинности OnBehalfOfCredential с помощью утверждения.

OnBehalfOfCredentialCertificateOptions

Определяет параметры для проверки подлинности OnBehalfOfCredential с помощью сертификата.

OnBehalfOfCredentialSecretOptions

Определяет параметры для проверки подлинности OnBehalfOfCredential с помощью секрета.

TokenCachePersistenceOptions

Параметры, обеспечивающие сохраняемость кэша маркеров в учетных данных удостоверения.

TokenCredential

Представляет учетные данные, способные предоставлять маркер проверки подлинности.

TokenCredentialOptions

Предоставляет опции настройки того, как библиотека Identity отправляет запросы на аутентификацию в Microsoft Entra ID.

UsernamePasswordCredentialOptions

Определяет параметры для класса UsernamePasswordCredential.

VisualStudioCodeCredentialOptions

Предоставляет опции настройки учетных данных Visual Studio Code.

WorkloadIdentityCredentialOptions

Параметры WorkloadIdentityCredential

Псевдонимы типа

BrokerOptions

Параметры, обеспечивающие проверку подлинности брокера WAM в InteractiveBrowserCredential.

BrowserLoginStyle

(Функция только для браузера) Стиль входа, используемый в потоке проверки подлинности:

  • "перенаправление" перенаправляет пользователя на страницу проверки подлинности, а затем перенаправляет их обратно на страницу после завершения проверки подлинности.
  • Всплывающее окно открывает новое окно браузера с инициированным потоком перенаправления. Существующее окно браузера пользователя не покидает текущую страницу
ClientCertificateCredentialPEMConfiguration

Необходимые параметры конфигурации для ClientCertificateCredentialс содержимым строки сертификата PEM или пути к сертификату PEM.

DefaultAzureCredentialEnvVars

Обычно поддерживаемые переменные среды для класса DefaultAzureCredential .

DeviceCodePromptCallback

Определяет подпись обратного вызова, который будет передан в DeviceCodeCredential для отображения сведений о проверке подлинности пользователю.

IdentityPlugin

Тип плагина Azure Identity, функция, принимающая контекст плагина.

OnBehalfOfCredentialOptions

Необязательные параметры для класса OnBehalfOfCredential.

Перечисления

AzureAuthorityHosts

Список известных хостов Azure Authority

Функции

deserializeAuthenticationRecord(string)

Десериализация ранее сериализованной записи проверки подлинности из строки в объект.

Входная строка должна содержать следующие свойства:

  • "центр"
  • "homeAccountId"
  • ClientId
  • "tenantId"
  • "имя пользователя"
  • "версия"

Если полученная версия не поддерживается, возникает ошибка.

На данный момент доступна единственная версия: "1.0", которая всегда устанавливается при сериализации записи проверки подлинности.

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

Возвращает обратный вызов, предоставляющий маркер носителя. Например, маркер носителя можно использовать для проверки подлинности запроса следующим образом:

import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";
import { createPipelineRequest } from "@azure/core-rest-pipeline";

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.

serializeAuthenticationRecord(AuthenticationRecord)

Сериализует AuthenticationRecord в строку.

Выходные данные сериализованной записи проверки подлинности будут содержать следующие свойства:

  • "центр"
  • "homeAccountId"
  • ClientId
  • "tenantId"
  • "имя пользователя"
  • "версия"

Чтобы позже преобразовать эту строку в сериализованную AuthenticationRecord, используйте экспортированную функцию deserializeAuthenticationRecord().

useIdentityPlugin(IdentityPlugin)

Расширение Azure Identity с дополнительной функциональностью. Передайте подключаемый модуль из пакета подключаемого модуля, например:

  • @azure/identity-cache-persistence: обеспечивает кэширование постоянных маркеров
  • @azure/identity-vscode: предоставляет зависимости VisualStudioCodeCredential и включает его.

Пример:

import { useIdentityPlugin, DeviceCodeCredential } from "@azure/identity";

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

Переменные

AggregateAuthenticationErrorName

Error.name значение AggregateAuthenticationError

AuthenticationErrorName

Error.name значение аутентификацияОшибка

CredentialUnavailableErrorName

Значение Error.name удостоверения удостоверенияНедоступно

logger

AzureLogger, используемый для всех клиентов внутри пакета идентичности

Сведения о функции

deserializeAuthenticationRecord(string)

Десериализация ранее сериализованной записи проверки подлинности из строки в объект.

Входная строка должна содержать следующие свойства:

  • "центр"
  • "homeAccountId"
  • ClientId
  • "tenantId"
  • "имя пользователя"
  • "версия"

Если полученная версия не поддерживается, возникает ошибка.

На данный момент доступна единственная версия: "1.0", которая всегда устанавливается при сериализации записи проверки подлинности.

function deserializeAuthenticationRecord(serializedRecord: string): AuthenticationRecord

Параметры

serializedRecord

string

Запись проверки подлинности, ранее сериализованная в строку.

Возвращаемое значение

AuthenticationRecord.

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

Возвращает обратный вызов, предоставляющий маркер носителя. Например, маркер носителя можно использовать для проверки подлинности запроса следующим образом:

import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";
import { createPipelineRequest } from "@azure/core-rest-pipeline";

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.

function getDefaultAzureCredential(): TokenCredential

Возвращаемое значение

serializeAuthenticationRecord(AuthenticationRecord)

Сериализует AuthenticationRecord в строку.

Выходные данные сериализованной записи проверки подлинности будут содержать следующие свойства:

  • "центр"
  • "homeAccountId"
  • ClientId
  • "tenantId"
  • "имя пользователя"
  • "версия"

Чтобы позже преобразовать эту строку в сериализованную AuthenticationRecord, используйте экспортированную функцию deserializeAuthenticationRecord().

function serializeAuthenticationRecord(record: AuthenticationRecord): string

Параметры

Возвращаемое значение

string

useIdentityPlugin(IdentityPlugin)

Расширение Azure Identity с дополнительной функциональностью. Передайте подключаемый модуль из пакета подключаемого модуля, например:

  • @azure/identity-cache-persistence: обеспечивает кэширование постоянных маркеров
  • @azure/identity-vscode: предоставляет зависимости VisualStudioCodeCredential и включает его.

Пример:

import { useIdentityPlugin, DeviceCodeCredential } from "@azure/identity";

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

Параметры

plugin
IdentityPlugin

подключаемый модуль для регистрации

Сведения об переменной

AggregateAuthenticationErrorName

Error.name значение AggregateAuthenticationError

AggregateAuthenticationErrorName: "AggregateAuthenticationError"

Тип

"AggregateAuthenticationError"

AuthenticationErrorName

Error.name значение аутентификацияОшибка

AuthenticationErrorName: "AuthenticationError"

Тип

"AuthenticationError"

CredentialUnavailableErrorName

Значение Error.name удостоверения удостоверенияНедоступно

CredentialUnavailableErrorName: "CredentialUnavailableError"

Тип

"CredentialUnavailableError"

logger

AzureLogger, используемый для всех клиентов внутри пакета идентичности

logger: AzureLogger

Тип