Ange, uppdatera och rotera en hemlighet i Azure Key Vault med JavaScript
Skapa SecretClient med lämpliga programmatiska autentiseringsuppgifter och använd sedan klienten för att ange, uppdatera och rotera en hemlighet i Azure Key Vault.
Ange en hemlighet
Om du vill ange en hemlighet i Azure Key Vault använder du metoden setSecret i klassen SecretClient .
Den hemliga värdetypen är en sträng. Det initiala värdet kan vara allt som kan serialiseras till en sträng, till exempel JSON- eller BASE64-kodade data. Du måste ange serialiseringen innan du anger hemligheten i Nyckelvalvet och deserialiseringen när du har hämtat hemligheten från Key Vault.
const name = 'mySecret';
const value = 'mySecretValue'; // or JSON.stringify({'key':'value'})
const { name, value, properties } = await client.setSecret(
secretName,
secretValue
);
När du skapar hemligheten innehåller KeyVaultSecret-svaret ett SecretProperties-objekt som innehåller hemlighetens metadata, till exempel:
createdOn
: UTC-datum och tid då hemligheten skapades.id
: Hemlighetens fullständiga URL.recoverableDays
: Antalet dagar som hemligheten kan återställas efter borttagningen.recoveryLevel
: Värdena är: 'Purgeable', 'Recoverable+Purgeable', 'Recoverable', 'Recoverable+ProtectedSubscription'.updatedOn
: UTC-datum och tid då hemligheten senast uppdaterades.version
: Hemlighetens version.
Ange en hemlighet med egenskaper
Använd metoden setSecret för klassen SecretClient med SetSecretOptions för att inkludera valfria parametrar som lever med hemligheten, till exempel:
contentType
: Din representation och förståelse av hemlighetens innehållstyp. Förslag på användning inkluderar en intern typ, din egen anpassade TypeScript-typ eller en MIME-typ. Det här värdet visas i Azure-portalen.enabled
: Standardvärdet är true.expiresOn
: UTC-datum och tid då hemligheten upphör att gälla.notBefore
: UTC-datum och tid innan hemligheten inte kan användas.tags
: Anpassade namn/värdepar som du kan använda för att associera med hemligheten.
const name = 'mySecret';
const value = JSON.stringify({
'mykey':'myvalue',
'myEndpoint':'https://myendpoint.com'
});
const secretOptions = {
// example options
contentType: 'application/json',
tags: {
project: 'test-cluster',
owner: 'jmclane',
team: 'devops'
}
};
const { name, value, properties } = await client.setSecret(
secretName,
secretValue,
secretOptions
);
Den här metoden returnerar KeyVaultSecret-objektet .
Uppdatera hemligt värde
Om du vill uppdatera ett hemligt värde använder du metoden setSecret som visas i föregående avsnitt. Se till att skicka det nya värdet som en sträng och alla egenskaper som du vill behålla från den aktuella versionen av hemligheten. Alla aktuella egenskaper som inte anges i ytterligare anrop till setSecret går förlorade.
Detta genererar en ny version av en hemlighet. Det returnerade SecretProperties-objektet innehåller det nya versions-ID:t.
Uppdatera hemliga egenskaper
Om du vill uppdatera en hemlighets egenskaper använder du metoden updateSecretProperties i klassen SecretClient. Egenskaper som inte anges i begäran lämnas oförändrade. Det går inte att ändra värdet för själva hemligheten. Den här åtgärden kräver behörigheten hemligheter/uppsättning.
const name = 'mySecret';
// Update tags
const updatedTagName = 'existingTag';
const updatedTagValue = secret.properties.version.tags[updatedTagName] + ' additional information';
// Use version from existing secret
const version = secret.properties.version;
// Options to update
const secretOptions = {
tags: {
'newTag': 'newTagValue', // Set new tag
'updatedTag': updatedTagValue // Update existing tag
},
enabled: false
}
// Update secret's properties - doesn't change secret name or value
const properties = await client.updateSecretProperties(
secretName,
secretVersion,
secretOptions,
);
Den här metoden returnerar objektet SecretProperties .
Rotera en hemlighet
Om du vill rotera en hemlighet måste du skapa en Event Grid-händelseprenumeration för SecretNearExpiry-händelsen och tillhandahålla rotationsfunktionen som ska anropas med händelseutlösarna. Använd någon av följande självstudier Automatisera rotationen av en hemlighet för resurser som använder: