Udostępnij za pomocą


Biblioteka klienta administracyjnego usługi Azure Key Vault dla języka JavaScript — wersja 4.7.0

Zarządzany moduł HSM usługi Azure Key Vault to w pełni zarządzana, wysoce dostępna, jednodostępna, zgodna ze standardami usługa w chmurze, która umożliwia ochronę kluczy kryptograficznych dla aplikacji w chmurze przy użyciu zweryfikowanych modułów HSM fiPS 140-2 poziom 3. Jeśli chcesz dowiedzieć się więcej na temat zarządzanego modułu HSM usługi Azure Key Vault, warto zapoznać się z artykułem: Co to jest zarządzany moduł HSM usługi Azure Key Vault?

Pakiet @azure/keyvault-admin zapewnia obsługę zadań administracyjnych usługi Key Vault, takich jak pełna kopia zapasowa/przywracanie i kontrola dostępu oparta na rolach (RBAC) na poziomie klucza.

Uwaga: Biblioteka administracyjna działa tylko z zarządzanym modułem HSM usługi Azure Key Vault — funkcje przeznaczone dla usługi Key Vault nie będą działać.

Uwaga: nie można używać tego pakietu w przeglądarce z powodu ograniczeń usługi Azure Key Vault, zapoznaj się z tym dokumencie wskazówki.

Kluczowe linki:

Wprowadzenie

Instalowanie pakietu

Zainstaluj bibliotekę klienta administracyjnego usługi Azure Key Vault dla języków JavaScript i TypeScript przy użyciu NPM:

npm install @azure/keyvault-admin

Konfigurowanie języka TypeScript

Użytkownicy języka TypeScript muszą mieć zainstalowane definicje typu węzła:

npm install @types/node

Należy również włączyć compilerOptions.allowSyntheticDefaultImports w tsconfig.json. Należy pamiętać, że jeśli włączono compilerOptions.esModuleInterop, allowSyntheticDefaultImports jest domyślnie włączona. Aby uzyskać więcej informacji, zobacz podręcznik opcje kompilatora języka TypeScript.

Obecnie obsługiwane środowiska

  • Wersje LTS systemu Node.js

Wymagania wstępne

Uwierzytelnianie klienta

Aby wchodzić w interakcje z usługą Azure Key Vault, należy utworzyć wystąpienie klasy KeyVaultAccessControlClient lub klasy KeyVaultBackupClient, a także adres URL magazynu (który może być widoczny jako "Nazwa DNS" w witrynie Azure Portal) i obiekt poświadczeń. Przykłady przedstawione w tym dokumencie używają obiektu poświadczeń o nazwie DefaultAzureCredential, który jest odpowiedni dla większości scenariuszy, w tym lokalnych środowisk programistycznych i produkcyjnych. Ponadto zalecamy użycie tożsamości zarządzanej do uwierzytelniania w środowiskach produkcyjnych.

Więcej informacji na temat różnych sposobów uwierzytelniania i odpowiadających im typów poświadczeń można znaleźć w dokumentacji Azure Identity.

Tworzenie obiektu KeyVaultAccessControlClient

Po uwierzytelnieniu przy użyciu metody uwierzytelniania, która najlepiej odpowiada, możesz utworzyć KeyVaultAccessControlClient w następujący sposób, podstawiając adres URL zarządzanego modułu HSM w konstruktorze:

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

Tworzenie elementu KeyVaultBackupClient

Po uwierzytelnieniu przy użyciu metody uwierzytelniania, która najlepiej odpowiada, możesz utworzyć KeyVaultBackupClient w następujący sposób, podstawiając adres URL zarządzanego modułu HSM w konstruktorze:

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

Najważniejsze pojęcia

KeyVaultRoleDefinition

Definicja roli jest kolekcją uprawnień. Definicja roli definiuje operacje, które można wykonać, takie jak odczyt, zapis i usuwanie. Może również definiować operacje wykluczone z dozwolonych operacji.

Definicje ról można wyświetlać i określać jako część KeyVaultRoleAssignment.

KeyVaultRoleAssignment

Przypisanie roli jest skojarzeniem definicji roli z jednostką usługi. Można je tworzyć, wyświetlać, pobierać pojedynczo i usuwać.

KeyVaultAccessControlClient

KeyVaultAccessControlClient zapewnia operacje umożliwiające zarządzanie definicjami ról (wystąpieniami KeyVaultRoleDefinition) i przypisań ról (wystąpienia KeyVaultRoleAssignment).

KeyVaultBackupClient

KeyVaultBackupClient zapewnia operacje wykonywania pełnych kopii zapasowych kluczy, przywracania pełnych kluczy i selektywnych przywracania kluczy.

Długotrwałe operacje

Operacje wykonywane przez KeyVaultBackupClient mogą zająć tyle czasu, ile jest potrzebne przez zasoby platformy Azure, co wymaga, aby warstwa kliencka mogła śledzić, serializować i wznawiać operacje przez cykl życia programów, które oczekują na ich zakończenie. Odbywa się to za pośrednictwem wspólnej abstrakcji za pośrednictwem pakietu @azure/core-lro.

KeyVaultBackupClient oferuje trzy metody, które wykonują długotrwałe operacje:

  • beginBackupprogram rozpoczyna generowanie kopii zapasowej zarządzanego modułu HSM usługi Azure Key Vault na określonym koncie obiektu blob usługi Storage.
  • beginRestore, rozpoczyna przywracanie wszystkich kluczowych materiałów przy użyciu tokenu SAS wskazującego wcześniej przechowywany folder kopii zapasowej usługi Azure Blob Storage.
  • beginSelectiveRestore, rozpoczyna przywracanie wszystkich kluczowych wersji danego klucza przy użyciu tokenu SAS dostarczonego przez użytkownika wskazującego wcześniej przechowywany folder kopii zapasowej usługi Azure Blob Storage.

Metody, które rozpoczynają długotrwałe operacje, zwracają poller, który umożliwia oczekiwanie na czas nieokreślony do zakończenia operacji. Więcej informacji można znaleźć w poniższych przykładach.

Przykłady

Mamy przykłady zarówno w języku JavaScript, jak i TypeScript, które pokazują funkcje kontroli dostępu i tworzenia kopii zapasowych/przywracania w tym pakiecie. Postępuj zgodnie z odpowiednimi readmes, aby uzyskać szczegółowe instrukcje, aby uruchomić przykłady.

Rozwiązywanie problemów

Zobacz nasz przewodnik rozwiązywania problemów z , aby uzyskać szczegółowe informacje na temat diagnozowania różnych scenariuszy awarii.

Włączenie rejestrowania może pomóc odkryć przydatne informacje o błędach. Aby wyświetlić dziennik żądań i odpowiedzi HTTP, ustaw zmienną środowiskową AZURE_LOG_LEVEL na info. Alternatywnie rejestrowanie można włączyć w czasie wykonywania, wywołując setLogLevel w @azure/logger:

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

setLogLevel("info");

Dalsze kroki

Więcej przykładów kodu można znaleźć za pośrednictwem następujących linków:

Wkład

Jeśli chcesz współtworzyć tę bibliotekę, przeczytaj przewodnik dotyczący współtworzenia , aby dowiedzieć się więcej na temat tworzenia i testowania kodu.