Ustawianie, aktualizowanie i obracanie wpisu tajnego w usłudze Azure Key Vault za pomocą języka JavaScript
Utwórz klienta SecretClient z odpowiednimi poświadczeniami uwierzytelniania programowego, a następnie użyj klienta do ustawiania, aktualizowania i obracania wpisu tajnego w usłudze Azure Key Vault.
Ustawianie wpisu tajnego
Aby ustawić wpis tajny w usłudze Azure Key Vault, użyj metody setSecret klasy SecretClient.
Typ wartości wpisu tajnego jest ciągiem. Wartość początkowa może być niczym, co można serializować do ciągu, takiego jak dane zakodowane w formacie JSON lub BASE64. Przed ustawieniem wpisu tajnego w usłudze Key Vault i deserializacji po otrzymaniu wpisu tajnego z usługi Key Vault należy podać serializacji.
const name = 'mySecret';
const value = 'mySecretValue'; // or JSON.stringify({'key':'value'})
const { name, value, properties } = await client.setSecret(
secretName,
secretValue
);
Podczas tworzenia wpisu tajnego odpowiedź KeyVaultSecret zawiera obiekt SecretProperties zawierający metadane wpisu tajnego, takie jak:
createdOn
: data i godzina utworzenia wpisu tajnego.id
: pełny adres URL wpisu tajnego.recoverableDays
: liczba dni odzyskania wpisu tajnego po usunięciu.recoveryLevel
: Wartości obejmują: "Przeczyszczalne", "Odzyskalne+Przeczyszczalne", "Możliwe do odzyskania", "Odzyskiwanie+ChronioneSubskrypcja".updatedOn
: data i godzina ostatniej aktualizacji wpisu tajnego.version
: wersja wpisu tajnego.
Ustawianie wpisu tajnego z właściwościami
Użyj metody setSecret klasy SecretClient z setSecretOptions, aby uwzględnić opcjonalne parametry, które są aktywne z wpisem tajnym, takie jak:
contentType
: Twoja reprezentacja i zrozumienie typu zawartości wpisu tajnego. Sugestie dotyczące użycia obejmują typ natywny, własny niestandardowy typ TypeScript lub typ MIME. Ta wartość jest widoczna w witrynie Azure Portal.enabled
: Wartość domyślna to true.expiresOn
: data i godzina wygaśnięcia wpisu tajnego.notBefore
: data i godzina UTC, przed którą nie można użyć wpisu tajnego.tags
: niestandardowe pary nazwa/wartość, których można użyć do skojarzenia z wpisem tajnym.
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
);
Ta metoda zwraca obiekt KeyVaultSecret .
Aktualizowanie wartości wpisu tajnego
Aby zaktualizować wartość wpisu tajnego, użyj metody setSecret pokazanej w poprzedniej sekcji. Pamiętaj, aby przekazać nową wartość jako ciąg i wszystkie właściwości, które chcesz zachować z bieżącej wersji wpisu tajnego. Wszystkie bieżące właściwości, które nie są ustawione w dodatkowych wywołaniach do ustawieniaSecret, zostaną utracone.
Spowoduje to wygenerowanie nowej wersji wpisu tajnego. Zwrócony obiekt SecretProperties zawiera nowy identyfikator wersji.
Aktualizowanie właściwości wpisu tajnego
Aby zaktualizować właściwości wpisu tajnego, użyj metody updateSecretProperties klasy SecretClient. Właściwości, które nie są określone w żądaniu, pozostają niezmienione. Nie można zmienić wartości samego wpisu tajnego. Ta operacja wymaga uprawnień wpisów tajnych/zestawu.
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,
);
Ta metoda zwraca obiekt SecretProperties .
Obracanie wpisu tajnego
Aby obrócić wpis tajny, należy utworzyć subskrypcję zdarzeń usługi Event Grid dla zdarzenia SecretNearExpiry i udostępnić funkcje rotacji, które powinny być wywoływane z wyzwalaczami zdarzeń. Skorzystaj z jednego z następujących samouczków Automatyzowanie rotacji wpisu tajnego dla zasobów , które używają: