Skip to main content الرئيسية المنشئون beko2210 firstbrain azure-keyvault-secrets-ts
azure-keyvault-secrets-ts Manage secrets using Azure Key Vault Secrets SDK for JavaScript (@azure/keyvault-secrets). Use when storing and retrieving application secrets or configuration values.
الانتقال إلى التثبيت سوق المهارات اكتشف واستكشف مهارات الذكاء الاصطناعي التي بناها المجتمع.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
نسخ Promptعرض تفاصيل Prompt يتجاوز الأمر المباشر Prompt المخصّص للمراجعة. افحص المصدر قبل تشغيله.
npx skills add https://github.com/BEKO2210/Firstbrain --skill azure-keyvault-secrets-tsيبقى الأمر في سطر واحد. مرّر أفقيًا لمراجعته كاملًا قبل النسخ.
تفضّل نسخة محلية؟ نزّل الملفات المتاحة حاليًا لدى SkillsMP.
تحميل Zip جاري التحميل... المهن ذات الصلة SOC
استنادا إلى تصنيف SOC المهني
name azure-keyvault-secrets-ts description Manage secrets using Azure Key Vault Secrets SDK for JavaScript (@azure/keyvault-secrets). Use when storing and retrieving application secrets or configuration values. type skill created 2026-02-27T00:00:00.000Z domain cloud-infrastructure category azure risk unknown source community tags ["skill","cloud-infrastructure","azure","keyvault","secrets"]
Azure Key Vault Secrets SDK for TypeScript
Manage secrets with Azure Key Vault.
Installation
npm install @azure/keyvault-secrets @azure/identity
Environment Variables
KEY_VAULT_URL=https://<vault-name>.vault.azure.net
AZURE_KEYVAULT_NAME=<vault-name>
Authentication
import { DefaultAzureCredential } from "@azure/identity" ;
import { SecretClient } from "@azure/keyvault-secrets" ;
const credential = new DefaultAzureCredential ();
const vaultUrl = `https://${process.env.AZURE_KEYVAULT_NAME} .vault.azure.net` ;
const keyClient = new KeyClient (vaultUrl, credential);
const secretClient = new SecretClient (vaultUrl, credential);
Secrets Operations
Create/Set Secret
const secret = await secretClient.setSecret ("MySecret" , "secret-value" );
const secretWithAttrs = await secretClient.setSecret ("MySecret" , "value" , {
enabled : true ,
expiresOn : new Date ("2025-12-31" ),
: ,
: { : }
});
contentType
"application/json"
tags
environment
"production"
Get Secret
const secret = await secretClient.getSecret ("MySecret" );
console .log (secret.value );
const specificSecret = await secretClient.getSecret ("MySecret" , {
version : secret.properties .version
});
List Secrets for await (const secretProperties of secretClient.listPropertiesOfSecrets ()) {
console .log (secretProperties.name );
}
for await (const version of secretClient.listPropertiesOfSecretVersions ("MySecret" )) {
console .log (version.version );
}
Delete Secret
const deletePoller = await secretClient.beginDeleteSecret ("MySecret" );
await deletePoller.pollUntilDone ();
await secretClient.purgeDeletedSecret ("MySecret" );
const recoverPoller = await secretClient.beginRecoverDeletedSecret ("MySecret" );
await recoverPoller.pollUntilDone ();
Keys Operations
Create Keys
const key = await keyClient.createKey ("MyKey" , "RSA" );
const rsaKey = await keyClient.createRsaKey ("MyRsaKey" , { keySize : 2048 });
const ecKey = await keyClient.createEcKey ("MyEcKey" , { curve : "P-256" });
const keyWithAttrs = await keyClient.createKey ("MyKey" , "RSA" , {
enabled : true ,
expiresOn : new Date ("2025-12-31" ),
tags : { purpose : "encryption" },
keyOps : ["encrypt" , "decrypt" , "sign" , "verify" ]
});
Get Key const key = await keyClient.getKey ("MyKey" );
console .log (key.name , key.keyType );
List Keys for await (const keyProperties of keyClient.listPropertiesOfKeys ()) {
console .log (keyProperties.name );
}
Rotate Key
const rotatedKey = await keyClient.rotateKey ("MyKey" );
await keyClient.updateKeyRotationPolicy ("MyKey" , {
lifetimeActions : [{ action : "Rotate" , timeBeforeExpiry : "P30D" }],
expiresIn : "P90D"
});
Delete Key const deletePoller = await keyClient.beginDeleteKey ("MyKey" );
await deletePoller.pollUntilDone ();
await keyClient.purgeDeletedKey ("MyKey" );
Cryptographic Operations
Create CryptographyClient import { CryptographyClient } from "@azure/keyvault-keys" ;
const cryptoClient = new CryptographyClient (key, credential);
const cryptoClient = new CryptographyClient (key.id !, credential);
Encrypt/Decrypt
const encryptResult = await cryptoClient.encrypt ({
algorithm : "RSA-OAEP" ,
plaintext : Buffer .from ("My secret message" )
});
const decryptResult = await cryptoClient.decrypt ({
algorithm : "RSA-OAEP" ,
ciphertext : encryptResult.result
});
console .log (decryptResult.result .toString ());
Sign/Verify import { createHash } from "node:crypto" ;
const hash = createHash ("sha256" ).update ("My message" ).digest ();
const signResult = await cryptoClient.sign ("RS256" , hash);
const verifyResult = await cryptoClient.verify ("RS256" , hash, signResult.result );
console .log ("Valid:" , verifyResult.result );
Wrap/Unwrap Keys
const wrapResult = await cryptoClient.wrapKey ("RSA-OAEP" , Buffer .from ("key-material" ));
const unwrapResult = await cryptoClient.unwrapKey ("RSA-OAEP" , wrapResult.result );
Backup and Restore
const keyBackup = await keyClient.backupKey ("MyKey" );
const secretBackup = await secretClient.backupSecret ("MySecret" );
const restoredKey = await keyClient.restoreKeyBackup (keyBackup!);
const restoredSecret = await secretClient.restoreSecretBackup (secretBackup!);
Key Types import {
KeyClient ,
KeyVaultKey ,
KeyProperties ,
DeletedKey ,
CryptographyClient ,
KnownEncryptionAlgorithms ,
KnownSignatureAlgorithms
} from "@azure/keyvault-keys" ;
import {
SecretClient ,
KeyVaultSecret ,
SecretProperties ,
DeletedSecret
} from "@azure/keyvault-secrets" ;
Error Handling try {
const secret = await secretClient.getSecret ("NonExistent" );
} catch (error : any ) {
if (error.code === "SecretNotFound" ) {
console .log ("Secret does not exist" );
} else {
throw error;
}
}
Best Practices
Use DefaultAzureCredential - Works across dev and production
Enable soft-delete - Required for production vaults
Set expiration dates - On both keys and secrets
Use key rotation policies - Automate key rotation
Limit key operations - Only grant needed operations (encrypt, sign, etc.)
Browser not supported - These SDKs are Node.js only
When to Use This skill is applicable to execute the workflow or actions described in the overview.
Connections
Domain: [[Cloud & Infrastruktur]]
Kategorie: [[Microsoft Azure]]
Navigation: [[Skills Uebersicht]], [[Home]]