JavaScript에서 Azure Key Vault 비밀 시작
이 문서에서는 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 -y
JavaScript용 Azure Key Vault 비밀 클라이언트 라이브러리 설치:
npm install @azure/keyvault-secrets
Azure AD를 사용하여 암호 없는 연결을 사용하려면 JavaScript용 Microsoft Entra 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/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");