Delen via


Azure Key Vault-beheerclientbibliotheek voor JavaScript - versie 4.7.0

Azure Key Vault Managed HSM is een volledig beheerde, maximaal beschikbare cloudservice met één tenant die voldoet aan standaarden waarmee u cryptografische sleutels voor uw cloudtoepassingen kunt beveiligen met behulp van met FIPS 140-2 Level 3 gevalideerde HSM's. Als u meer wilt weten over beheerde HSM van Azure Key Vault, kunt u het volgende bekijken: Wat is azure Key Vault Managed HSM?

Het pakket @azure/keyvault-admin biedt ondersteuning voor beheertaken van Key Vault, zoals volledige back-up/herstel en op rollen gebaseerd toegangsbeheer (RBAC) op sleutelniveau.

Opmerking: de beheerbibliotheek werkt alleen met beheerde HSM van Azure Key Vault: functies die zijn gericht op een Key Vault, mislukken.

Opmerking: dit pakket kan niet worden gebruikt in de browser vanwege servicebeperkingen van Azure Key Vault. Raadpleeg dit document voor hulp.

Sleutelkoppelingen:

Aan de slag

Installeer het pakket

Installeer de Azure Key Vault-beheerclientbibliotheek voor JavaScript en TypeScript met NPM-:

npm install @azure/keyvault-admin

TypeScript configureren

TypeScript-gebruikers moeten knooppunttypedefinities hebben geïnstalleerd:

npm install @types/node

U moet ook compilerOptions.allowSyntheticDefaultImports inschakelen in uw tsconfig.json. Houd er rekening mee dat als u compilerOptions.esModuleInterophebt ingeschakeld, allowSyntheticDefaultImports standaard is ingeschakeld. Zie het handboek voor compileropties van TypeScript voor meer informatie.

Momenteel ondersteunde omgevingen

Vereiste voorwaarden

De client verifiëren

Als u wilt communiceren met de Azure Key Vault-service, moet u een exemplaar van de KeyVaultAccessControlClient-klasse of de KeyVaultBackupClient-klasse maken, evenals een kluis-URL (die u kunt zien als 'DNS-naam' in de Azure-portal) en een referentieobject. In de voorbeelden in dit document wordt een referentieobject met de naam DefaultAzureCredentialgebruikt. Dit is geschikt voor de meeste scenario's, waaronder lokale ontwikkel- en productieomgevingen. Daarnaast raden we u aan een beheerde identiteit te gebruiken voor verificatie in productieomgevingen.

Meer informatie over verschillende manieren om te verifiëren en de bijbehorende referentietypen vindt u in de Azure Identity-documentatie.

KeyVaultAccessControlClient maken

Zodra u bent geverifieerd met de verificatiemethode die het beste bij u past, kunt u als volgt een KeyVaultAccessControlClient maken, waarbij u de beheerde HSM-URL in de constructor vervangt:

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 maken

Zodra u bent geverifieerd met de verificatiemethode die het beste bij u past, kunt u als volgt een KeyVaultBackupClient maken, waarbij u de beheerde HSM-URL in de constructor vervangt:

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

Belangrijke concepten

KeyVaultRoleDefinition

Een roldefinitie is een verzameling machtigingen. Een roldefinitie definieert de bewerkingen die kunnen worden uitgevoerd, zoals lezen, schrijven en verwijderen. Het kan ook de bewerkingen definiëren die worden uitgesloten van toegestane bewerkingen.

Roldefinities kunnen worden vermeld en opgegeven als onderdeel van een KeyVaultRoleAssignment.

KeyVaultRoleAssignment

Een roltoewijzing is de koppeling van een roldefinitie aan een service-principal. Ze kunnen afzonderlijk worden gemaakt, weergegeven, opgehaald en verwijderd.

KeyVaultAccessControlClient

Een KeyVaultAccessControlClient biedt bewerkingen waarmee roldefinities (exemplaren van KeyVaultRoleDefinition) en roltoewijzingen (exemplaren van KeyVaultRoleAssignment) kunnen worden beheerd.

KeyVaultBackupClient

Een KeyVaultBackupClient biedt bewerkingen voor het uitvoeren van volledige sleutelback-ups, volledige sleutelherstel en selectief sleutelherstel.

Langlopende bewerkingen

De bewerkingen die door de KeyVaultBackupClient worden uitgevoerd, kunnen zoveel tijd in beslag nemen als nodig is voor de Azure-resources, waarvoor een clientlaag nodig is om de bewerkingen bij te houden, te serialiseren en te hervatten gedurende de levenscyclus van de programma's die wachten totdat ze zijn voltooid. Dit gebeurt via een algemene abstractie via het pakket @azure/core-lro.

De KeyVaultBackupClient biedt drie methoden voor het uitvoeren van langlopende bewerkingen:

  • beginBackupbegint met het genereren van een back-up van een door Azure Key Vault beheerde HSM op het opgegeven Storage Blob-account.
  • beginRestorebegint het herstellen van alle sleutelmaterialen met behulp van het SAS-token dat verwijst naar een eerder opgeslagen back-upmap van Azure Blob Storage.
  • beginSelectiveRestorewordt gestart met het herstellen van alle sleutelversies van een bepaalde sleutel met behulp van een door de gebruiker opgegeven SAS-token dat verwijst naar een eerder opgeslagen back-upmap van Azure Blob Storage.

De methoden die langlopende bewerkingen starten, retourneren een poller waarmee u voor onbepaalde tijd kunt wachten totdat de bewerking is voltooid. Meer informatie vindt u in de onderstaande voorbeelden.

Voorbeelden

We hebben voorbeelden in JavaScript en TypeScript die de functies voor toegangsbeheer en back-up/herstel in dit pakket weergeven. Volg de bijbehorende leesbewerkingen voor gedetailleerde stappen om de voorbeelden uit te voeren.

Probleemoplossingsproces

Raadpleeg onze gids voor probleemoplossing voor meer informatie over het vaststellen van verschillende foutscenario's.

Het inschakelen van logboekregistratie kan helpen nuttige informatie over fouten te ontdekken. Als u een logboek met HTTP-aanvragen en -antwoorden wilt zien, stelt u de omgevingsvariabele AZURE_LOG_LEVEL in op info. U kunt logboekregistratie ook tijdens runtime inschakelen door setLogLevel aan te roepen in de @azure/logger:

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

setLogLevel("info");

Volgende stappen

U vindt meer codevoorbeelden via de volgende koppelingen:

Bijdragen

Als u een bijdrage wilt leveren aan deze bibliotheek, leest u de gids voor bijdragen voor meer informatie over het bouwen en testen van de code.