다음을 통해 공유


JavaScript에서 Azure Key Vault 비밀 시작

이 문서에서는 JavaScript용 Azure Key Vault 비밀 클라이언트 라이브러리를 사용하여 Azure Key Vault에 연결하는 방법을 보여 줍니다. 연결되면 코드는 자격 증명 모음의 비밀 및 비밀 속성에서 작동할 수 있습니다.

API 참조 | 패키지(npm) | 라이브러리 소스 코드 | 샘플 | 피드백 제공

필수 조건

프로젝트 설정

  1. 명령 프롬프트를 열고 프로젝트 폴더로 변경합니다. YOUR-DIRECTORY를 폴더 이름으로 변경합니다.

    cd YOUR-DIRECTORY
    
  2. 디렉터리에 이미 package.json 파일이 없으면 프로젝트를 초기화하여 파일을 만듭니다.

    npm init -y
    
  3. JavaScript용 Azure Key Vault 비밀 클라이언트 라이브러리 설치:

    npm install @azure/keyvault-secrets
    
  4. Azure AD를 사용하여 암호 없는 연결을 사용하려면 JavaScript용 Microsoft Entra ID 클라이언트 라이브러리를 설치합니다.

    npm install @azure/identity
    

액세스 권한 부여 및 Key Vault에 연결

Microsoft Entra ID는 연결 ID(관리 ID)를 관리하여 가장 안전한 연결을 제공합니다. 암호 없는 기능을 사용하면 코드에 저장된 비밀(키 또는 연결 문자열)이 필요하지 않은 애플리케이션을 개발할 수 있습니다.

Azure Key Vault 비밀을 사용하도록 프로그래밍 방식으로 Azure에 인증하기 전에 환경을 설정해야 합니다.

JavaScript용 Azure SDK 자격 증명 흐름 다이어그램

개발자는 코드에서 DefaultAzureCredential을 사용하기 전에 Azure CLI를 설치하고 az login 명령을 사용하여 대화형으로 Azure에 로그인해야 합니다.

az login

애플리케이션 빌드

애플리케이션을 빌드할 때 코드는 다음과 같은 두 가지 유형의 리소스와 상호 작용합니다.

  • 다음을 포함하는 KeyVaultSecret:
    • 비밀 이름, 문자열 값
    • 비밀 값 - 비밀의 문자열입니다. 필요에 따라 문자열 내/외부에 비밀 값의 직렬화 및 역직렬화를 제공합니다.
    • 비밀 속성.
  • SecretProperties이며 비밀의 메타데이터(예: 이름, 버전, 태그, 만료 데이터 및 사용 여부)를 포함합니다.

KeyVaultSecret 값이 필요한 경우 KeyVaultSecret을 반환하는 메서드를 사용합니다.

나머지 메서드는 SecretProperties 개체 또는 다음과 같은 속성의 다른 형식을 반환합니다.

SecretClient 개체 만들기

SecretClient 개체는 SDK의 최상위 개체입니다. 이 클라이언트를 사용하면 비밀을 조작할 수 있습니다.

Azure Key Vault 액세스 역할 및 로컬 환경이 설정되면 @azure/identity 패키지를 포함하는 JavaScript 파일을 만듭니다. DefaultAzureCredential과 같은 자격 증명을 만들어 자격 증명 모음에 대한 암호 없는 연결을 구현합니다. 해당 자격 증명을 사용하여 SecretClient 개체로 인증합니다.

// Include required dependencies
import { DefaultAzureCredential } from '@azure/identity';  
import { SecretClient } from '@azure/keyvault-secrets';  

// Authenticate to Azure
const credential = new DefaultAzureCredential(); 

// Create SecretClient
const vaultName = '<your-vault-name>';  
const url = `https://${vaultName}.vault.azure.net`;  
const client = new SecretClient(url, credential);  

// Get secret
const secret = await client.getSecret("MySecretName");

참고 항목

다음 단계