Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Créez le SecretClient avec les informations d’identification d’authentification programmatiques appropriées, puis utilisez le client pour rechercher un secret à partir de Azure Key Vault.
Toutes les méthodes de liste retournent une itérable. Vous pouvez obtenir tous les éléments de la liste ou chaîner la méthode byPage pour itérer une page d’éléments à la fois.
Une fois que vous avez les propriétés d’un secret, vous pouvez utiliser la méthode getSecret pour obtenir la valeur du secret.
Répertorier tous les secrets
Pour répertorier tous les secrets dans Azure Key Vault, utilisez la méthode listPropertiesOfSecrets pour obtenir les propriétés d'un secret actuel.
for await (const secretProperties of client.listPropertiesOfSecrets()){
// do something with properties
console.log(`Secret name: ${secretProperties.name}`);
}
Cette méthode retourne l’objet SecretProperties .
Répertorier tous les secrets par page
Pour répertorier tous les secrets dans Azure Key Vault, utilisez la méthode listPropertiesOfSecrets pour obtenir des propriétés secrètes une page à la fois en définissant l’objet PageSettings.
// 5 secrets per page
const maxResults = 5;
let pageCount = 1;
let itemCount=1;
// loop through all secrets
for await (const page of client.listPropertiesOfSecrets().byPage({ maxPageSize: maxResults })) {
let itemOnPageCount = 1;
// loop through each secret on page
for (const secretProperties of page) {
console.log(`Page:${pageCount++}, item:${itemOnPageCount++}:${secretProperties.name}`);
itemCount++;
}
}
console.log(`Total # of secrets:${itemCount}`);
Cette méthode retourne l’objet SecretProperties .
Répertorier toutes les versions d’un secret
Pour répertorier toutes les versions d’un secret dans Azure Key Vault, utilisez la méthode listPropertiesOfSecretVersions.
for await (const secretProperties of client.listPropertiesOfSecretVersions(secretName)) {
// do something with version's properties
console.log(`Version created on: ${secretProperties.createdOn.toString()}`);
}
Cette méthode retourne l’objet SecretProperties .
Répertorier les secrets supprimés
Pour répertorier tous les secrets supprimés dans Azure Key Vault, utilisez la méthode listDeletedSecrets.
// 5 secrets per page
const maxResults = 5;
let pageCount = 1;
let itemCount=1;
// loop through all secrets
for await (const page of client.listDeletedSecrets().byPage({ maxPageSize: maxResults })) {
let itemOnPageCount = 1;
// loop through each secret on page
for (const secretProperties of page) {
console.log(`Page:${pageCount++}, item:${itemOnPageCount++}:${secretProperties.name}`);
itemCount++;
}
}
console.log(`Total # of secrets:${itemCount}`);
L’objet secretProperties est un objet DeletedSecret .
Rechercher un secret par propriété
Pour rechercher la version actuelle (la plus récente) d’un secret, qui correspond à un nom/valeur de propriété, effectuez une boucle sur tous les secrets et comparez les propriétés. Le code JavaScript suivant recherche tous les secrets activés.
Ce code utilise la méthode suivante dans une boucle sur tous les secrets :
- listPropertiesOfSecrets() : renvoie l’objet de propriétés de la dernière version pour chaque secret
const secretsFound = [];
const propertyName = "enabled"
const propertyValue = false;
for await (const secretProperties of client.listPropertiesOfSecrets()){
if(propertyName === 'tags'){
if(JSON.stringify(secretProperties.tags) === JSON.stringify(propertyValue)){
secretsFound.push( secretProperties.name )
}
} else {
if(secretProperties[propertyName].toString() === propertyValue.toString()){
secretsFound.push( secretProperties.name )
}
}
}
console.log(secretsFound)
/*
[
'my-secret-1683734823721',
'my-secret-1683735278751',
'my-secret-1683735523489',
'my-secret-1684172237551'
]
*/
Rechercher des versions par propriété
Pour rechercher toutes les versions, qui correspondent à un nom/valeur de propriété, effectuez une boucle sur toutes les versions secrètes et comparez les propriétés.
Ce code utilise les méthodes suivantes dans une boucle imbriquée :
- listPropertiesOfSecrets() : retourne l’objet de propriétés de la dernière version de chaque secret
- listPropertiesOfSecretVersions() : retourne toutes les versions de 1 secret
const secretsFound = [];
const propertyName = 'createdOn';
const propertyValue = 'Mon May 15 2023 20:52:37 GMT+0000 (Coordinated Universal Time)';
for await (const { name } of client.listPropertiesOfSecrets()){
console.log(`Secret name: ${name}`);
for await (const secretProperties of client.listPropertiesOfSecretVersions(name)) {
console.log(`Secret version ${secretProperties.version}`);
if(propertyName === 'tags'){
if(JSON.stringify(secretProperties.tags) === JSON.stringify(propertyValue)){
console.log(`Tags match`);
secretsFound.push({ name: secretProperties.name, version: secretProperties.version });
}
} else {
if(secretProperties[propertyName].toString() === propertyValue.toString()){
console.log(`${propertyName} matches`);
secretsFound.push({ name: secretProperties.name, version: secretProperties.version });
}
}
}
}
console.log(secretsFound);
/*
[
{
name: 'my-secret-1684183956189',
version: '93beaec3ff614be9a67cd2f4ef4d90c5'
}
]
*/