Azure DevOps is an end-to-end software development platform that offers an assortment of capabilities intended to organize and accelerate development efforts across the entire application lifecycle. To keep the secrets secured in an Azure DevOps pipeline, a Secret Management is required.
Leverage Fortanix DSM to securely retrieve the secrets at runtime of Azure DevOps pipeline execution. Fortanix offers an ADO custom extension Task to retrieve the secrets.
- Install Node js(Latest version(20 or above) is preferred)
- Build the extension
- Configure manifest.env, Add ID and PUBLISHER_ID.
- Run ./build.sh
- Find the extension in the same directory as <PUBLISHER_ID>.<EXTENSION_NAME>-.vslx
- eg: Fortanix-ADO.Fortanix-Secret-Management-1.0.0.vslx
- Upload the extension
- Go to marketplace https://marketplace.visualstudio.com/manage.
- Select the organization
- Select New extension -> Visual Studio Code
- Upload the extension
- MANIFEST_VERSION: Version of manifest
- ID: Unique Identifier(UUID), e.g., d9f8b8c2-1b48-4e5c-b0f5-41f2e7cf88a5
- EXTENSION_NAME: Name of the extension that is presented while installing this extension
- PUBLISHER_ID: ID of the Azure DevOps publisher
- TASK_NAME: Name of the task that is presented in the Azure pipelines
- VERSION: Version of the extension
- AUTHOR: Name of the Author
- Go to the marketplace
- Click on "Get it for free", Install it into the ADO organization
- Create a new project in ADO organization and provide access to any github repository
- Create a new pipeline
- Configure FORTANIX_API_KEY as a secret in Variables
- Go to show assistant and search for Fortanix-Secret-Management
- Configure all the listed paramaters:
- FORTANIX_API_ENDPOINT, eg: apac.smartkey.io
- FORTANIX_API_KEY, eg: $(FORTANIX_API_KEY)
- FORTANIX_SECURITY_OBJECT_NAME, name of a Security Object(SECRET)
- FORTANIX_SECURITY_OBJECT_NAME, variable to save the Security Object
- FORTANIX_SECURITY_OBJECT_NAME can be used for external usage
- To build the extension, Node.js v20 or above is required
- FORTANIX DSM Account a. Configure Group, App API key and Security Object(SECRET) b. Ensure to enable the EXPORT permission for Security Object(SECRET)
- Azure DevOps Organization a. Configure Publisher, Project, Github repository
- Ensure that the version is upgraded when updating this extension (eg: 1.0.0 -> 1.0.1)
- Never delete an extension that was already uploaded, always update it when making changes.