Azure Key Vault Administration-clientbibliotheek voor JavaScript - versie 4.5.0

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

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

Opmerking: de beheerbibliotheek werkt alleen met Azure Key Vault Managed HSM. Functies die zijn gericht op een Key Vault mislukken.

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

Belangrijke koppelingen:

Aan de slag

Het pakket installeren

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 inschakelen compilerOptions.allowSyntheticDefaultImports in uw tsconfig.json. Houd er rekening mee dat als u hebt ingeschakeld compilerOptions.esModuleInterop, allowSyntheticDefaultImports standaard is ingeschakeld. Zie het handboek voor compileropties van TypeScript voor meer informatie.

Momenteel ondersteunde omgevingen

Vereisten

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 mogelijk ziet als 'DNS-naam' in de Azure-portal) en een referentieobject. De voorbeelden in dit document maken gebruik van een referentieobject met de naam DefaultAzureCredential, dat geschikt is voor de meeste scenario's, waaronder lokale ontwikkelings- en productieomgevingen. Daarnaast raden we u aan een beheerde identiteit te gebruiken voor verificatie in productieomgevingen.

Meer informatie over verschillende manieren van verificatie en de bijbehorende referentietypen vindt u in de Documentatie over Azure Identity.

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 URL van uw beheerde HSM in de constructor vervangt:

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 maken

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

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

const credentials = new DefaultAzureCredential();

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

Belangrijkste 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 zijn 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

A KeyVaultAccessControlClient biedt bewerkingen voor het beheer van roldefinities (exemplaren van KeyVaultRoleDefinition) en roltoewijzingen (exemplaren van KeyVaultRoleAssignment).

KeyVaultBackupClient

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

Langlopende bewerkingen

De bewerkingen die door de KeyVaultBackupClient worden uitgevoerd, kunnen zoveel tijd in beslag nemen als nodig is voor de Azure-resources, waardoor 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 langdurige bewerkingen:

  • beginBackup, begint met het genereren van een back-up van een Azure Key Vault Managed HSM voor het opgegeven Storage Blob-account.
  • beginRestore, begint met het herstellen van alle belangrijke materialen met behulp van het SAS-token dat verwijst naar een eerder opgeslagen back-upmap van Azure Blob Storage.
  • beginSelectiveRestore, begint met het herstellen van alle sleutelversies van een bepaalde sleutel met behulp van door de gebruiker opgegeven SAS-token dat verwijst naar een eerder opgeslagen Back-upmap van Azure Blob Storage.

De methoden die langdurige 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 Zowel JavaScript als 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.

Problemen oplossen

Zie onze gids voor probleemoplossing voor meer informatie over het diagnosticeren van verschillende foutscenario's.

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

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

setLogLevel("info");

Volgende stappen

Meer codevoorbeelden vindt u via de volgende koppelingen:

Bijdragen

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

Weergaven