Поделиться через


@azure/identity package

Классы

AggregateAuthenticationError

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

AuthenticationError

Содержит сведения о сбое проверки подлинности в Azure Active Directory. Поле errorResponse содержит дополнительные сведения о конкретном сбое.

AuthenticationRequiredError

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

AuthorizationCodeCredential

Включает проверку подлинности в идентификаторе Microsoft Entra с помощью кода авторизации, полученного с помощью потока кода авторизации, описанного более подробно в документации по идентификатору 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 — это средство интерфейса командной строки, позволяющее разработчикам создавать, управлять и развертывать ресурсы в Azure. Он построен на основе Azure CLI и предоставляет дополнительные функциональные возможности, относящиеся к разработчикам Azure. Он позволяет пользователям проходить проверку подлинности в качестве пользователя и (или) субъекта-службы для идентификатора Microsoft Entra ID. AzureDeveloperCliCredential проходит проверку подлинности в среде разработки и получает маркер от имени зарегистрированного пользователя или субъекта-службы в интерфейсе командной строки разработчика Azure. Он выступает в качестве интерфейса командной строки разработчика Azure, вошедшего в систему пользователя или субъекта-службы, и выполняет команду Azure CLI в нижней строке для проверки подлинности приложения с идентификатором Microsoft Entra.

Настройка AzureDeveloperCliCredential

Чтобы использовать эти учетные данные, разработчику необходимо выполнить локальную проверку подлинности в Azure Developer CLI с помощью одной из следующих команд:

  1. Выполните команду azd auth login в Интерфейсе командной строки разработчика Azure для интерактивной проверки подлинности в качестве пользователя.
  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 не возвращает маркер доступа.

ClientAssertionCredential

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

ClientCertificateCredential

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

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

ClientSecretCredential

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

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

CredentialUnavailableError

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

DefaultAzureCredential

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

DeviceCodeCredential

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

EnvironmentCredential

Включает проверку подлинности с идентификатором Microsoft Entra с помощью секрета клиента или сертификата или пользователя с именем пользователя и паролем.

InteractiveBrowserCredential

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

ManagedIdentityCredential

Пытается выполнить проверку подлинности с помощью управляемого удостоверения, доступного в среде развертывания. Этот тип проверки подлинности работает на виртуальных машинах Azure, экземплярах службы приложений, приложениях Функций Azure, службах Azure Kubernetes, экземплярах Azure Service Fabric и в Azure Cloud Shell.

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

OnBehalfOfCredential

Включает проверку подлинности в идентификаторе Microsoft Entra с помощью от имени потока.

UsernamePasswordCredential

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

VisualStudioCodeCredential

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

Это известная проблема, что эти учетные данные не работают с расширения учетной записи Azure, версии более поздних версий, чем 0.9.11. Долгосрочное решение этой проблемы выполняется. В то же время рассмотрите возможность проверки подлинности с помощью AzureCliCredential.

WorkloadIdentityCredential

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

Интерфейсы

AccessToken

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

AuthenticationRecord

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

AuthenticationRequiredErrorOptions

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

AuthorityValidationOptions

Предоставляет параметры настройки проверки подлинности библиотеки удостоверений во время запросов проверки подлинности к идентификатору Microsoft Entra.

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 в зависимости от доступных переменных среды. Определяет параметры для класса EnvironmentCredential.

ErrorResponse

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

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

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

UsernamePasswordCredentialOptions

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

VisualStudioCodeCredentialOptions

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

WorkloadIdentityCredentialOptions

Параметры WorkloadIdentityCredential

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

BrokerOptions

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

BrowserLoginStyle

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

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

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

DeviceCodePromptCallback

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

IdentityPlugin

Тип подключаемого модуля удостоверений Azure— функция, принимаюющая контекст подключаемого модуля.

OnBehalfOfCredentialOptions

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

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

AzureAuthorityHosts

Список известных узлов центра Azure

Функции

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 с помощью дополнительных функций. Передайте подключаемый модуль из пакета подключаемого модуля, например:

  • @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,
  },
});

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

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 с помощью дополнительных функций. Передайте подключаемый модуль из пакета подключаемого модуля, например:

  • @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

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