Udostępnij za pośrednictwem


Biblioteka klienta usługi Azure Key Vault Administration dla języka JavaScript — wersja 4.5.0

Zarządzany moduł HSM platformy 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 na poziomie 3. Jeśli chcesz dowiedzieć się więcej na temat zarządzanego modułu HSM platformy Azure Key Vault, warto przejrzeć: Co to jest zarządzany moduł HSM platformy Azure Key Vault?

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

Uwaga: Biblioteka administracyjna działa tylko z modułem HSM zarządzanym przez usługę Azure Key Vault — funkcje przeznaczone dla Key Vault zakończy się niepowodzeniem.

Uwaga: ten pakiet nie może być używany w przeglądarce ze względu na ograniczenia usługi Azure Key Vault, zapoznaj się z tym dokumentem, aby uzyskać wskazówki.

Kluczowe linki:

Wprowadzenie

Instalowanie pakietu

Zainstaluj bibliotekę klienta administracyjnej usługi Azure Key Vault dla języków JavaScript i TypeScript przy użyciu narzędzia 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. Pamiętaj, że jeśli włączono compilerOptions.esModuleInteropusługę , allowSyntheticDefaultImports jest domyślnie włączona. Aby uzyskać więcej informacji, zobacz podręcznik dotyczący opcji kompilatora języka TypeScript .

Obecnie obsługiwane środowiska

Wymagania wstępne

Uwierzytelnianie klienta

Aby móc korzystać z usługi Azure Key Vault, musisz utworzyć wystąpienie KeyVaultAccessControlClient klasy lub KeyVaultBackupClient klasy, 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 usługi Azure Identity.

Tworzenie obiektu KeyVaultAccessControlClient

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

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

const credentials = new DefaultAzureCredential();

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

Tworzenie elementu KeyVaultBackupClient

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

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

const credentials = new DefaultAzureCredential();

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

Kluczowe pojęcia

KeyVaultRoleDefinition

Definicja roli to kolekcja 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ęść KeyVaultRoleAssignmentelementu .

KeyVaultRoleAssignment

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

KeyVaultAccessControlClient

Element zapewnia KeyVaultAccessControlClient operacje umożliwiające zarządzanie definicjami ról (wystąpieniami KeyVaultRoleDefinition) i przypisaniami ról (wystąpieniami programu KeyVaultRoleAssignment).

KeyVaultBackupClient

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

Długotrwałe operacje

Operacje wykonywane przez KeyVaultBackupClient zasoby platformy Azure mogą zająć tyle czasu, ile wymagają warstwy klienta, aby śledzić, serializować i wznawiać operacje za pośrednictwem cyklu życia programów oczekujących na ich zakończenie. Odbywa się to za pośrednictwem wspólnej abstrakcji za pośrednictwem pakietu @azure/core-lro.

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

  • beginBackupprogram rozpoczyna generowanie kopii zapasowej zarządzanego modułu HSM platformy Azure Key Vault na określonym koncie obiektu blob usługi Storage.
  • beginRestoreprogram rozpoczyna przywracanie wszystkich kluczowych materiałów przy użyciu tokenu SAS wskazującego wcześniej przechowywany folder kopii zapasowej usługi Azure Blob Storage.
  • beginSelectiveRestoreprogram 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ą element poller, który umożliwia oczekiwanie na czas nieokreślony, aż operacja zostanie ukończona. 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 kroki, aby uruchomić przykłady.

Rozwiązywanie problemów

Zobacz nasz przewodnik rozwiązywania problemów, 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ń HTTP i odpowiedzi, ustaw zmienną AZURE_LOG_LEVEL środowiskową na info. Możesz też włączyć rejestrowanie w czasie wykonywania, wywołując polecenie w elemecie setLogLevel@azure/logger:

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

setLogLevel("info");

Następne kroki

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

Współtworzenie

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

Wrażenia