Bagikan melalui


Pustaka klien Azure Key Vault Administration untuk JavaScript - versi 4.7.0

Azure Key Vault Managed HSM adalah layanan cloud yang dikelola sepenuhnya, sangat tersedia, penyewa tunggal, sesuai standar yang memungkinkan Anda melindungi kunci kriptografi untuk aplikasi cloud Anda menggunakan HSM tervalidasi FIPS 140-2 Level 3. Jika Anda ingin mengetahui lebih lanjut tentang Azure Key Vault Managed HSM, Anda mungkin ingin meninjau: Apa itu Azure Key Vault Managed HSM?

Paket @azure/keyvault-admin menyediakan dukungan untuk tugas Key Vault administratif seperti pencadangan/pemulihan penuh dan kontrol akses berbasis peran tingkat kunci (RBAC).

Catatan: Pustaka Administrasi hanya berfungsi dengan HSM Terkelola Azure Key Vault - fungsi yang menargetkan Key Vault akan gagal.

Catatan: Paket ini tidak dapat digunakan di browser karena keterbatasan layanan Azure Key Vault, silakan lihat dokumen ini untuk panduan.

Tautan kunci:

Memulai Langkah Pertama

Pasang paketnya

Instal pustaka klien administrasi Azure Key Vault untuk JavaScript dan TypeScript dengan NPM:

npm install @azure/keyvault-admin

Mengonfigurasi TypeScript

Pengguna TypeScript harus menginstal definisi jenis Node:

npm install @types/node

Anda juga perlu mengaktifkan compilerOptions.allowSyntheticDefaultImports di tsconfig.jsonAnda. Perhatikan bahwa jika Anda telah mengaktifkan compilerOptions.esModuleInterop, allowSyntheticDefaultImports diaktifkan secara default. Lihat opsi kompilator TypeScript untuk informasi selengkapnya.

Lingkungan yang didukung saat ini

Prasyarat

Mengautentikasi klien

Untuk berinteraksi dengan layanan Azure Key Vault, Anda harus membuat instans kelas KeyVaultAccessControlClient atau kelas KeyVaultBackupClient, serta url vault (yang mungkin Anda lihat sebagai "Nama DNS" di Portal Microsoft Azure) dan objek kredensial. Contoh yang ditunjukkan dalam dokumen ini menggunakan objek kredensial bernama DefaultAzureCredential, yang sesuai untuk sebagian besar skenario, termasuk lingkungan pengembangan dan produksi lokal. Selain itu, sebaiknya gunakan identitas terkelola untuk autentikasi di lingkungan produksi.

Anda dapat menemukan informasi selengkapnya tentang berbagai cara untuk mengautentikasi dan jenis kredensial yang sesuai dalam dokumentasi Azure Identity.

Membuat KeyVaultAccessControlClient

Setelah mengautentikasi dengan metode autentikasi yang paling sesuai denganAnda, Anda dapat membuat KeyVaultAccessControlClient sebagai berikut, mengganti url HSM Terkelola Anda di konstruktor:

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

Membuat KeyVaultBackupClient

Setelah mengautentikasi dengan metode autentikasi yang paling sesuai denganAnda, Anda dapat membuat KeyVaultBackupClient sebagai berikut, mengganti url HSM Terkelola Anda di konstruktor:

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

Konsep utama

Definisi Peran KeyVault

Definisi Peran adalah kumpulan izin. Definisi peran menentukan operasi yang dapat dilakukan, seperti membaca, menulis, dan menghapus. Ini juga dapat menentukan operasi yang dikecualikan dari operasi yang diizinkan.

Definisi peran dapat dicantumkan dan ditentukan sebagai bagian dari KeyVaultRoleAssignment.

KeyVaultRoleAssignment

Penetapan Peran adalah asosiasi Definisi Peran ke perwakilan layanan. Mereka dapat dibuat, dicantumkan, diambil secara individual, dan dihapus.

KeyVaultAccessControlClient

KeyVaultAccessControlClient menyediakan operasi yang memungkinkan manajemen Definisi Peran (instans KeyVaultRoleDefinition) dan Penetapan Peran (instans KeyVaultRoleAssignment).

KeyVaultBackupClient

KeyVaultBackupClient menyediakan operasi untuk melakukan pencadangan kunci penuh, pemulihan kunci penuh, dan pemulihan kunci selektif.

Operasi yang memerlukan waktu lama

Operasi yang dilakukan oleh KeyVaultBackupClient mungkin memakan waktu sebanyak yang diperlukan oleh sumber daya Azure, mengharuskan lapisan klien untuk melacak, menserialisasikan, dan melanjutkan operasi melalui siklus hidup program yang menunggu mereka selesai. Ini dilakukan melalui abstraksi umum melalui paket @azure/core-lro.

KeyVaultBackupClient menawarkan tiga metode yang menjalankan operasi jangka panjang:

  • beginBackup, mulai menghasilkan cadangan Azure Key Vault Managed HSM pada akun Storage Blob yang ditentukan.
  • beginRestore, mulai memulihkan semua materi utama menggunakan token SAS yang menunjuk ke folder cadangan penyimpanan Azure Blob yang disimpan sebelumnya.
  • beginSelectiveRestore, mulai memulihkan semua versi kunci kunci tertentu menggunakan token SAS yang disediakan pengguna yang menunjuk ke folder cadangan penyimpanan Azure Blob yang disimpan sebelumnya.

Metode yang memulai operasi jangka panjang mengembalikan poller yang memungkinkan Anda untuk menunggu tanpa batas waktu hingga operasi selesai. Informasi lebih lanjut tersedia dalam contoh di bawah ini.

Contoh

Kami memiliki sampel baik di JavaScript maupun TypeScript yang menampilkan kontrol akses dan fitur pencadangan/pemulihan dalam paket ini. Silakan ikuti readme yang sesuai untuk langkah-langkah terperinci untuk menjalankan sampel.

Penyelesaian Masalah

Lihat panduan pemecahan masalah kami untuk detail tentang cara mendiagnosis berbagai skenario kegagalan.

Mengaktifkan pengelogan dapat membantu menemukan informasi yang berguna tentang kegagalan. Untuk melihat log permintaan dan respons HTTP, atur variabel lingkungan AZURE_LOG_LEVEL ke info. Atau, pengelogan dapat diaktifkan saat runtime dengan memanggil setLogLevel di @azure/logger:

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

setLogLevel("info");

Langkah selanjutnya

Anda dapat menemukan lebih banyak sampel kode melalui tautan berikut:

Berpartisipasi

Jika Anda ingin berkontribusi pada pustaka ini, baca panduan berkontribusi untuk mempelajari selengkapnya tentang cara membuat dan menguji kode.