다음을 통해 공유


JavaScript용 Azure Key Vault 관리 클라이언트 라이브러리 - 버전 4.7.0

Azure Key Vault 관리형 HSM은 FIPS 140-2 수준 3 유효성이 검사된 HSM을 사용하여 클라우드 애플리케이션에 대한 암호화 키를 보호할 수 있는 완전 관리형 고가용성 단일 테넌트 표준 규격 클라우드 서비스입니다. Azure Key Vault 관리형 HSM에 대해 자세히 알아보려면 다음을 검토할 수 있습니다. Azure Key Vault 관리형 HSM이란?

패키지 @azure/keyvault-admin 전체 백업/복원 및 RBAC(키 수준 역할 기반 액세스 제어)와 같은 관리 Key Vault 작업을 지원합니다.

참고: 관리 라이브러리는 azure Key Vault 관리형 HSM 작동합니다. Key Vault를 대상으로 하는 함수는 실패합니다.

참고: 이 패키지는 Azure Key Vault 서비스 제한 사항으로 인해 브라우저에서 사용할 수 없습니다. 지침은 이 문서 참조하세요.

키 링크:

시작하기

패키지 설치

NPM사용하여 JavaScript 및 TypeScript용 Azure Key Vault 관리 클라이언트 라이브러리를 설치합니다.

npm install @azure/keyvault-admin

TypeScript 구성

TypeScript 사용자는 노드 형식 정의를 설치해야 합니다.

npm install @types/node

또한 tsconfig.jsoncompilerOptions.allowSyntheticDefaultImports 사용하도록 설정해야 합니다. compilerOptions.esModuleInterop사용하도록 설정한 경우 기본적으로 allowSyntheticDefaultImports 사용하도록 설정됩니다. 자세한 내용은 TypeScript의 컴파일러 옵션 핸드북 참조하세요.

현재 지원되는 환경

필수 조건

클라이언트 인증

Azure Key Vault 서비스와 상호 작용하려면 KeyVaultAccessControlClient 클래스 또는 KeyVaultBackupClient 클래스의 인스턴스와 자격 증명 모음 URL(Azure Portal에서 "DNS 이름"으로 표시될 수 있음) 및 자격 증명 개체를 만들어야 합니다. 이 문서에 표시된 예제에서는 로컬 개발 및 프로덕션 환경을 비롯한 대부분의 시나리오에 적합한 DefaultAzureCredential자격 증명 개체를 사용합니다. 또한 프로덕션 환경에서 인증에 관리 ID 사용하는 것이 좋습니다.

Azure ID 설명서다양한 인증 방법 및 해당 자격 증명 유형에 대한 자세한 정보를 확인할 수 있습니다.

KeyVaultAccessControlClient 만들기

가장 적합한 인증 방법을인증한 후에는 다음과 같이 KeyVaultAccessControlClient 만들어 생성자의 관리형 HSM URL로 대체합니다.

import { DefaultAzureCredential } from "@azure/identity";
import { KeyVaultAccessControlClient } from "@azure/keyvault-admin";

const vaultUrl = `https://<MY KEY VAULT HERE>.vault.azure.net`;
const credentials = new DefaultAzureCredential();
const client = new KeyVaultAccessControlClient(vaultUrl, credentials);

KeyVaultBackupClient 만들기

가장 적합한 인증 방법을인증한 후에는 다음과 같이 KeyVaultBackupClient 만들어 생성자의 관리형 HSM URL로 대체합니다.

import { DefaultAzureCredential } from "@azure/identity";
import { KeyVaultBackupClient } from "@azure/keyvault-admin";

const vaultUrl = `https://<MY KEY VAULT HERE>.vault.azure.net`;
const credentials = new DefaultAzureCredential();
const client = new KeyVaultBackupClient(vaultUrl, credentials);

주요 개념

KeyVaultRoleDefinition

역할 정의는 사용 권한의 컬렉션입니다. 역할 정의는 읽기, 쓰기 및 삭제와 같이 수행할 수 있는 작업을 정의합니다. 허용된 작업에서 제외되는 작업을 정의할 수도 있습니다.

역할 정의를 나열하고 KeyVaultRoleAssignment일부로 지정할 수 있습니다.

KeyVaultRoleAssignment

역할 할당은 서비스 주체에 대한 역할 정의의 연결입니다. 생성, 나열, 개별적으로 페치 및 삭제할 수 있습니다.

KeyVaultAccessControlClient

KeyVaultAccessControlClient 역할 정의(KeyVaultRoleDefinition인스턴스) 및 역할 할당(KeyVaultRoleAssignment인스턴스)을 관리할 수 있는 작업을 제공합니다.

KeyVaultBackupClient

KeyVaultBackupClient 전체 키 백업, 전체 키 복원 및 선택적 키 복원을 수행하기 위한 작업을 제공합니다.

장기 실행 작업

KeyVaultBackupClient 수행된 작업은 Azure 리소스에 필요한 만큼 시간이 걸릴 수 있으므로 클라이언트 계층이 완료되기를 기다리는 프로그램의 수명 주기를 통해 작업을 추적, 직렬화 및 다시 시작해야 합니다. 이 작업은 패키지 @azure/core-lro통해 일반적인 추상화로 수행됩니다.

KeyVaultBackupClient 장기 실행 작업을 실행하는 세 가지 메서드를 제공합니다.

  • beginBackup지정된 Storage Blob 계정에서 Azure Key Vault 관리형 HSM의 백업 생성을 시작합니다.
  • beginRestore이전에 저장된 Azure Blob Storage 백업 폴더를 가리키는 SAS 토큰을 사용하여 모든 주요 자료 복원을 시작합니다.
  • beginSelectiveRestore이전에 저장된 Azure Blob Storage 백업 폴더를 가리키는 사용자 제공 SAS 토큰을 사용하여 지정된 키의 모든 키 버전을 복원하기 시작합니다.

장기 실행 작업을 시작하는 메서드는 작업이 완료될 때까지 무기한 대기할 수 있는 폴러를 반환합니다. 자세한 내용은 아래 예제에서 확인할 수 있습니다.

예시

이 패키지의 액세스 제어 및 백업/복원 기능을 보여 주는 JavaScript 및 TypeScript 샘플이 있습니다. 샘플을 실행하는 자세한 단계는 해당 추가 정보를 따르세요.

문제 해결

다양한 오류 시나리오를 진단하는 방법에 대한 자세한 내용은 문제 해결 가이드 참조하세요.

로깅을 사용하도록 설정하면 오류에 대한 유용한 정보를 파악하는 데 도움이 될 수 있습니다. HTTP 요청 및 응답 로그를 보려면 AZURE_LOG_LEVEL 환경 변수를 info설정합니다. 또는 setLogLevel@azure/logger 호출하여 런타임에 로깅을 사용하도록 설정할 수 있습니다.

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

다음 단계

다음 링크를 통해 더 많은 코드 샘플을 찾을 수 있습니다.

기여하기

이 라이브러리에 기여하려면 기여 가이드 읽어 코드를 빌드하고 테스트하는 방법에 대해 자세히 알아보세요.