Post Key Vault Secrets report to webhook
Project description
azure-key-vault-alert
Description
Generates a Key Vault Secret status report using ops-py-azure-key-vault-report for one more Key Vaults.
Each report is posted continuously to Slack using ops-py-message-handler
When done, an optional final notify is sent to Slack using an additional webhook.
Installation
pip install ops-py-azure-key-vault-alert
Usage
Export the WEBHOOK_REPORT Environment Variables:
-
WEBHOOK_REPORT
Each report is posted to the value of this webhook. E.g.:
export WEBHOOK_REPORT="https://hooks.slack.com/workflows/T02XYZ..." -
WEBHOOK_NOTIFY
When all the reports have been posted, an additional POST is performed to the value of this webhook. E.g.:
export WEBHOOK_NOTIFY="https://hooks.slack.com/workflows/T02ZYX..."
Provide the list of key vaults to generate reports for after the -v / --vaults'
command line argument (space separated) when executing the code. E.g.:
python3 azure_key_vault_alert -v kv-prod kv-dev kv-qa
Other valid arguments:
--expire_threshold
If this argument is provided and followed by a int value (int),
the record will only be reported if days to the record's Expiration Date is below the threshold.
--include_no_expiration
If this argument is provided, the report will also include the records which has no Expiration Date set.
--include_all
If this argument is provided, the report will include all the records (verbose).
--teams_output
If this argument is provided, a MS Teams json object of the report will be generated and used as the payload.
Example on how to use this package in a GitHub Action Workflow:
NOTE: Use the predefined shared azure-key-vault-alert workflow instead.
Bash script
Create shell script which then is called by the pipeline, e.g. key_vault_alert.sh with the following content:
#!/bin/bash
BASEDIR=$(dirname "$0")
# To ensure that we are in the same directory as where this script is located
cd $BASEDIR
# Create a new empty Python virtual environment
python3 -m venv .venv
# Activate the newly created Python virtual environment
source .venv/bin/activate
# Only install the python packages specified in the requirements.txt files
pip install -r requirements.txt
# Executes ops-py-azure-key-vault-alert. Arguments are passed from this bash script to the python script
python3 -m azure_key_vault_alert.azure_key_vault_alert "$@"
Make sure to make the script executable before checking it in: chmod +x key_vault_alert.sh
PIP requirements.txt file
Make sure to generate a requirements.txt file and check in:
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip ops-py-azure-key-vault-alert
pip list --format=freeze > requirements.txt
git add requirements.txt
More info about Python virtual environment
Pipeline steps
-
Login to Azure CLI
Make sure this step is done before calling theazure-key-vault-alert. Also make sure the client id has the privileges to list the desired Key Vault Secrets.
Example code of this step:- name: "Azure login" uses: azure/login@v1 with: client-id: ${{ env.SERVICE_PRINCIPAL_CLIENT_ID }} subscription-id: ${{ env.SUBSCRIPTION_ID }} tenant-id: ${{ env.TENANT_ID }} enable-AzPSSession: true -
Execute the
key_vault_alert.shscript:- name: Key Vault Secrets report to Slack run: ./key_vault_alert.sh -v kv-dev kv-qaSpecify the list of desired key vault names after the
-vargument. The key vault names must be separated by space.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ops-py-azure-key-vault-alert-1.0.4.tar.gz.
File metadata
- Download URL: ops-py-azure-key-vault-alert-1.0.4.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f1cdceb78ead42a2773b5fc10b2ebd44382ad557a28f81d843fa8e519170f2a
|
|
| MD5 |
19bfc531e764bf92f182d662018bce12
|
|
| BLAKE2b-256 |
e33849b9f290ff62550a6537f1432006a8146bd7b0070fd02ed6ba3724d7d9e1
|
File details
Details for the file ops_py_azure_key_vault_alert-1.0.4-py3-none-any.whl.
File metadata
- Download URL: ops_py_azure_key_vault_alert-1.0.4-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32c846eb7089df48964fa0b06aaf5f30298137e38523deff54c24692b6716b48
|
|
| MD5 |
0fcbe4b7e7f4d711fa285fc16f4ebefb
|
|
| BLAKE2b-256 |
c9f458fe3a50a68c4c6b22db37c91e12af505dbb6cc43bab5bba10fd8a0c75ea
|