Output a Key Vault Secrets report
Project description
azure-key-vault-report
Description
Generates a plain text report of secrets in the specified Key Vault.
Then table is generated and sorted (from top to bottom) by:
- the oldest
Expiration
date, then by - the oldest
Last Updated
date
The table also contains a Comment
columns, which may include info about:
- Days to when the secret will expire
- Days since the secret expired
- Info if the secret has no expiration date set
- Days since the Secret was last updated
The generate_report method accepts the following argument
expire_threshold
:int
Ignore to report the record if days till the secret will expire are more than specified value.
NOTE: Secrets expiring today or has already expired will always be reported.
Default:None
ignore_no_expiration
:bool
Report all records if set toFalse
. If set toTrue
only secrets withExpiration Date
set will be reported.
Default:True
include_all
:bool
If set toTrue
all records are included in the output.
Default:False
The raw list, which is used to generate the report, is fetched by invoking the following shell command as subprocess:
az keyvault secret list --vault-name NAME-OF-THE-KEY-VAULT
Installation
pip install ops-py-azure-key-vault-report
Usage
Example code:
from azure_key_vault_report import azure_key_vault_report
name = "kv-super-secrets"
kv_report = azure_key_vault_report.AzureKeyVaultReport(name)
kv_report.az_cmd()
kv_report.parse_results()
kv_report.set_report_header()
kv_report.generate_report()
kv_report.set_report_footer()
report = kv_report.get_report()
print(report)
---------------------------------------------------------------------------------------------------------------------------------------------
Secret Name | Last Updated | Expiration | Comment
---------------------------------------------------------------------------------------------------------------------------------------------
st-verySecretSecret | 2022-02-16 | 2022-09-09 | Expired 451 days ago. Updated 656 days ago.
superSecret | 2023-10-31 | 2024-06-25 | Will expire in 204 days. Updated 34 days ago.
---------------------------------------------------------------------------------------------------------------------------------------------
Secrets updated in the last year.........: 26
Secrets NOT updated in the last year.....: 14
Secrets NOT updated for the last 2 years.: 36
Secrets missing Expiration Date..........: 74
Total number of secrets..................: 76
---------------------------------------------------------------------------------------------------------------------------------------------
kv_report.generate_report(include_all=True)
kv_report.set_report_footer()
report = kv_report.get_report()
print(report)
---------------------------------------------------------------------------------------------------------------------------------------------
Secret Name | Last Updated | Expiration | Comment
---------------------------------------------------------------------------------------------------------------------------------------------
st-verySecretSecret | 2022-02-16 | 2022-09-09 | Expired 451 days ago. Updated 656 days ago.
superSecret | 2023-10-31 | 2024-06-25 | Will expire in 204 days. Updated 34 days ago.
ohhSooSecret | 2020-12-15 | | Has no expiration date. Updated 1084 days ago.
ThisWIllAlwaysBeMySecret | 2021-01-13 | | Has no expiration date. Updated 1055 days ago.
ForgotMySecret | 2021-02-04 | | Has no expiration date. Updated 1033 days ago.
...
---------------------------------------------------------------------------------------------------------------------------------------------
Secrets updated in the last year.........: 26
Secrets NOT updated in the last year.....: 14
Secrets NOT updated for the last 2 years.: 36
Secrets missing Expiration Date..........: 148
Total number of secrets..................: 76
---------------------------------------------------------------------------------------------------------------------------------------------
kv_report.generate_report(expire_threshold=90)
kv_report.set_report_footer()
report = kv_report.get_report()
print(report)
---------------------------------------------------------------------------------------------------------------------------------------------
Secret Name | Last Updated | Expiration | Comment
---------------------------------------------------------------------------------------------------------------------------------------------
st-verySecretSecret | 2022-02-16 | 2022-09-09 | Expired 451 days ago. Updated 656 days ago.
---------------------------------------------------------------------------------------------------------------------------------------------
Secrets updated in the last year.........: 26
Secrets NOT updated in the last year.....: 14
Secrets NOT updated for the last 2 years.: 36
Secrets missing Expiration Date..........: 148
Total number of secrets..................: 76
---------------------------------------------------------------------------------------------------------------------------------------------
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for ops-py-azure-key-vault-report-0.0.8.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb9dbb307bc03d01c85dc5a4ba9b66371e009660a7bb206f490958614a11d7d4 |
|
MD5 | e7bb7d4dee624ec67aadcf9a1c5a0f49 |
|
BLAKE2b-256 | a8e8463d5208f6ac1652cdfa852c277bdae557fa2719b56fa5f121c90604b74b |
Close
Hashes for ops_py_azure_key_vault_report-0.0.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fde2a9214f66975d50ea3bce286abe2153019a16065c21770f599f9ee57792b |
|
MD5 | c5505b8927f0550568ed3600af726ca6 |
|
BLAKE2b-256 | 3061e5971ee00256cc71691f91d96f9c1e2193c1a22786410976457948fcde16 |