إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توضح لك هذه المقالة كيفية الاتصال ب Azure Key Vault باستخدام مكتبة عملاء Azure Key Vault Keys لجافا سكريبت. بمجرد الاتصال، يمكن للكود أن يعمل على مفاتيح في الخزنة.
API reference | Package (npm) | مصدر المكتبة | Samples | Give feedback
المتطلبات المسبقه
- اشتراك Azure - create one مجانا.
- Azure Key Vault مثال. تأكد من أن لديك الدور المناسب Azure RBAC المناسب لأداء المهام المحددة في الكود.
- إصدارNode.js LTS
إعداد مشروعك
افتح موجه الأوامر وقم بالتغيير إلى مجلد مشروعك. تغيير
<your-directory>إلى اسم المجلد الخاص بك:cd <your-directory>إذا لم يكن لديك ملف
package.jsonبالفعل في الدليل، فقم بتهيئة المشروع لإنشاء الملف:npm init -yتثبيت مكتبة عملاء Azure Key Vault Keys لجافا سكريبت:
npm install @azure/keyvault-keysإذا كنت ترغب في استخدام الاتصالات بدون كلمة مرور باستخدام Microsoft Entra ID، قم بتثبيت مكتبة عملاء Azure Identity لجافا سكريبت:
npm install @azure/identity
تفوض الوصول والاتصال ب Key Vault
يوفر Microsoft Entra ID الاتصال الأكثر أمانا من خلال إدارة هوية الاتصال (managed identity). تتيح لك هذه الوظيفة بدون كلمة مرور تطوير تطبيق لا يتطلب أي مفاتيح مخزنة في الكود.
قبل المصادقة البرمجية على Azure لاستخدام مفاتيح Azure Key Vault، تأكد من إعداد بيئتك.
- باش
-
PowerShell - تعليمة Visual Studio برمجية
يجب على المطور تثبيت Azure CLI وتسجيل الدخول تفاعليا باستخدام أمر az login لتسجيل الدخول إلى Azure قبل استخدام DefaultAzureCredential in code.
az login
إنشاء التطبيق الخاص بك
أثناء إنشاء تطبيقك، تتفاعل التعليمات البرمجية مع نوعين من الموارد:
-
مفتاح KeyVaultKey، الذي يشمل:
- المعرف، الاسم، والقيمة.
- تم السماح بالعمليات.
- اكتب مثل
EC،EC-HSM،RSA،RSA-HSM،oct.oct-HSM - الخصائص كخصائص رئيسية
- KeyProperties، والتي تتضمن بيانات المفتاح الوصفية، مثل اسمه، إصداره، العلامات، بيانات انتهاء الصلاحية، وما إذا كان مفعلا.
إذا كنت بحاجة إلى قيمة مفتاح KeyVaultKey، استخدم طرقا تعيد مفتاح KeyVaultKey:
نموذج الكائن
تتضمن مكتبة عملاء مفاتيح Azure Key Vault لجافا سكريبت العملاء التاليين:
- KeyClient: كائن KeyClient هو الكائن الأعلى في SDK. يتيح لك هذا العميل أداء مهام إدارة المفاتيح مثل إنشاء، تدوير، حذف، وسرد المفاتيح.
- يتيح لك CryptographyClient تشفير وفك تشفير وتوقيع والتحقق والتغليف، وفك المفاتيح لفها.
إنشاء كائن KeyClient
بمجرد إعداد بيئتك المحلية وتفويض Key Vault، أنشئ ملف جافاسكريبت يتضمن حزم @azure/identity وحزم @azure/keyvault-keys. قم بإنشاء بيانات اعتماد، مثل DefaultAzureCredential، لتنفيذ اتصالات بدون كلمة مرور بمخزنك. استخدم تلك الشهادة للمصادقة مع كائن KeyClient .
// Include required dependencies
import { DefaultAzureCredential } from '@azure/identity';
import { KeyClient } from '@azure/keyvault-keys';
// Authenticate to Azure
// Create KeyClient
const credential = new DefaultAzureCredential();
const client = new KeyClient(
`https://${process.env.AZURE_KEYVAULT_NAME}.vault.azure.net`,
credential
);
// Get key
const key = await client.getKey("MyKeyName");
إنشاء كائن CryptographyClientClient
كائن عميل التشفير هو الكائن التشغيلي في مجموعة تطوير البرمجيات، حيث يستخدم مفتاحك لتنفيذ إجراءات مثل التشفير، وفك التشفير، والتوقيع والتحقق، واللف والفك.
استخدم بيانات الهوية الخاصة بك من KeyClient، مع اسم المفتاح، لإنشاء CryptographyClient لأداء العمليات.
// Include required dependencies
import { DefaultAzureCredential } from '@azure/identity';
import {
CryptographyClient,
KeyClient,
KnownEncryptionAlgorithms,
RsaEncryptParameters
} from '@azure/keyvault-keys';
// Authenticate to Azure
// Create KeyClient
const credential = new DefaultAzureCredential();
const client = new KeyClient(
`https://${process.env.AZURE_KEYVAULT_NAME}.vault.azure.net`,
credential
);
// Get key
const key = await client.getKey("MyKeyName");
if (key?.name) {
// get encryption client
const encryptClient = new CryptographyClient(key, credential);
// encrypt data
const encryptParams = {
algorithm: KnownEncryptionAlgorithms.RSAOaep256,
plaintext: Buffer.from("Hello world!")
}
const encryptResult = await encryptClient.encrypt(encryptParams);
}
راجع أيضًا
- حزمة
(npm) - Samples
- مرجع واجهة برمجة التطبيقات
- <كود مصدر المكتبة c0> المكتبة
- أعط ملاحظات