Delen via


Een geheim weergeven of zoeken in Azure Key Vault met JavaScript

Maak secretClient met de juiste programmatische verificatiereferenties en gebruik vervolgens de client om een geheim te vinden uit Azure Key Vault.

Alle lijstmethoden retourneren een iterable. U kunt alle items in de lijst ophalen of de byPage-methode koppelen om een pagina met items tegelijk te herhalen.

Zodra u de eigenschappen van een geheim hebt, kunt u de methode getSecret gebruiken om de waarde van het geheim op te halen.

Alle geheimen weergeven

Als u alle geheimen in Azure Key Vault wilt weergeven, gebruikt u de methode listPropertiesOfSecrets om de eigenschappen van een huidig geheim op te halen.

for await (const secretProperties of client.listPropertiesOfSecrets()){

  // do something with properties
  console.log(`Secret name: ${secretProperties.name}`);

}

Met deze methode wordt het Object SecretProperties geretourneerd.

Alle geheimen per pagina weergeven

Als u alle geheimen in Azure Key Vault wilt weergeven, gebruikt u de methode listPropertiesOfSecrets om geheime eigenschappen van een pagina tegelijk op te halen door het Object PageSettings in te stellen.

// 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}`);

Met deze methode wordt het Object SecretProperties geretourneerd.

Alle versies van een geheim weergeven

Als u alle versies van een geheim in Azure Key Vault wilt weergeven, gebruikt u de methode listPropertiesOfSecretVersions .

for await (const secretProperties of client.listPropertiesOfSecretVersions(secretName)) {

  // do something with version's properties
  console.log(`Version created on: ${secretProperties.createdOn.toString()}`);
}

Met deze methode wordt het Object SecretProperties geretourneerd.

Verwijderde geheimen weergeven

Als u alle verwijderde geheimen in Azure Key Vault wilt weergeven, gebruikt u de methode 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}`);

Het secretProperties-object is een DeletedSecret object.

Geheim zoeken op eigenschap

Als u de huidige (meest recente) versie van een geheim wilt vinden, die overeenkomt met een eigenschapsnaam/-waarde, voert u alle geheimen door en vergelijkt u de eigenschappen. Met de volgende JavaScript-code worden alle ingeschakelde geheimen gevonden.

Deze code maakt gebruik van de volgende methode in een lus van alle geheimen:


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'
]
*/

Versies zoeken op eigenschap

Als u alle versies wilt zoeken, die overeenkomen met een eigenschapsnaam/-waarde, voert u alle geheime versies door en vergelijkt u de eigenschappen.

Deze code maakt gebruik van de volgende methoden in een geneste lus:

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'
  }
]
*/

Volgende stappen