Azure 密钥保管库-klientbibliotek för JavaScript – version 4.7.0

Azure Key Vault Managed HSM är en fullständigt hanterad, högtillgänglig molntjänst med en enda klient, standardkompatibel molntjänst som gör att du kan skydda kryptografiska nycklar för dina molnprogram med FIPS 140-2 Level 3-verifierade HSM:er. Om du vill veta mer om Azure Key Vault Managed HSM kanske du vill granska: Vad är Azure Key Vault Managed HSM?

Paketet @azure/keyvault-admin ger stöd för administrativa Key Vault-uppgifter, till exempel fullständig säkerhetskopiering/återställning och rollbaserad åtkomstkontroll på nyckelnivå (RBAC).

Obs! Administrationsbiblioteket fungerar bara med Azure Key Vault Managed HSM- – funktioner som är inriktade på ett Key Vault misslyckas.

Obs! Det här paketet kan inte användas i webbläsaren på grund av begränsningar i Azure Key Vault-tjänsten. Mer information finns i det här dokumentet.

Nyckellänkar:

Komma igång

Installera paketet

Installera Azure Key Vault-administrationsklientbiblioteket för JavaScript och TypeScript med NPM-:

npm install @azure/keyvault-admin

Konfigurera TypeScript

TypeScript-användare måste ha definitioner av nodtyp installerade:

npm install @types/node

Du måste också aktivera compilerOptions.allowSyntheticDefaultImports i din tsconfig.json. Observera att om du har aktiverat compilerOptions.esModuleInteropär allowSyntheticDefaultImports aktiverat som standard. Mer information finns i TypeScripts handbok för kompilatoralternativ.

Miljöer som stöds för närvarande

Förutsättningar

Autentisera klienten

För att kunna interagera med Azure Key Vault-tjänsten måste du skapa en instans av antingen klassen KeyVaultAccessControlClient eller klassen KeyVaultBackupClient, samt en url för valv (som du kan se som "DNS-namn" i Azure-portalen) och ett autentiseringsobjekt. Exemplen som visas i det här dokumentet använder ett autentiseringsobjekt med namnet DefaultAzureCredential, vilket är lämpligt för de flesta scenarier, inklusive lokala utvecklings- och produktionsmiljöer. Dessutom rekommenderar vi att du använder en hanterad identitet för autentisering i produktionsmiljöer.

Du hittar mer information om olika sätt att autentisera och deras motsvarande typer av autentiseringsuppgifter i dokumentationen Azure Identity.

Skapa KeyVaultAccessControlClient

När du har autentiserat med den autentiseringsmetod som passar dig bästkan du skapa en KeyVaultAccessControlClient på följande sätt och ersätta den i din hanterade HSM-URL i konstruktorn:

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);

Skapa KeyVaultBackupClient

När du har autentiserat med den autentiseringsmetod som passar dig bästkan du skapa en KeyVaultBackupClient på följande sätt och ersätta den i din hanterade HSM-URL i konstruktorn:

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);

Viktiga begrepp

KeyVaultRoleDefinition

En rolldefinition är en samling behörigheter. En rolldefinition definierar de åtgärder som kan utföras, till exempel läsning, skrivning och borttagning. Den kan också definiera de åtgärder som undantas från tillåtna åtgärder.

Rolldefinitioner kan visas och anges som en del av en KeyVaultRoleAssignment.

KeyVaultRoleAssignment (NyckelvalvRollTilldelning)

En rolltilldelning är associationen mellan en rolldefinition och ett huvudnamn för tjänsten. De kan skapas, visas, hämtas individuellt och tas bort.

KeyVaultAccessControlClient

En KeyVaultAccessControlClient tillhandahåller åtgärder som möjliggör hantering av rolldefinitioner (instanser av KeyVaultRoleDefinition) och rolltilldelningar (instanser av KeyVaultRoleAssignment).

KeyVaultBackupClient

En KeyVaultBackupClient tillhandahåller åtgärder för att utföra fullständiga nyckelsäkerhetskopior, fullständiga nyckelåterställningar och selektiva nyckelåterställningar.

Tidskrävande åtgärder

De åtgärder som utförs av KeyVaultBackupClient kan ta så lång tid som behövs av Azure-resurserna, vilket kräver att ett klientlager håller reda på, serialiserar och återupptar åtgärderna genom livscykeln för de program som väntar på att de ska slutföras. Detta görs via en vanlig abstraktion via paketet @azure/core-lro.

KeyVaultBackupClient erbjuder tre metoder som kör tidskrävande åtgärder:

  • beginBackupbörjar generera en säkerhetskopia av en Hanterad HSM för Azure Key Vault på det angivna Lagringsblobkontot.
  • beginRestorebörjar återställa allt nyckelmaterial med hjälp av SAS-token som pekar på en tidigare lagrad Azure Blob Storage-säkerhetskopieringsmapp.
  • beginSelectiveRestorebörjar återställa alla nyckelversioner av en viss nyckel med hjälp av en sas-token som angetts av användaren och pekar på en tidigare lagrad azure bloblagringssäkerhetsmapp.

De metoder som påbörjar tidskrävande åtgärder returnerar en poller som gör att du kan vänta på obestämd tid tills åtgärden är klar. Mer information finns i exemplen nedan.

Exempel

Vi har exempel både i JavaScript och TypeScript som visar funktionerna för åtkomstkontroll och säkerhetskopiering/återställning i det här paketet. Följ motsvarande readmes för detaljerade steg för att köra exemplen.

Felsökning

Mer information om hur du diagnostiserar olika felscenarier finns i felsökningsguiden för .

Aktivering av loggning kan hjälpa dig att hitta användbar information om fel. Om du vill se en logg med HTTP-begäranden och svar anger du AZURE_LOG_LEVEL miljövariabeln till info. Du kan också aktivera loggning vid körning genom att anropa setLogLevel i @azure/logger:

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

setLogLevel("info");

Nästa steg

Du hittar fler kodexempel via följande länkar:

Bidrag

Om du vill bidra till det här biblioteket kan du läsa bidragsguide för att lära dig mer om hur du skapar och testar koden.