Nastavení, aktualizace a obměna tajného kódu ve službě Azure Key Vault pomocí JavaScriptu
Vytvořte SecretClient s příslušnými přihlašovacími údaji pro programové ověřování a pak pomocí klienta nastavte, aktualizujte a obměňte tajný klíč ve službě Azure Key Vault.
Nastavení tajného kódu
K nastavení tajného kódu ve službě Azure Key Vault použijte metodu setSecret třídy SecretClient.
Typ hodnoty tajného kódu je řetězec. Počáteční hodnota může být cokoli, co lze serializovat na řetězec, jako je JSON nebo BASE64 kódovaná data. Před nastavením tajného klíče ve službě Key Vault a deserializací musíte zadat serializaci po získání tajného kódu ze služby Key Vault.
const name = 'mySecret';
const value = 'mySecretValue'; // or JSON.stringify({'key':'value'})
const { name, value, properties } = await client.setSecret(
secretName,
secretValue
);
Při vytváření tajného kódu obsahuje odpověď KeyVaultSecret objekt SecretProperties, který obsahuje metadata tajného klíče, například:
createdOn
: Datum a čas vytvoření tajného kódu UTC.id
: Úplná adresa URL tajného kódu.recoverableDays
: Počet dnů, po které je možné tajný klíč obnovit po odstranění.recoveryLevel
: Mezi hodnoty patří: 'Purgeable', 'Recoverable+Purgeable', 'Recoverable', 'Recoverable+ProtectedSubscription'.updatedOn
: Datum a čas UTC, kdy byl tajný kód naposledy aktualizován.version
: Verze tajného kódu.
Nastavení tajného kódu s vlastnostmi
Použijte metodu setSecret třídy SecretClient s SetSecretOptions k zahrnutí volitelných parametrů, které žijí s tajným kódem, například:
contentType
: Vaše reprezentace a porozumění typu obsahu tajného kódu. Mezi návrhy použití patří nativní typ, vlastní typ TypeScriptu nebo typ MIME. Tato hodnota je viditelná na webu Azure Portal.enabled
: Výchozí hodnota je true.expiresOn
: Datum a čas UTC vyprší platnost tajného kódu.notBefore
: Datum a čas UTC, před kterým se tajný kód nedá použít.tags
: Vlastní dvojice název/hodnota, které můžete použít k přidružení tajného klíče.
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
);
Tato metoda vrátí keyVaultSecret objekt.
Aktualizace hodnoty tajného kódu
Pokud chcete aktualizovat hodnotu tajného kódu, použijte metodu setSecret uvedenou v předchozí části. Nezapomeňte novou hodnotu předat jako řetězec a všechny vlastnosti, které chcete zachovat z aktuální verze tajného kódu. Všechny aktuální vlastnosti, které nejsou nastaveny v dalších voláních setSecret, budou ztraceny.
Tím se vygeneruje nová verze tajného kódu. Vrácený objekt SecretProperties obsahuje nové ID verze.
Aktualizace vlastností tajných kódů
Chcete-li aktualizovat vlastnosti tajného kódu, použijte metodu updateSecretProperties třídy SecretClient. Vlastnosti, které nejsou zadané v požadavku, zůstanou beze změny. Hodnotu samotného tajného kódu nelze změnit. Tato operace vyžaduje oprávnění tajného klíče nebo sady.
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,
);
Tato metoda vrátí SecretProperties objektu.
Otočení tajného kódu
Pokud chcete tajný kód otočit, musíte vytvořit odběr událostí Event Gridu pro událost SecretNearExpiry a poskytnout funkci obměny, která by se měla volat s triggery událostí. Použijte jeden z následujících kurzů Automatizace obměny tajného kódu pro prostředky , které používají: