Azure KeyVault Secret рядом со списком истечения срока действия по электронной почте в качестве уведомления - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь отправить Список секретов с истекшим сроком действия и срок их действия истекает на адрес электронной почты. Но я не могу видеть Тайны, которые вот-вот истекают. Кто-нибудь поможет как приблизиться к истечении срока действия секретов azure keyVault?

Я использую ниже код:

    if ($secret.Expires) {
        $secretExpiration = Get-date $secret.Expires -Format yyyyMMdd
        if ($ExpirationDate -gt $secretExpiration) {
            if ($CurrentDate -lt $secretExpiration) {
                $NearExpirationSecrets += New-Object PSObject -Property @{
                    Name           = $secret.Name;
                    Category       = 'SecretNearExpiration';
                    KeyVaultName   = $KeyVault.VaultName;
                    ExpirationDate = $secret.Expires;
                }
            }

1 Ответ

0 голосов
/ 06 марта 2020

Вы можете попробовать мой скрипт ниже, в моем примере A secret that will expire in 7 days означает secret is about to expired, скрипт получит все секреты, срок действия которых истекает в keyvault.

$KeyVault = Get-AzKeyVault -ResourceGroupName <group-name> -VaultName joykeyvault 
$secrets = Get-AzKeyVaultSecret -VaultName joykeyvault 
$Date = Get-Date (Get-Date).AddDays(7) -Format yyyyMMdd
$CurrentDate = Get-Date -Format yyyyMMdd
$NearExpirationSecrets = @()

foreach($secret in $secrets){
    if($secret.Expires) {
    $secretExpiration = Get-Date $secret.Expires -Format yyyyMMdd
    if($secretExpiration -lt $Date -and $secretExpiration -gt $CurrentDate){
           $NearExpirationSecrets += New-Object PSObject -Property @{
                    Name           = $secret.Name;
                    Category       = 'SecretNearExpiration';
                    KeyVaultName   = $KeyVault.VaultName;
                    ExpirationDate = $secret.Expires;
                }

    }
}
}

enter image description here

...