Wprowadzenie do wpisów tajnych usługi Azure Key Vault w języku JavaScript
W tym artykule pokazano, jak nawiązać połączenie z usługą Azure Key Vault przy użyciu biblioteki klienta wpisów tajnych usługi Azure Key Vault dla języka JavaScript. Po nawiązaniu połączenia kod może działać na wpisach tajnych i właściwościach wpisów tajnych w magazynie.
Przykłady kodu | | źródłowego biblioteki źródłowej pakietu referencyjnego | interfejsu API (npm) | Prześlij opinię
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz bezpłatnie.
- Wystąpienie usługi Azure Key Vault . Przejrzyj zasady dostępu w usłudze Key Vault, aby uwzględnić uprawnienia niezbędne do wykonywania określonych zadań w kodzie.
- Node.js wersja LTS
konfigurowanie projektu
Otwórz wiersz polecenia i przejdź do folderu projektu. Zmień
YOUR-DIRECTORY
nazwę folderu na:cd YOUR-DIRECTORY
Jeśli nie masz
package.json
jeszcze pliku w katalogu, zainicjuj projekt w celu utworzenia pliku:npm init -y
Zainstaluj bibliotekę klienta wpisów tajnych usługi Azure Key Vault dla języka JavaScript:
npm install @azure/keyvault-secrets
Jeśli chcesz używać połączeń bez hasła przy użyciu identyfikatora Entra firmy Microsoft, zainstaluj bibliotekę klienta tożsamości platformy Azure dla języka JavaScript:
npm install @azure/identity
Autoryzowanie dostępu i nawiązywanie połączenia z usługą Key Vault
Identyfikator entra firmy Microsoft zapewnia najbezpieczniejsze połączenie, zarządzając tożsamością połączenia (tożsamością zarządzaną). Ta funkcja bez hasła umożliwia tworzenie aplikacji, która nie wymaga żadnych wpisów tajnych (kluczy ani parametry połączenia) przechowywanych w kodzie.
Przed programowym uwierzytelnieniem na platformie Azure w celu korzystania z wpisów tajnych usługi Azure Key Vault upewnij się, że skonfigurowaliśmy środowisko.
Deweloper powinien zainstalować interfejs wiersza polecenia platformy Azure i zalogować się interaktywnie za pomocą polecenia az login , aby zalogować się na platformie Azure przed użyciem polecenia DefaultAzureCredential w kodzie.
az login
Kompilowanie aplikacji
Podczas tworzenia aplikacji kod współdziała z dwoma typami zasobów:
- KeyVaultSecret, w tym:
- Nazwa wpisu tajnego, wartość ciągu.
- Wartość wpisu tajnego, która jest ciągiem wpisu tajnego. W razie potrzeby należy podać serializacji i deserializacji wartości wpisu tajnego do i z ciągu.
- Właściwości wpisu tajnego.
- SecretProperties, które obejmują metadane wpisu tajnego, takie jak jego nazwa, wersja, tagi, dane wygasania i czy jest włączona.
Jeśli potrzebujesz wartości keyVaultSecret, użyj metod, które zwracają klucz KeyVaultSecret:
Pozostałe metody zwracają obiekt SecretProperties lub inną formę właściwości, takich jak:
Tworzenie obiektu SecretClient
Obiekt SecretClient jest najwyższym obiektem w zestawie SDK. Ten klient umożliwia manipulowanie wpisami tajnymi.
Po skonfigurowaniu ról dostępu do usługi Azure Key Vault i środowiska lokalnego utwórz plik JavaScript zawierający pakiet @azure/tożsamość . Utwórz poświadczenie, takie jak DefaultAzureCredential, aby zaimplementować połączenia bez hasła z magazynem. Użyj tego poświadczenia, aby uwierzytelnić się za pomocą obiektu SecretClient .
// Include required dependencies
import { DefaultAzureCredential } from '@azure/identity';
import { SecretClient } from '@azure/keyvault-secrets';
// Authenticate to Azure
const credential = new DefaultAzureCredential();
// Create SecretClient
const vaultName = '<your-vault-name>';
const url = `https://${vaultName}.vault.azure.net`;
const client = new SecretClient(url, credential);
// Get secret
const secret = await client.getSecret("MySecretName");