diff --git a/backend/src/ee/services/secret-rotation-v2/azure-client-secret/azure-client-secret-rotation-fns.ts b/backend/src/ee/services/secret-rotation-v2/azure-client-secret/azure-client-secret-rotation-fns.ts
index 156dc6828..1b812f6dd 100644
--- a/backend/src/ee/services/secret-rotation-v2/azure-client-secret/azure-client-secret-rotation-fns.ts
+++ b/backend/src/ee/services/secret-rotation-v2/azure-client-secret/azure-client-secret-rotation-fns.ts
@@ -37,6 +37,7 @@ export const azureClientSecretRotationFactory: TRotationFactory<
await blockLocalAndPrivateIpAddresses(endpoint);
const endDateTime = new Date();
+ console.log({ rotationInterval })
endDateTime.setDate(endDateTime.getDate() + rotationInterval);
try {
diff --git a/backend/src/ee/services/secret-rotation-v2/secret-rotation-v2-service.ts b/backend/src/ee/services/secret-rotation-v2/secret-rotation-v2-service.ts
index 61ea7a1d5..26717765b 100644
--- a/backend/src/ee/services/secret-rotation-v2/secret-rotation-v2-service.ts
+++ b/backend/src/ee/services/secret-rotation-v2/secret-rotation-v2-service.ts
@@ -445,7 +445,8 @@ export const secretRotationV2ServiceFactory = ({
{
parameters: payload.parameters,
secretsMapping,
- connection
+ connection,
+ rotationInterval: payload.rotationInterval
} as TSecretRotationV2WithConnection,
appConnectionDAL,
kmsService
diff --git a/docs/api-reference/endpoints/app-connections/azure-client-secret/available.mdx b/docs/api-reference/endpoints/app-connections/azure-client-secret/available.mdx
new file mode 100644
index 000000000..238f8ae18
--- /dev/null
+++ b/docs/api-reference/endpoints/app-connections/azure-client-secret/available.mdx
@@ -0,0 +1,4 @@
+---
+title: "Available"
+openapi: "GET /api/v1/app-connections/azure-client-secrets/available"
+---
diff --git a/docs/api-reference/endpoints/app-connections/azure-client-secret/create.mdx b/docs/api-reference/endpoints/app-connections/azure-client-secret/create.mdx
new file mode 100644
index 000000000..16a384949
--- /dev/null
+++ b/docs/api-reference/endpoints/app-connections/azure-client-secret/create.mdx
@@ -0,0 +1,9 @@
+---
+title: "Create"
+openapi: "POST /api/v1/app-connections/azure-client-secrets"
+---
+
+
+ Check out the configuration docs for [Azure Client Secret Connections](/integrations/app-connections/azure-client-secrets) to learn how to obtain the
+ required credentials.
+
\ No newline at end of file
diff --git a/docs/api-reference/endpoints/app-connections/azure-client-secret/delete.mdx b/docs/api-reference/endpoints/app-connections/azure-client-secret/delete.mdx
new file mode 100644
index 000000000..8482e2ad1
--- /dev/null
+++ b/docs/api-reference/endpoints/app-connections/azure-client-secret/delete.mdx
@@ -0,0 +1,4 @@
+---
+title: "Delete"
+openapi: "DELETE /api/v1/app-connections/azure-client-secrets/{connectionId}"
+---
diff --git a/docs/api-reference/endpoints/app-connections/azure-client-secret/get-by-id.mdx b/docs/api-reference/endpoints/app-connections/azure-client-secret/get-by-id.mdx
new file mode 100644
index 000000000..555ae20f3
--- /dev/null
+++ b/docs/api-reference/endpoints/app-connections/azure-client-secret/get-by-id.mdx
@@ -0,0 +1,4 @@
+---
+title: "Get by ID"
+openapi: "GET /api/v1/app-connections/azure-client-secrets/{connectionId}"
+---
diff --git a/docs/api-reference/endpoints/app-connections/azure-client-secret/get-by-name.mdx b/docs/api-reference/endpoints/app-connections/azure-client-secret/get-by-name.mdx
new file mode 100644
index 000000000..f6c23483e
--- /dev/null
+++ b/docs/api-reference/endpoints/app-connections/azure-client-secret/get-by-name.mdx
@@ -0,0 +1,4 @@
+---
+title: "Get by Name"
+openapi: "GET /api/v1/app-connections/azure-client-secrets/connection-name/{connectionName}"
+---
diff --git a/docs/api-reference/endpoints/app-connections/azure-client-secret/list.mdx b/docs/api-reference/endpoints/app-connections/azure-client-secret/list.mdx
new file mode 100644
index 000000000..795906cfd
--- /dev/null
+++ b/docs/api-reference/endpoints/app-connections/azure-client-secret/list.mdx
@@ -0,0 +1,4 @@
+---
+title: "List"
+openapi: "GET /api/v1/app-connections/azure-client-secrets"
+---
diff --git a/docs/api-reference/endpoints/app-connections/azure-client-secret/update.mdx b/docs/api-reference/endpoints/app-connections/azure-client-secret/update.mdx
new file mode 100644
index 000000000..05248e5f1
--- /dev/null
+++ b/docs/api-reference/endpoints/app-connections/azure-client-secret/update.mdx
@@ -0,0 +1,9 @@
+---
+title: "Update"
+openapi: "PATCH /api/v1/app-connections/azure-client-secrets/{connectionId}"
+---
+
+
+ Check out the configuration docs for [Azure Client Secret Connections](/integrations/app-connections/azure-client-secrets) to learn how to obtain the
+ required credentials.
+
\ No newline at end of file
diff --git a/docs/api-reference/endpoints/secret-rotations/azure-client-secret/create.mdx b/docs/api-reference/endpoints/secret-rotations/azure-client-secret/create.mdx
new file mode 100644
index 000000000..eb998767b
--- /dev/null
+++ b/docs/api-reference/endpoints/secret-rotations/azure-client-secret/create.mdx
@@ -0,0 +1,9 @@
+---
+title: "Create"
+openapi: "POST /api/v2/secret-rotations/azure-client-secret"
+---
+
+
+ Check out the configuration docs for [Azure Client Secret Rotations](/documentation/platform/secret-rotation/azure-client-secret) to learn how to obtain the
+ required parameters.
+
\ No newline at end of file
diff --git a/docs/api-reference/endpoints/secret-rotations/azure-client-secret/delete.mdx b/docs/api-reference/endpoints/secret-rotations/azure-client-secret/delete.mdx
new file mode 100644
index 000000000..31e4a5697
--- /dev/null
+++ b/docs/api-reference/endpoints/secret-rotations/azure-client-secret/delete.mdx
@@ -0,0 +1,4 @@
+---
+title: "Delete"
+openapi: "DELETE /api/v2/secret-rotations/azure-client-secret/{rotationId}"
+---
diff --git a/docs/api-reference/endpoints/secret-rotations/azure-client-secret/get-by-id.mdx b/docs/api-reference/endpoints/secret-rotations/azure-client-secret/get-by-id.mdx
new file mode 100644
index 000000000..db5ec7a2a
--- /dev/null
+++ b/docs/api-reference/endpoints/secret-rotations/azure-client-secret/get-by-id.mdx
@@ -0,0 +1,4 @@
+---
+title: "Get by ID"
+openapi: "GET /api/v2/secret-rotations/azure-client-secret/{rotationId}"
+---
diff --git a/docs/api-reference/endpoints/secret-rotations/azure-client-secret/get-by-name.mdx b/docs/api-reference/endpoints/secret-rotations/azure-client-secret/get-by-name.mdx
new file mode 100644
index 000000000..c1ca2d958
--- /dev/null
+++ b/docs/api-reference/endpoints/secret-rotations/azure-client-secret/get-by-name.mdx
@@ -0,0 +1,4 @@
+---
+title: "Get by Name"
+openapi: "GET /api/v2/secret-rotations/azure-client-secret/rotation-name/{rotationName}"
+---
diff --git a/docs/api-reference/endpoints/secret-rotations/azure-client-secret/get-generated-credentials-by-id.mdx b/docs/api-reference/endpoints/secret-rotations/azure-client-secret/get-generated-credentials-by-id.mdx
new file mode 100644
index 000000000..c6da0709c
--- /dev/null
+++ b/docs/api-reference/endpoints/secret-rotations/azure-client-secret/get-generated-credentials-by-id.mdx
@@ -0,0 +1,4 @@
+---
+title: "Get Credentials by ID"
+openapi: "GET /api/v2/secret-rotations/azure-client-secret/{rotationId}/generated-credentials"
+---
diff --git a/docs/api-reference/endpoints/secret-rotations/azure-client-secret/list.mdx b/docs/api-reference/endpoints/secret-rotations/azure-client-secret/list.mdx
new file mode 100644
index 000000000..da970a16f
--- /dev/null
+++ b/docs/api-reference/endpoints/secret-rotations/azure-client-secret/list.mdx
@@ -0,0 +1,4 @@
+---
+title: "List"
+openapi: "GET /api/v2/secret-rotations/azure-client-secret"
+---
diff --git a/docs/api-reference/endpoints/secret-rotations/azure-client-secret/rotate-secrets.mdx b/docs/api-reference/endpoints/secret-rotations/azure-client-secret/rotate-secrets.mdx
new file mode 100644
index 000000000..b824178da
--- /dev/null
+++ b/docs/api-reference/endpoints/secret-rotations/azure-client-secret/rotate-secrets.mdx
@@ -0,0 +1,4 @@
+---
+title: "Rotate Secrets"
+openapi: "POST /api/v2/secret-rotations/azure-client-secret/{rotationId}/rotate-secrets"
+---
diff --git a/docs/api-reference/endpoints/secret-rotations/azure-client-secret/update.mdx b/docs/api-reference/endpoints/secret-rotations/azure-client-secret/update.mdx
new file mode 100644
index 000000000..abb00bba0
--- /dev/null
+++ b/docs/api-reference/endpoints/secret-rotations/azure-client-secret/update.mdx
@@ -0,0 +1,9 @@
+---
+title: "Update"
+openapi: "PATCH /api/v2/secret-rotations/azure-client-secret/{rotationId}"
+---
+
+
+ Check out the configuration docs for [Azure Client Secret Rotations](/documentation/platform/secret-rotation/azure-client-secret) to learn how to obtain the
+ required parameters.
+
\ No newline at end of file
diff --git a/docs/documentation/platform/secret-rotation/azure-client-secret.mdx b/docs/documentation/platform/secret-rotation/azure-client-secret.mdx
new file mode 100644
index 000000000..4997e80d0
--- /dev/null
+++ b/docs/documentation/platform/secret-rotation/azure-client-secret.mdx
@@ -0,0 +1,140 @@
+---
+title: "Azure Client Secret"
+description: "Learn how to automatically rotate Azure Client Secrets."
+---
+
+## Prerequisites
+
+- Create an [Azure Client Secret Connection](/integrations/app-connections/azure-client-secrets) with the required **Secret Rotation** audience and permissions
+
+## Create an Azure Client Secret Rotation in Infisical
+
+
+
+ 1. Navigate to your Secret Manager Project's Dashboard and select **Add Secret Rotation** from the actions dropdown.
+ 
+
+ 2. Select the **Azure Client Secret** option.
+ 
+
+ 3. Select the **Azure Connection** to use and configure the rotation behavior. Then click **Next**.
+ 
+
+ - **Azure Connection** - the connection that will perform the rotation of the specified application's Client Secret.
+ - **Rotation Interval** - the interval, in days, that once elapsed will trigger a rotation.
+ - **Rotate At** - the local time of day when rotation should occur once the interval has elapsed.
+ - **Auto-Rotation Enabled** - whether secrets should automatically be rotated once the rotation interval has elapsed. Disable this option to manually rotate secrets or pause secret rotation.
+
+ 4. Select the Azure application whose Client Secret you want to rotate. Then click **Next**.
+ 
+
+ 5. Specify the secret names that the client credentials should be mapped to. Then click **Next**.
+ 
+
+ - **Client ID** - the name of the secret that the application Client ID will be mapped to.
+ - **Client Secret** - the name of the secret that the rotated Client Secret will be mapped to.
+
+ 6. Give your rotation a name and description (optional). Then click **Next**.
+ 
+
+ - **Name** - the name of the secret rotation configuration. Must be slug-friendly.
+ - **Description** (optional) - a description of this rotation configuration.
+
+ 7. Review your configuration, then click **Create Secret Rotation**.
+ 
+
+ 8. Your **Azure Client Secret** credentials are now available for use via the mapped secrets.
+ 
+
+
+ To create an Azure Client Secret Rotation, make an API request to the [Create Azure
+ Client Secret Rotation](/api-reference/endpoints/secret-rotations/azure-client-secret/create) API endpoint.
+
+ You will first need the **Client ID** of the Azure application you want to rotate the secret for. This can be obtained from the Applications dashboard.
+ 
+
+
+ ### Sample request
+
+ ```bash Request
+ curl --request POST \
+ --url https://us.infisical.com/api/v2/secret-rotations/azure-client-secret \
+ --header 'Content-Type: application/json' \
+ --data '{
+ "name": "my-azure-rotation",
+ "projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
+ "description": "my client secret rotation",
+ "connectionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
+ "environment": "dev",
+ "secretPath": "/",
+ "isAutoRotationEnabled": true,
+ "rotationInterval": 30,
+ "rotateAtUtc": {
+ "hours": 0,
+ "minutes": 0
+ },
+ "parameters": {
+ "appId": "...",
+ "appName": "..."
+ },
+ "secretsMapping": {
+ "clientId": "AZURE_CLIENT_ID",
+ "clientSecret": "AZURE_CLIENT_SECRET"
+ }
+ }'
+ ```
+
+ ### Sample response
+
+ ```bash Response
+ {
+ "secretRotation": {
+ "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
+ "name": "my-azure-rotation",
+ "description": "my client secret rotation",
+ "secretsMapping": {
+ "clientId": "AZURE_CLIENT_ID",
+ "clientSecret": "AZURE_CLIENT_SECRET"
+ },
+ "isAutoRotationEnabled": true,
+ "activeIndex": 0,
+ "folderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
+ "connectionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
+ "createdAt": "2023-11-07T05:31:56Z",
+ "updatedAt": "2023-11-07T05:31:56Z",
+ "rotationInterval": 30,
+ "rotationStatus": "success",
+ "lastRotationAttemptedAt": "2023-11-07T05:31:56Z",
+ "lastRotatedAt": "2023-11-07T05:31:56Z",
+ "lastRotationJobId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
+ "nextRotationAt": "2023-11-07T05:31:56Z",
+ "connection": {
+ "app": "azure",
+ "name": "my-azure-connection",
+ "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
+ },
+ "environment": {
+ "slug": "dev",
+ "name": "Development",
+ "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
+ },
+ "projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
+ "folder": {
+ "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
+ "path": "/"
+ },
+ "rotateAtUtc": {
+ "hours": 0,
+ "minutes": 0
+ },
+ "lastRotationMessage": null,
+ "type": "azure-client-secret",
+ "parameters": {
+ "appId": "...",
+ "appName": "..."
+ }
+ }
+ }
+ ```
+
+
diff --git a/docs/images/app-connections/azure/client-secrets/create-oauth-method.png b/docs/images/app-connections/azure/client-secrets/create-oauth-method.png
new file mode 100644
index 000000000..ae02705d6
Binary files /dev/null and b/docs/images/app-connections/azure/client-secrets/create-oauth-method.png differ
diff --git a/docs/images/app-connections/azure/client-secrets/oauth-connection.png b/docs/images/app-connections/azure/client-secrets/oauth-connection.png
new file mode 100644
index 000000000..5bc8e479a
Binary files /dev/null and b/docs/images/app-connections/azure/client-secrets/oauth-connection.png differ
diff --git a/docs/images/app-connections/azure/client-secrets/select-connection.png b/docs/images/app-connections/azure/client-secrets/select-connection.png
new file mode 100644
index 000000000..84091ef25
Binary files /dev/null and b/docs/images/app-connections/azure/client-secrets/select-connection.png differ
diff --git a/docs/images/integrations/azure-client-secrets/app-api-permissions.png b/docs/images/integrations/azure-client-secrets/app-api-permissions.png
new file mode 100644
index 000000000..f64d8b50f
Binary files /dev/null and b/docs/images/integrations/azure-client-secrets/app-api-permissions.png differ
diff --git a/docs/images/secret-rotations-v2/azure-client-secret/azure-app-client-id.png b/docs/images/secret-rotations-v2/azure-client-secret/azure-app-client-id.png
new file mode 100644
index 000000000..488263071
Binary files /dev/null and b/docs/images/secret-rotations-v2/azure-client-secret/azure-app-client-id.png differ
diff --git a/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-configuration.png b/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-configuration.png
new file mode 100644
index 000000000..043d51bcf
Binary files /dev/null and b/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-configuration.png differ
diff --git a/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-created.png b/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-created.png
new file mode 100644
index 000000000..c4208d14c
Binary files /dev/null and b/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-created.png differ
diff --git a/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-details.png b/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-details.png
new file mode 100644
index 000000000..68c58d795
Binary files /dev/null and b/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-details.png differ
diff --git a/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-mapping.png b/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-mapping.png
new file mode 100644
index 000000000..ee8a3b948
Binary files /dev/null and b/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-mapping.png differ
diff --git a/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-option.png b/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-option.png
new file mode 100644
index 000000000..6ff3f3f00
Binary files /dev/null and b/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-option.png differ
diff --git a/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-parameters.png b/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-parameters.png
new file mode 100644
index 000000000..a3917965d
Binary files /dev/null and b/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-parameters.png differ
diff --git a/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-review.png b/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-review.png
new file mode 100644
index 000000000..fca3a4c4c
Binary files /dev/null and b/docs/images/secret-rotations-v2/azure-client-secret/azure-client-secret-review.png differ
diff --git a/docs/integrations/app-connections/azure-client-secrets.mdx b/docs/integrations/app-connections/azure-client-secrets.mdx
new file mode 100644
index 000000000..d18865a6d
--- /dev/null
+++ b/docs/integrations/app-connections/azure-client-secrets.mdx
@@ -0,0 +1,90 @@
+---
+title: "Azure Client Secrets Connection"
+description: "Learn how to configure a Azure Client Secrets Connection for Infisical."
+---
+
+Infisical currently only supports one method for connecting to Azure, which is OAuth.
+
+
+ Using the Azure Client Secrets connection on a self-hosted instance of Infisical requires configuring an application in Azure
+ and registering your instance with it.
+
+ **Prerequisites:**
+
+ - Set up Azure.
+
+
+
+ Navigate to Azure Active Directory > App registrations to create a new application.
+
+
+ Azure Active Directory is now Microsoft Entra ID.
+
+ 
+ 
+
+ Create the application. As part of the form, set the **Redirect URI** to `https://your-domain.com/organization/app-connections/azure/oauth/callback`.
+
+ The domain you defined in the Redirect URI should be equivalent to the `SITE_URL` configured in your Infisical instance.
+
+
+ 
+
+
+
+ For the Azure Connection to work with Client Secrets, you need to assign multiple permissions to the application.
+
+ #### Azure Client Secrets permissions
+
+ Set the API permissions of the Azure application to include the following Azure Client Secrets permissions: `Application.ReadWrite.All`.
+ 
+
+
+
+
+ Obtain the **Application (Client) ID** in Overview and generate a **Client Secret** in Certificate & secrets for your Azure application.
+
+ 
+ 
+ 
+
+ Back in your Infisical instance, add two new environment variables for the credentials of your Azure application.
+
+ - `INF_APP_CONNECTION_AZURE_CLIENT_ID`: The **Application (Client) ID** of your Azure application.
+ - `INF_APP_CONNECTION_AZURE_CLIENT_SECRET`: The **Client Secret** of your Azure application.
+
+ Once added, restart your Infisical instance and use the Azure Client Secrets connection.
+
+
+
+
+
+## Setup Azure Connection in Infisical
+
+
+
+ Navigate to the **App Connections** tab on the **Organization Settings** page. 
+
+
+ Select the **Azure Connection** option from the connection options modal. 
+
+
+ You can optionally authenticate against a specific tenant by providing the Azure Tenant or Directory ID.
+
+ Now select the **OAuth** method and click **Connect to Azure**.
+
+ 
+
+
+
+
+
+ You will then be redirected to Azure to grant Infisical access to your Azure account. Once granted,
+ you will redirect you back to Infisical's App Connections page. 
+
+
+ Your **Azure Client Secrets Connection** is now available for use. 
+
+
diff --git a/docs/mint.json b/docs/mint.json
index c224ee23c..38d44afa9 100644
--- a/docs/mint.json
+++ b/docs/mint.json
@@ -179,6 +179,7 @@
"pages": [
"documentation/platform/secret-rotation/overview",
"documentation/platform/secret-rotation/auth0-client-secret",
+ "documentation/platform/secret-rotation/azure-client-secret",
"documentation/platform/secret-rotation/postgres-credentials",
"documentation/platform/secret-rotation/mssql-credentials"
]
@@ -419,6 +420,7 @@
"integrations/app-connections/aws",
"integrations/app-connections/azure-app-configuration",
"integrations/app-connections/azure-key-vault",
+ "integrations/app-connections/azure-client-secrets",
"integrations/app-connections/camunda",
"integrations/app-connections/databricks",
"integrations/app-connections/gcp",
@@ -859,6 +861,19 @@
"api-reference/endpoints/secret-rotations/auth0-client-secret/update"
]
},
+ {
+ "group": "Azure Client Secret",
+ "pages": [
+ "api-reference/endpoints/secret-rotations/azure-client-secret/create",
+ "api-reference/endpoints/secret-rotations/azure-client-secret/delete",
+ "api-reference/endpoints/secret-rotations/azure-client-secret/get-by-id",
+ "api-reference/endpoints/secret-rotations/azure-client-secret/get-by-name",
+ "api-reference/endpoints/secret-rotations/azure-client-secret/get-generated-credentials-by-id",
+ "api-reference/endpoints/secret-rotations/azure-client-secret/list",
+ "api-reference/endpoints/secret-rotations/azure-client-secret/rotate-secrets",
+ "api-reference/endpoints/secret-rotations/azure-client-secret/update"
+ ]
+ },
{
"group": "Microsoft SQL Server Credentials",
"pages": [
@@ -939,6 +954,18 @@
"api-reference/endpoints/app-connections/azure-app-configuration/delete"
]
},
+ {
+ "group": "Azure Client Secret",
+ "pages": [
+ "api-reference/endpoints/app-connections/azure-client-secret/list",
+ "api-reference/endpoints/app-connections/azure-client-secret/available",
+ "api-reference/endpoints/app-connections/azure-client-secret/get-by-id",
+ "api-reference/endpoints/app-connections/azure-client-secret/get-by-name",
+ "api-reference/endpoints/app-connections/azure-client-secret/create",
+ "api-reference/endpoints/app-connections/azure-client-secret/update",
+ "api-reference/endpoints/app-connections/azure-client-secret/delete"
+ ]
+ },
{
"group": "Azure Key Vault",
"pages": [
diff --git a/frontend/src/helpers/secretRotationsV2.ts b/frontend/src/helpers/secretRotationsV2.ts
index 20b5d3878..3a6abbb5b 100644
--- a/frontend/src/helpers/secretRotationsV2.ts
+++ b/frontend/src/helpers/secretRotationsV2.ts
@@ -39,7 +39,7 @@ export const IS_ROTATION_DUAL_CREDENTIALS: Record = {
[SecretRotation.PostgresCredentials]: true,
[SecretRotation.MsSqlCredentials]: true,
[SecretRotation.Auth0ClientSecret]: false,
- [SecretRotation.AzureClientSecret]: false
+ [SecretRotation.AzureClientSecret]: true
};
export const getRotateAtLocal = ({ hours, minutes }: TSecretRotationV2["rotateAtUtc"]) => {