Freigeben über


Azure Key Vault Administration-Clientbibliothek für JavaScript– Version 4.5.0

Azure Key Vault Managed HSM ist ein vollständig verwalteter, hochverfügbarer, standardkonformer Clouddienst mit nur einem Mandanten, mit dem Sie kryptografische Schlüssel für Ihre Cloudanwendungen mit 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 lesen: 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 (Role-Based Access Control, RBAC) auf Schlüsselebene.

Hinweis: Die Verwaltungsbibliothek funktioniert nur mit Azure Key Vault Managed HSM. Funktionen, die auf eine Key Vault abzielen, schlagen fehl.

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

Wichtige Links:

Erste Schritte

Installieren des Pakets

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 in Ihrem tsconfig.json aktivieren compilerOptions.allowSyntheticDefaultImports . Beachten Sie, dass, wenn Sie aktiviert compilerOptions.esModuleInterophaben, allowSyntheticDefaultImports standardmäßig aktiviert ist. Weitere Informationen finden Sie im Handbuch für Compileroptionen von TypeScript .

Die derzeitig unterstützten Umgebungen

Voraussetzungen

Authentifizieren des Clients

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

Weitere Informationen zu verschiedenen Authentifizierungsmethoden und den entsprechenden Anmeldeinformationstypen finden Sie in der Dokumentation zu Azure Identity.

Erstellen von KeyVaultAccessControlClient

Nachdem Sie sich mit der für Sie am besten geeigneten Authentifizierungsmethode authentifiziert haben, können Sie eine KeyVaultAccessControlClient wie folgt erstellen, indem Sie in Ihrer verwalteten HSM-URL im Konstruktor ersetzen:

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

const credentials = new DefaultAzureCredential();

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

Erstellen von KeyVaultBackupClient

Nachdem Sie sich mit der für Sie am besten geeigneten Authentifizierungsmethode authentifiziert haben, können Sie eine KeyVaultBackupClient wie folgt erstellen, indem Sie in Ihrer verwalteten HSM-URL im Konstruktor ersetzen:

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

const credentials = new DefaultAzureCredential();

const client = new KeyVaultBackupClient(`<your Managed HSM URL>`, 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. Lesen, Schreiben und Löschen. Es kann auch die Vorgänge definieren, die von zulässigen Vorgängen ausgeschlossen sind.

Rollendefinitionen können aufgelistet und als Teil eines KeyVaultRoleAssignmentangegeben 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 stellt Vorgänge bereit, die die Verwaltung von Rollendefinitionen (Instanzen von KeyVaultRoleDefinition) und Rollenzuweisungen (Instanzen von KeyVaultRoleAssignment) ermöglichen.

KeyVaultBackupClient

Ein KeyVaultBackupClient stellt Vorgänge für vollständige Schlüsselsicherungen, Vollständige Schlüsselwiederherstellungen und selektive Schlüsselwiederherstellungen bereit.

Zeitintensive Vorgänge

Die von ausgeführten KeyVaultBackupClient Vorgängen können so viel Zeit in Anspruch nehmen, wie von den Azure-Ressourcen benötigt wird, sodass eine Clientebene die Vorgänge über den Lebenszyklus der Programme nachverfolgt, serialisiert und fortgesetzt werden muss, die darauf warten, dass sie abgeschlossen sind. Dies erfolgt über eine gemeinsame Abstraktion durch das Paket @azure/core-lro.

Bietet KeyVaultBackupClient drei Methoden, mit denen Vorgänge mit langer Ausführungszeit ausgeführt werden:

  • beginBackupbeginnt mit dem Generieren einer Sicherung eines Azure Key Vault Managed HSM für das angegebene Storage-Blobkonto.
  • beginRestorebeginnt mit der Wiederherstellung aller wichtigen Materialien mithilfe des SAS-Tokens, das auf einen zuvor gespeicherten Azure Blob Storage-Sicherungsordner verweist.
  • beginSelectiveRestorebeginnt mit der 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 Vorgänge mit langer Ausführungszeit beginnen, geben einen Poller zurück, mit dem Sie unbegrenzt 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 in TypeScript, die die Zugriffssteuerungs- und Sicherungs-/Wiederherstellungsfeatures in diesem Paket zeigen. Befolgen Sie die entsprechenden Readmes, um detaillierte Schritte zum Ausführen der Beispiele zu finden.

Problembehandlung

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

Die Aktivierung der Protokollierung kann hilfreiche Informationen über Fehler aufdecken. Um ein Protokoll von HTTP-Anforderungen und -Antworten anzuzeigen, legen Sie die Umgebungsvariable AZURE_LOG_LEVEL auf info fest. Alternativ kann die Protokollierung zur Laufzeit aktiviert werden, indem Sie setLogLevel in @azure/logger aufrufen:

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

setLogLevel("info");

Nächste Schritte

Weitere Codebeispiele finden Sie unter den folgenden Links:

Mitwirken

Wenn Sie an dieser Bibliothek mitwirken möchten, lesen Sie die Anleitung für Mitwirkende, um mehr darüber zu erfahren, wie Sie den Code erstellen und testen können.

Aufrufe