Freigeben über


Azure Key Vault-Verwaltungsclientbibliothek für JavaScript – Version 4.7.0

Azure Key Vault Managed HSM ist ein vollständig verwalteter, hochverwalteter, hochverwendiger, standardkonformer Clouddienst, mit dem Sie kryptografische Schlüssel für Ihre Cloudanwendungen mithilfe von FIPS 140-2 Level 3 validierten HSMs schützen können. Wenn Sie mehr über azure Key Vault Managed HSM erfahren möchten, sollten Sie folgendes überprüfen: Was ist azure Key Vault Managed HSM?

Das Paket @azure/keyvault-admin bietet Unterstützung für administrative Key Vault-Aufgaben wie vollständige Sicherung/ Wiederherstellung und rollenbasierte Zugriffssteuerung (Key-Level Access Control, RBAC).

Hinweis: Die Verwaltungsbibliothek funktioniert nur mit vom Azure Key Vault verwalteten HSM- – Funktionen, die auf einen Key Vault abzielen, schlagen fehl.

Hinweis: Dieses Paket kann aufgrund von Azure Key Vault-Dienstbeschränkungen nicht im Browser verwendet werden. Weitere Informationen finden Sie in diesem Dokument.

Wichtige Links:

Erste Schritte

Installiere das Paket

Installieren Sie die Azure Key Vault-Verwaltungsclientbibliothek für JavaScript und TypeScript mit NPM-:

npm install @azure/keyvault-admin

Konfigurieren von TypeScript

TypeScript-Benutzer müssen Knotentypdefinitionen installiert haben:

npm install @types/node

Sie müssen auch compilerOptions.allowSyntheticDefaultImports in Ihrem tsconfig.jsonaktivieren. Wenn Sie compilerOptions.esModuleInteropaktiviert haben, ist allowSyntheticDefaultImports standardmäßig aktiviert. Weitere Informationen finden Sie im Compileroptionenhandbuch TypeScript.

Derzeit unterstützte Umgebungen

Voraussetzungen

Authentifizieren des Clients

Um mit dem Azure Key Vault-Dienst zu interagieren, müssen Sie eine Instanz der KeyVaultAccessControlClient-Klasse oder der KeyVaultBackupClient-Klasse sowie eine Vault-URL erstellen (die im Azure-Portal möglicherweise als "DNS-Name" angezeigt wird) und ein Anmeldeinformationsobjekt. In den Beispielen in diesem Dokument wird ein Anmeldeinformationsobjekt namens DefaultAzureCredentialverwendet, das für die meisten Szenarien geeignet ist, einschließlich lokaler Entwicklungs- und Produktionsumgebungen. Darüber hinaus empfehlen wir die Verwendung einer verwalteten Identität für die Authentifizierung in Produktionsumgebungen.

Weitere Informationen zu verschiedenen Möglichkeiten der Authentifizierung und der entsprechenden Anmeldeinformationstypen finden Sie in der Azure Identity-Dokumentation.

KeyVaultAccessControlClient erstellen

Nachdem Sie sich mit der Authentifizierungsmethode authentifiziert haben, die ihnen am bestenentspricht, können Sie eine KeyVaultAccessControlClient wie folgt erstellen, die in Ihrer verwalteten HSM-URL im Konstruktor ersetzt wird:

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 erstellen

Nachdem Sie sich mit der Authentifizierungsmethode authentifiziert haben, die ihnen am bestenentspricht, können Sie eine KeyVaultBackupClient wie folgt erstellen, die in Ihrer verwalteten HSM-URL im Konstruktor ersetzt wird:

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

Wichtige Begriffe

KeyVaultRoleDefinition

Eine Rollendefinition ist eine Sammlung von Berechtigungen. Eine Rollendefinition definiert die Vorgänge, die ausgeführt werden können, z. B. Lese-, Schreib- und Löschvorgänge. Sie kann auch die Vorgänge definieren, die von zulässigen Vorgängen ausgeschlossen sind.

Rollendefinitionen können als Teil einer KeyVaultRoleAssignmentaufgelistet und angegeben werden.

KeyVaultRoleAssignment

Eine Rollenzuweisung ist die Zuordnung einer Rollendefinition zu einem Dienstprinzipal. Sie können erstellt, aufgelistet, einzeln abgerufen und gelöscht werden.

KeyVaultAccessControlClient

Ein KeyVaultAccessControlClient bietet Vorgänge, die die Verwaltung von Rollendefinitionen (Instanzen von KeyVaultRoleDefinition) und Rollenzuweisungen (Instanzen von KeyVaultRoleAssignment) ermöglichen.

KeyVaultBackupClient

Ein KeyVaultBackupClient bietet Vorgänge zum Ausführen von vollständigen Schlüsselsicherungen, Vollständigschlüsselwiederherstellungen und selektiven Schlüsselwiederherstellungen.

Lang andauernde Vorgänge

Die von der KeyVaultBackupClient durchgeführten Vorgänge können so viel Zeit in Anspruch nehmen wie die Azure-Ressourcen, die eine Clientebene erfordern, um die Vorgänge über den Lebenszyklus der Programme nachzuverfolgen, serialisieren und fortzusetzen, die darauf warten, dass sie abgeschlossen sind. Dies erfolgt über eine gemeinsame Abstraktion durch das Paket @azure/core-lro.

Die KeyVaultBackupClient bietet drei Methoden, mit denen lange ausgeführte Vorgänge ausgeführt werden:

  • beginBackupstartet die Generierung einer Sicherung eines vom Azure Key Vault verwalteten HSM für das angegebene Speicher-Blob-Konto.
  • beginRestorebeginnt mit der Wiederherstellung aller wichtigen Materialien mithilfe des SAS-Tokens, das auf einen zuvor gespeicherten Azure Blob Storage-Sicherungsordner verweist.
  • beginSelectiveRestorestartet die Wiederherstellung aller Schlüsselversionen eines bestimmten Schlüssels mithilfe des vom Benutzer bereitgestellten SAS-Tokens, das auf einen zuvor gespeicherten Azure Blob Storage-Sicherungsordner verweist.

Die Methoden, mit denen lange ausgeführte Vorgänge beginnen, geben einen Poller zurück, mit dem Sie auf unbestimmte Zeit warten können, bis der Vorgang abgeschlossen ist. Weitere Informationen finden Sie in den folgenden Beispielen.

Beispiele

Wir haben Beispiele sowohl in JavaScript als auch typeScript, die die Zugriffssteuerungs- und Sicherungs-/Wiederherstellungsfeatures in diesem Paket anzeigen. Befolgen Sie die entsprechenden Lesevorgänge, um die Beispiele auszuführen.

Problembehandlung

Weitere Informationen zur Diagnose verschiedener Fehlerszenarien finden Sie in unserem Anleitung zur Problembehandlung.

Das Aktivieren der Protokollierung kann hilfreiche Informationen zu Fehlern aufdecken. Um ein Protokoll von HTTP-Anforderungen und -Antworten anzuzeigen, legen Sie die AZURE_LOG_LEVEL Umgebungsvariable auf infofest. Alternativ kann die Protokollierung zur Laufzeit durch Aufrufen von setLogLevel im @azure/loggeraktiviert werden:

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

setLogLevel("info");

Nächste Schritte

Weitere Codebeispiele finden Sie über die folgenden Links:

Mitarbeit

Wenn Sie an dieser Bibliothek mitwirken möchten, lesen Sie bitte den mitwirkenden Leitfaden, um mehr über das Erstellen und Testen des Codes zu erfahren.