Overview
This document outlines the standardized approach for creating Secrets in Azure Key Vault using pre-defined Product Configuration records. Each configuration corresponds to a specific product/feature set up and uses a consistent JSON template to ensure secure and uniform integration with external systems. TechnoMile maintains a set of Product Configuration records in the system. These records define parameters required for secure communication with external services.
TechnoMile’s Contracts Suite solution helps Government Contractors manage the entire Contract Lifecycle initiating from pre-award to post-award through a user-friendly set up and administration tasks. The Contracts Suite solution is built on a highly flexible and scalable Microsoft Dynamics platform where users can easily configure and manage Contract and Subcontract processes.
This guide will take you through the installation and configuration steps for the Contracts Suite app with Azure Key Vault enabled.
Audience
Microsoft Dynamics Administrators
IT Support
Prerequisites
Ensure that TechnoMile's Contracts Suite is already installed and configured. The version of this package must be 2025.3 or higher.
Retrieve Azure/Entra application details such as Client ID, Client Secret, and Tenant ID.
Retrieve name of Azure Key Vault.
Recommendation
It is advisable to maintain separate Azure Key Vaults for each instance in order to segregate configurations for different environments (for example, Development, UAT, or Production).
Installation
It is recommended to install all packages in a Sandbox/Test environment for testing, prior to their installation in your Production environment.
Please contact TechnoMile Support or email support@technomile.com for separate installation packages for your Sandbox/Test environment.
Import TechnoMile GRC Suite Solution with Azure Key Vault
IMPORTANT
Check all Power Automate Flows to ensure that they are turned ON. If a Power Automate Flow is not ON, select Edit for the flow, create its Connections, and turn it ON.
Login to your Microsoft Dynamics instance.
Click Browse and select the TechnoMile GRC Suite installation package that you had received from TechnoMile, which is saved on your system and click Next.
Click the ellipsis (three dots) icon against a red invalid connection, if any.
Select Service Principal authentication, enter Client ID, Client secret,Tenant ID, and Key vault name, and click Create.
A valid connection is added in green color.
Similarly, perform the same steps for all other invalid connections visible on this window.
Click Import.
The following message is displayed Solution “TechnoMile GRC Suite” imported successfully, and the installed TechnoMile GRC Suite package is displayed on the Managed tab of the Solutions page.
Configuration
Product Configurations
Select Product Configurations and click Results.
A list of Product Configurations displays.
Similarly, open Azure Application Credentials.
IMPORTANT
Note that this configuration is instance-specific and must be confirmed by the client prior to set up. It must also be verified in the Azure portal prior to proceeding.
Ensure that Contains Secret is set to Yes.
Ensure that Contains Secret is set to Yes.
Ensure that Contains Secret is set to Yes.
Ensure that Contains Secret is set to Yes.
Key Vault Configurations
IMPORTANT
Prior to adding Secrets into your Key Vault, ensure that the Product Configurations mentioned in the previous topic are verified by TechnoMile, as these are typically both client and instance specific.
Open Key Vault Power Auto Test.
NOTE
Currently, Secrets are added to the Key Vault named Key Vault Power Auto Test. Note that the name of the Key Vault may vary across instances or clients. However, ensure that the Secret names are maintained exactly as listed below:
Expand Objects, click Secrets, and verify that the Secrets are present.
IMPORTANT
Ensure that all the above Secrets are created and their Status is set to Enabled.
If any of these Secrets are missing (for example, AzureApplicationCredentials), create them using the same naming convention as listed above.Paste the following syntax into the Secret value field, if this field is blank or its data is changed.
NOTE
For GCCH users, MS Token Base URL will be login.microsoftonline.us.
{ "Azure_TenantId": "*********************", "Azure_ClientSecret": "****************", "Azure_ClientId": "******************", "MS_TokenBaseURL": "login.microsoftonline.com" }Open Current Version.
Scroll down and click Show Secret Value.
Paste the following syntax into the Secret value field, if this field is blank or its data is changed.
{ "username": "********", "password": "*********", "base_url": "*******", "token_url": "/oauth/token", "clause_type_url": "/clauselib/v1/clauses" }Open Current Version.
Scroll down and click Show Secret Value.
Paste the following syntax into the Secret value field, if this field is blank or its data is changed.
{ "BaseURL": "*******", "Api_ClientId": "********", "Api_ClientSecret": "********", "Widget_InstanceName": "*******", "Widget_ClientId": "********", "Widget_ClientEmail": "**********************", "Widget_ClientSecret": "***************", "Widget_TokenUrl": "/o/oauth2/token", "Register_Token": "/o/provisioning/register-token", "widget_Url": "/web/guest/mediator?widget=true&consumer=ms×tamp=","MS_TokenBaseURL": "login.microsoftonline.com" }Open Current Version.
Scroll down and click Show Secret Value.
Paste the following syntax into the Secret value field, if this field is blank or its data is changed.
{ "client_id": "***************", "client_secret": "*********", "baseUrl": "***************", "searchUrl": "/wdol/v1/search", "tokenUrl": "/oauth2/token", "stateUrl": "/census/us/states", "countyUrl": "/counties" }
