JavaScript용 Azure Key Vault 관리 클라이언트 라이브러리 - 버전 4.5.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.json 사용하도록 설정 compilerOptions.allowSyntheticDefaultImports 해야 합니다. 를 사용하도록 설정한 compilerOptions.esModuleInteropallowSyntheticDefaultImports 경우 는 기본적으로 사용하도록 설정됩니다. 자세한 내용은 TypeScript의 컴파일러 옵션 핸드북 을 참조하세요.

현재 지원되는 환경

필수 구성 요소

클라이언트 인증

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

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

KeyVaultAccessControlClient 만들기

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

const { DefaultAzureCredential } = require("@azure/identity");
const { KeyVaultAccessControlClient } = require("@azure/keyvault-admin");

const credentials = new DefaultAzureCredential();

const client = new KeyVaultAccessControlClient(`<your Managed HSM URL>`, credentials);

KeyVaultBackupClient 만들기

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

const { DefaultAzureCredential } = require("@azure/identity");
const { KeyVaultBackupClient } = require("@azure/keyvault-admin");

const credentials = new DefaultAzureCredential();

const client = new KeyVaultBackupClient(`<your Managed HSM URL>`, 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로 설정합니다. 또는 @azure/logger에서 setLogLevel을 호출하여 런타임에 로깅을 사용하도록 설정할 수 있습니다.

const { setLogLevel } = require("@azure/logger");

setLogLevel("info");

다음 단계

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

참여

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

Impressions