Skip to main content

azure-identity-ts

"Use — Authenticate to Azure services using Azure Identity library for JavaScript (@azure/identity). Use when configuring"

설치로 이동

소스 정보

저장소
thiagofernandes1987-create/APEX
최근 소스 활동
2026년 4월 18일 09:35
감지된 SKILL.md 언어
영어
스타
2
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
azure-identity-ts
description
"Use — Authenticate to Azure services using Azure Identity library for JavaScript (@azure/identity). Use when configuring"
# Azure Identity library for TypeScript Authentication library for Azure SDK clients using Microsoft Entra ID. ## Installation ```bash npm install @azure/identity # For Visual Studio Code credential support npm install @azure/identity-vscode ``` ## Environment Variables ### Service Principal (Secret) ```bash AZURE_TENANT_ID=<tenant-id> AZURE_CLIENT_ID=<client-id> AZURE_CLIENT_SECRET=<client-secret> ``` ### Service Principal (Certificate) ```bash AZURE_TENANT_ID=<tenant-id> AZURE_CLIENT_ID=<client-id> AZURE_CLIENT_CERTIFICATE_PATH=/path/to/cert.pem AZURE_CLIENT_CERTIFICATE_PASSWORD=<optional-password> ``` ### Workload Identity (Kubernetes) ```bash AZURE_TENANT_ID=<tenant-id> AZURE_CLIENT_ID=<client-id> AZURE_FEDERATED_TOKEN_FILE=/var/run/secrets/tokens/azure-identity ``` ## DefaultAzureCredential (Recommended) ```typescript import { DefaultAzureCredential } from "@azure/identity"; const credential = new DefaultAzureCredential(); // Use with any Azure SDK client import { BlobServiceClient } from "@azure/storage-blob"; const blobClient = new BlobServiceClient( "https://<account>.blob.core.windows.net", credential ); ``` See [DefaultAzureCredential overview](https://aka.ms/azsdk/js/identity/credential-chains#defaultazurecredential-overview) for the current credential chain order and defaults. ## Managed Identity ### System-Assigned ```typescript import { ManagedIdentityCredential } from "@azure/identity"; const credential = new ManagedIdentityCredential(); ``` ### User-Assigned (by Client ID) ```typescript const credential = new ManagedIdentityCredential({ clientId: "<user-assigned-client-id>" }); ``` ### User-Assigned (by Resource ID) ```typescript const credential = new ManagedIdentityCredential({ resourceId: "/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<name>" }); ``` ### User-Assigned (by Object ID) ```typescript const credential = new ManagedIdentityCredential({ objectId: "<user-assigned-object-id>" }); ``` ## Service Principal ### Client Secret ```typescript import { ClientSecretCredential } from "@azure/identity"; const credential = new ClientSecretCredential( "<tenant-id>", "<client-id>", "<client-secret>" ); ``` ### Client Certificate ```typescript import { ClientCertificateCredential } from "@azure/identity"; const credential = new ClientCertificateCredential( "<tenant-id>", "<client-id>", { certificatePath: "/path/to/cert.pem" } ); // With password const credentialWithPwd = new ClientCertificateCredential( "<tenant-id>", "<client-id>", { certificatePath: "/path/to/cert.pem", certificatePassword: "<password>" } ); ``` ## Interactive Authentication ### Browser-Based Login ```typescript import { InteractiveBrowserCredential } from "@azure/identity"; const credential = new InteractiveBrowserCredential({ clientId: "<client-id>", tenantId: "<tenant-id>", loginHint: "user@example.com" }); ``` ### Device Code Flow ```typescript import { DeviceCodeCredential } from "@azure/identity"; const credential = new DeviceCodeCredential({ clientId: "<client-id>", tenantId: "<tenant-id>", userPromptCallback: (info) => { console.log(info.message); // "To sign in, use a web browser to open..." } }); ``` ## Custom Credential Chain ```typescript import { ChainedTokenCredential, ManagedIdentityCredential, AzureCliCredential } from "@azure/identity"; // Try managed identity first, fall back to CLI const credential = new ChainedTokenCredential( new ManagedIdentityCredential(), new AzureCliCredential() ); ``` ## Developer Credentials ### Visual Studio Code ```typescript import { useIdentityPlugin, VisualStudioCodeCredential } from "@azure/identity"; import { vsCodePlugin } from "@azure/identity-vscode"; useIdentityPlugin(vsCodePlugin); const credential = new VisualStudioCodeCredential(); ``` ### Azure CLI ```typescript import { AzureCliCredential } from "@azure/identity"; const credential = new AzureCliCredential(); // Uses: az login ``` ### Azure Developer CLI ```typescript import { AzureDeveloperCliCredential } from "@azure/identity"; const credential = new AzureDeveloperCliCredential(); // Uses: azd auth login ``` ### Azure PowerShell ```typescript import { AzurePowerShellCredential } from "@azure/identity"; const credential = new AzurePowerShellCredential(); // Uses: Connect-AzAccount ``` ## Sovereign Clouds ```typescript import { ClientSecretCredential, AzureAuthorityHosts } from "@azure/identity"; // Azure Government const credential = new ClientSecretCredential( "<tenant>", "<client>", "<secret>", { authorityHost: AzureAuthorityHosts.AzureGovernment } ); // Azure China const credentialChina = new ClientSecretCredential( "<tenant>", "<client>", "<secret>", { authorityHost: AzureAuthorityHosts.AzureChina } ); ``` ## Bearer Token Provider ```typescript import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity"; const credential = new DefaultAzureCredential(); // Create a function that returns tokens const getAccessToken = getBearerTokenProvider( credential, "https://cognitiveservices.azure.com/.default" ); // Use with APIs that need bearer tokens const token = await getAccessToken(); ``` ## Key Types ```typescript import type { TokenCredential, AccessToken, GetTokenOptions } from "@azure/core-auth"; import { DefaultAzureCredential, DefaultAzureCredentialOptions, ManagedIdentityCredential, ClientSecretCredential, ClientCertificateCredential, InteractiveBrowserCredential, ChainedTokenCredential, AzureCliCredential, AzurePowerShellCredential, AzureDeveloperCliCredential, DeviceCodeCredential, AzureAuthorityHosts } from "@azure/identity"; ``` ## Custom Credential Implementation ```typescript import type { TokenCredential, AccessToken, GetTokenOptions } from "@azure/core-auth"; class CustomCredential implements TokenCredential { async getToken( scopes: string | string[], options?: GetTokenOptions ): Promise<AccessToken | null> { // Custom token acquisition logic return { token: "<access-token>", expiresOnTimestamp: Date.now() + 3600000 }; } } ``` ## Debugging ```typescript import { setLogLevel, AzureLogger } from "@azure/logger"; setLogLevel("verbose"); // Custom log handler AzureLogger.log = (...args) => { console.log("[Azure]", ...args); }; ``` ## Best Practices 1. **Use DefaultAzureCredential** - Works in development (CLI) and production (managed identity) 2. **Never hardcode credentials** - Use environment variables or managed identity 3. **Prefer managed identity** - No secrets to manage in production 4. **Scope credentials appropriately** - Use user-assigned identity for multi-tenant scenarios 5. **Handle token refresh** - Azure SDK handles this automatically 6. **Use ChainedTokenCredential** - For custom fallback scenarios ## Diff History - **v00.33.0**: Ingested from skills-main --- ## Why This Skill Exists Use — Authenticate to Azure services using Azure Identity library for JavaScript (@azure/identity). <!-- SR_40: auto-generated from frontmatter `purpose`/`description` (OPP-Phase3). Expand with domain-specific rationale. --> ## When to Use Use this skill when configuring <!-- SR_40: auto-generated from frontmatter `when`/`description` (OPP-Phase3). --> ## What If Fails - condition: Código não disponível para análise <!-- SR_40: auto-generated from frontmatter `what_if_fails` (OPP-Phase3). -->
GitHub에서 보기