Een geheim instellen, bijwerken en draaien in Azure Key Vault met JavaScript
Maak secretClient met de juiste programmatische verificatiereferenties en gebruik vervolgens de client om een geheim in Te stellen, bij te werken en te roteren in Azure Key Vault.
Een geheim instellen
Als u een geheim wilt instellen in Azure Key Vault, gebruikt u de setSecret-methode van de klasse SecretClient .
Het type geheime waarde is een tekenreeks. De initiële waarde kan alles zijn wat kan worden geserialiseerd naar een tekenreeks, zoals JSON- of BASE64-gecodeerde gegevens. U moet de serialisatie opgeven voordat u het geheim instelt in de Sleutelkluis en deserialisatie nadat u het geheim uit de Sleutelkluis hebt opgehaald.
const name = 'mySecret';
const value = 'mySecretValue'; // or JSON.stringify({'key':'value'})
const { name, value, properties } = await client.setSecret(
secretName,
secretValue
);
Wanneer u het geheim maakt, bevat het KeyVaultSecret-antwoord een SecretProperties-object dat de metagegevens van het geheim bevat, zoals:
createdOn
: UTC-datum en -tijd waarop het geheim is gemaakt.id
: volledige URL van geheim.recoverableDays
: Aantal dagen dat het geheim kan worden hersteld na verwijdering.recoveryLevel
: Waarden zijn: 'Opschonen', 'Recoverable+Purgeable', 'Recoverable', 'Recoverable+ProtectedSubscription'.updatedOn
: UTC-datum en -tijd waarop het geheim het laatst is bijgewerkt.version
: Geheime versie.
Een geheim instellen met eigenschappen
Gebruik de setSecret-methode van de klasse SecretClient met de SetSecretOptions om optionele parameters op te nemen die live zijn met het geheim, zoals:
contentType
: Uw weergave en begrip van het inhoudstype van het geheim. Suggesties voor gebruik zijn een systeemeigen type, uw eigen aangepast TypeScript-type of een MIME-type. Deze waarde is zichtbaar in Azure Portal.enabled
: de standaardwaarde is waar.expiresOn
: UTC-datum en -tijd waarop het geheim verloopt.notBefore
: UTC-datum en -tijd voordat het geheim niet kan worden gebruikt.tags
: Aangepaste naam-/waardeparen die u kunt gebruiken om aan het geheim te koppelen.
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
);
Met deze methode wordt het KeyVaultSecret-object geretourneerd.
Geheime waarde bijwerken
Als u een geheime waarde wilt bijwerken, gebruikt u de setSecret-methode die wordt weergegeven in de vorige sectie. Zorg ervoor dat u de nieuwe waarde doorgeeft als een tekenreeks en alle eigenschappen die u wilt behouden uit de huidige versie van het geheim. Eventuele huidige eigenschappen die niet zijn ingesteld in extra aanroepen omSecret in te stellen, gaan verloren.
Hiermee wordt een nieuwe versie van een geheim gegenereerd. Het geretourneerde SecretProperties-object bevat de nieuwe versie-id.
Geheime eigenschappen bijwerken
Als u de eigenschappen van een geheim wilt bijwerken, gebruikt u de methode updateSecretProperties van de klasse SecretClient. Eigenschappen die niet zijn opgegeven in de aanvraag, blijven ongewijzigd. De waarde van een geheim zelf kan niet worden gewijzigd. Voor deze bewerking is de machtiging geheimen/set vereist.
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,
);
Met deze methode wordt het Object SecretProperties geretourneerd.
Een geheim draaien
Als u een geheim wilt draaien, moet u een Event Grid-gebeurtenisabonnement maken voor secretNearExpiry-gebeurtenis en de rotatiefunctionaliteit opgeven die moet worden aangeroepen met de gebeurtenistriggers. Gebruik een van de volgende zelfstudies om het rouleren van een geheim te automatiseren voor resources die gebruikmaken van: