이 문서에서는 JavaScript용 Azure Key Vault 비밀 클라이언트 라이브러리를 사용하여 Azure Key Vault에 연결하는 방법을 보여 줍니다. 연결되면 코드는 자격 증명 모음의 비밀 및 비밀 속성에서 작동할 수 있습니다.
API 참조 | 패키지(npm) | 라이브러리 소스 코드 | 샘플 | 피드백 제공
필수 조건
- Azure 구독 - 무료로 구독을 만듭니다.
- Azure Key Vault 인스턴스. Key Vault 의 액세스 정책을 검토하여 코드에서 수행되는 특정 작업에 필요한 권한을 포함합니다.
- Node.js 버전 LTS
프로젝트 설정
명령 프롬프트를 열고 프로젝트 폴더로 변경합니다.
YOUR-DIRECTORY를 폴더 이름으로 변경합니다.cd YOUR-DIRECTORY디렉터리에 이미
package.json파일이 없으면 프로젝트를 초기화하여 파일을 만듭니다.npm init -yJavaScript용 Azure Key Vault 비밀 클라이언트 라이브러리를 설치합니다.
npm install @azure/keyvault-secretsMicrosoft Entra ID를 사용하여 암호 없는 연결을 사용하려면 JavaScript용 Azure ID 클라이언트 라이브러리를 설치합니다.
npm install @azure/identity
액세스 권한 부여 및 Key Vault에 연결
Microsoft Entra ID는 연결 ID(관리 ID)를 관리하여 가장 안전한 연결을 제공합니다. 이 암호 없는 기능을 사용하면 코드에 저장된 비밀(키 또는 연결 문자열)이 필요하지 않은 애플리케이션을 개발할 수 있습니다.
Azure Key Vault 비밀을 사용하도록 프로그래밍 방식으로 Azure에 인증하기 전에 환경을 설정해야 합니다.
애플리케이션 빌드
애플리케이션을 빌드할 때 코드는 두 가지 유형의 리소스와 상호 작용합니다.
- 다음을 포함하는 KeyVaultSecret
- 비밀 이름, 문자열 값입니다.
- 비밀의 문자열인 비밀 값입니다. 필요에 따라 문자열 내/외부에 비밀 값의 직렬화 및 역직렬화를 제공합니다.
- 비밀 속성입니다.
- SecretProperties는 이름, 버전, 태그, 만료 데이터 및 사용 여부와 같은 비밀의 메타데이터를 포함합니다.
KeyVaultSecret 값이 필요한 경우 KeyVaultSecret을 반환하는 메서드를 사용합니다.
나머지 메서드는 SecretProperties 개체 또는 다음과 같은 다른 형식의 속성을 반환합니다.
SecretClient 개체 만들기
SecretClient 개체는 SDK의 최상위 개체입니다. 이 클라이언트를 사용하면 비밀을 조작할 수 있습니다.
Azure Key Vault 액세스 역할 및 로컬 환경이 설정되면 @azure/ID 패키지를 포함하는 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");