Learn how to configure an Azure Client Secrets Connection for Infisical.
Infisical currently only supports two methods for connecting to Azure, which are OAuth and Client Secrets.
Self-Hosted Instance
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.
1
Create an application in Azure
Navigate to Entra ID > 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.
2
Assign API permissions to the application
For the Azure Connection to work with Client Secrets, you need to assign the following permission to the application.
Azure client secrets permissions
Set the API permissions of the Azure application to include the following permissions:
Microsoft Graph
Application.ReadWrite.All
Application.ReadWrite.OwnedBy
Application.ReadWrite.All (Delegated)
Directory.ReadWrite.All (Delegated)
User.Read (Delegated)
3
Add your application credentials to Infisical
Obtain the Application (Client) ID and Directory (Tenant) ID (this will be used later in the Infisical connection) 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_SECRETS_CLIENT_ID: The Application (Client) ID of your Azure application.
INF_APP_CONNECTION_AZURE_CLIENT_SECRETS_CLIENT_SECRET: The Client Secret of your Azure application.
Once added, restart your Infisical instance and use the Azure Client Secrets connection.
Client Secret Authentication
Ensure your Azure application has the required permissions that Infisical needs for the Azure Client Secrets connection to work.Prerequisites:
An active Azure setup.
1
Assign API permissions to the application
For the Azure Client Secrets connection to work, assign the following permissions to your Azure application:
Required API permissions
Microsoft Graph
Application.ReadWrite.All
Application.ReadWrite.OwnedBy
Application.ReadWrite.All (Delegated)
Directory.ReadWrite.All (Delegated)
User.Read (Delegated)
If you want to configure automatic client secret rotation for this App Connection, you also need to grant either Application.ReadWrite.OwnedBy or Application.ReadWrite.All permissions.
Certificate Authentication
Ensure your Azure application has the required permissions that Infisical needs for the Azure Client Secrets connection to work.Prerequisites:
An active Azure setup.
1
Assign API permissions to the application
For the Azure Client Secrets connection to work, assign the following permissions to your Azure application:
Required API permissions
Microsoft Graph
Application.ReadWrite.All
Application.ReadWrite.OwnedBy
Application.ReadWrite.All (Delegated)
Directory.ReadWrite.All (Delegated)
User.Read (Delegated)
2
Upload your certificate to your Azure App Registration
Navigate to the Certificates & secrets section of your Azure App Registration, and press the Upload certificate button.Select the Upload button and upload your certificate.
Keep in mind that both the certificate and its private key are required to configure the Azure Client Secrets connection in Infisical.
Setup Azure connection in Infisical
1
Navigate to App Connections
Navigate to the Integrations tab in the desired project, then select App Connections.
2
Add Connection
Select the Azure Connection option from the connection options modal.
3
Create Connection
OAuth
Client Secret
Certificate
1
Authorize Connection
Fill in the Tenant ID field with the Directory (Tenant) ID you obtained in the previous step.Now select the OAuth method and click Connect to Azure.
If you use Infisical Cloud, the OAuth flow requests every permission on Infisical’s shared Azure app registration (the .default scope), including the permissions for Azure App Configuration. If your Azure tenant doesn’t have the Azure App Configuration service principal, the OAuth flow fails. To create the service principal, run the following Azure CLI command, then try to connect again:
az ad sp create --id 35ffadb3-7fc1-497e-b61b-381d28e744cc
35ffadb3-7fc1-497e-b61b-381d28e744cc is the application ID that Microsoft assigns to Azure App Configuration, and it’s the same in every Azure tenant.
1
Grant Access
You will then be redirected to Azure to grant Infisical access to your Azure account. Once granted,
you will be redirected back to Infisical’s App Connections page.
1
Create Connection
Fill in the Tenant ID, Client ID and Client Secret fields with the Directory (Tenant) ID, Application (Client) ID and Client Secret you obtained in the previous step.
You can optionally enable Automatic Credential Rotation for this connection. See the Automatic Credential Rotation section below for details.
1
Create Connection
Fill in the Tenant ID, Client ID, Certificate (PEM format), and Private Key fields with the Directory (Tenant) ID, Application (Client) ID, Certificate and Private Key you obtained in the previous step.
The private key is never transmitted to Azure, and it is only used to sign the client assertion used to authenticate with Azure.
4
Connection Created
Your Azure Client Secrets Connection is now available for use.
Automatic credential rotation
When using the Client Secret authentication method, Infisical can automatically rotate the Client Secret of your Azure application on a recurring schedule. When enabled, Infisical will immediately generate a new Client Secret on connection creation and revoke the original one, ensuring that no external party retains access using the credentials you provided.
Automatic Credential Rotation is only available for the Client Secret authentication method.
1
Locate the Key ID of your Client Secret
Before enabling rotation, you’ll need the Key ID of the Client Secret you’re using to authenticate. Navigate to your App Registration in the Azure Portal, then go to Certificates & secrets. Copy the Secret ID (Key ID) of the secret you’re providing to Infisical.
2
Enable Automatic Credential Rotation
When creating or editing your connection, toggle on the Automatic Credential Rotation switch.
3
Provide the Client Secret Key ID
Enter the Key ID you copied in the previous step into the Client Secret Key ID field. Infisical uses this to revoke your original secret after generating a new one.
4
Configure the Rotation Schedule
Set the Rotation Interval (in days) to define how often the credential should be rotated, and set Rotate At to the local time of day at which the rotation should occur.
Rotation Interval – How many days between each rotation.
Rotate At – The local time of day at which the rotation will be triggered.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Infisical","colors":{"primary":"#26272b","light":"#dbf530","dark":"#A1B659"},"logo":{"light":"https://mintlify.s3.us-west-1.amazonaws.com/infisical/logo/light.svg","dark":"https://mintlify.s3.us-west-1.amazonaws.com/infisical/logo/dark.svg","href":"/"},"favicon":"https://mintlify.s3.us-west-1.amazonaws.com/infisical/favicon.ico","api":{"openapi":"https://app.infisical.com/api/docs/json","mdx":{"server":["https://app.infisical.com"]}},"appearance":{"default":"light"},"background":{"color":{"light":"#ffffff","dark":"#08090b"}},"navbar":{"links":[{"href":"https://app.infisical.com/login","label":"Log In"}],"primary":{"type":"button","label":"Start for Free","href":"https://app.infisical.com/signup"}},"footer":{"socials":{"x":"https://www.twitter.com/infisical","linkedin":"https://www.linkedin.com/company/infisical","github":"https://github.com/Infisical/infisical-cli","website":"https://community.infisical.com"},"links":[{"header":"PRODUCT","items":[{"label":"Secrets Management","href":"https://infisical.com/platform/secrets-management"},{"label":"Certificate Management","href":"https://infisical.com/platform/certificate-management"},{"label":"Privileged Access Management (PAM)","href":"https://infisical.com/platform/pam"},{"label":"Agent Vault","href":"https://infisical.com/platform/agent-vault"},{"label":"Key Management Service (KMS)","href":"https://infisical.com/docs/documentation/platform/kms/overview"},{"label":"Secret Scanning","href":"https://infisical.com/radar"},{"label":"Share Secrets","href":"https://app.infisical.com/share-secret"},{"label":"Pricing","href":"https://infisical.com/pricing"},{"label":"Security","href":"https://infisical.com/docs/internals/security"},{"label":"Blog","href":"https://infisical.com/blog"},{"label":"Infisical vs Vault","href":"https://infisical.com/infisical-vs-hashicorp-vault"},{"label":"Community","href":"https://community.infisical.com/"}]},{"header":"USE CASES","items":[{"label":"Infisical Agent","href":"https://infisical.com/docs/documentation/getting-started/introduction"},{"label":"Infisical Proxy","href":"https://infisical.com/docs/integrations/platforms/infisical-proxy"},{"label":"Kubernetes","href":"https://infisical.com/docs/integrations/platforms/kubernetes"},{"label":"Dynamic Secrets","href":"https://infisical.com/docs/documentation/platform/dynamic-secrets/overview"},{"label":"Terraform","href":"https://registry.terraform.io/providers/Infisical/infisical/latest/docs"},{"label":"Ansible","href":"https://infisical.com/docs/integrations/platforms/ansible"},{"label":"Jenkins","href":"https://infisical.com/docs/integrations/cicd/jenkins"},{"label":"Docker","href":"https://infisical.com/docs/integrations/platforms/docker"},{"label":"AWS ECS","href":"https://infisical.com/docs/integrations/platforms/ecs-with-agent"},{"label":"GitLab","href":"https://infisical.com/docs/integrations/cicd/gitlab"},{"label":"GitHub","href":"https://infisical.com/docs/integrations/cicd/githubactions"},{"label":"SDK","href":"https://infisical.com/docs/sdks/overview"}]},{"header":"DEVELOPERS","items":[{"label":"Changelog","href":"https://github.com/Infisical/infisical/releases"},{"label":"Status","href":"https://status.infisical.com/"},{"label":"Feedback \u0026 Requests","href":"https://github.com/Infisical/infisical/issues"},{"label":"Trust of Center","href":"https://app.vanta.com/infisical.com/trust/hoop8cr78cuarxo9sztvs"},{"label":"Open Source Friends","href":"https://infisical.com/infisical-friends"},{"label":"How to contribute","href":"https://www.infisical.com/infisical-heroes"}]},{"header":"OTHERS","items":[{"label":"Customers","href":"https://infisical.com/customers/traba"},{"label":"Company Handbook","href":"https://infisical.com/wiki/handbook/overview"},{"label":"Careers","href":"https://infisical.com/careers"},{"label":"Terms of Service","href":"https://infisical.com/terms"},{"label":"Privacy Policy","href":"https://infisical.com/privacy"},{"label":"Subprocessors","href":"https://infisical.com/subprocessors"},{"label":"SLA","href":"https://infisical.com/sla"},{"label":"Support Email","href":"mailto:[email protected]"},{"label":"Sales","href":"mailto:[email protected]"},{"label":"Support","href":"https://community.infisical.com"}]}]},"fonts":{"heading":{"family":"Alliance","weight":400,"source":"https://infisical.com/docs/fonts/AllianceNo2-Regular.woff2","format":"woff2"}},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","codeblocks":"dark","latex":false},"integrations":{"posthog":{"apiKey":"phc_Q0xfB3LeOqo7ySk4DE6zLNwDzHFesKcmigknCy4fTdV","apiHost":"https://p.infisical.com"},"koala":{"publicApiKey":"pk_b50d7184e0e39ddd5cdb43cf6abeadd9b97d"},"gtm":{"tagId":"GTM-WL5C7MWT"}},"contextual":{"options":["assistant","copy","view","chatgpt","claude","mcp"],"display":"header"},"thumbnails":{"appearance":"light"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"infisical","hasAudioNarration":false,"actualSubdomain":"infisical","customDomains":["infisical.com"],"gitSource":{"type":"github","owner":"infisical","repo":"infisical","deployBranch":"main","contentDirectory":"docs","mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af781a2baab2f1727121552","clientVersion":"0.0.4142","searchFilterCounts":[{"language":"default","tag":"Reference","count":1907},{"language":"default","tag":"API","count":1864},{"language":"default","tag":"Secrets Management","count":923},{"language":"default","tag":"App connections","count":666},{"language":"default","tag":"Shared","count":579},{"language":"default","tag":"Secret syncs","count":428},{"language":"default","tag":"Products","count":381},{"language":"default","tag":"Certificate Management","count":325},{"language":"default","tag":"Platform","count":250},{"language":"default","tag":"Secret rotations","count":221}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":false},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"selectively-prewarm","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instinct-self-updating-docs","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","href":"/docs/_mintlify/custom/infisical/792e2875e269d30a/style.css"}],"page":{"pagePath":"integrations/app-connections/azure-client-secrets","slug":"/integrations/app-connections/azure-client-secrets","pageMetadata":{"title":"Azure client secrets connection","sidebarTitle":"Azure client secrets","description":"Learn how to configure an Azure Client Secrets Connection for Infisical.","href":"/integrations/app-connections/azure-client-secrets"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Learn how to configure an Azure Client Secrets Connection for Infisical.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,CodeBlock,Heading,Info,Note,OptimizedImage,Step,Steps,Tab,Tabs,Tip}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Infisical currently only supports two methods for connecting to Azure, which are OAuth and Client Secrets.`}),`\n`,_jsxs(Accordion,{title:`Self-Hosted Instance`,id:`self-hosted-instance`,children:[_jsx(_components.p,{children:`Using the Azure Client Secrets connection on a self-hosted instance of Infisical requires configuring an application in Azure\nand registering your instance with it.`}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Prerequisites:`})}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Set up Azure.`}),`\n`]}),_jsxs(Steps,{children:[_jsxs(Step,{title:`Create an application in Azure`,children:[_jsx(_components.p,{children:`Navigate to Entra ID > App registrations to create a new application.`}),_jsx(Info,{children:_jsx(_components.p,{children:`Azure Active Directory is now Microsoft Entra ID.`})}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/integrations/azure-app-configuration/config-aad.png`,alt:`Azure client secrets`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/integrations/azure-app-configuration/config-new-app.png`,alt:`Azure client secrets`}),_jsxs(_components.p,{children:[`Create the application. As part of the form, set the `,_jsx(_components.strong,{children:`Redirect URI`}),` to `,_jsx(_components.code,{children:`https://your-domain.com/organization/app-connections/azure/oauth/callback`}),`.`]}),_jsx(Tip,{children:_jsxs(_components.p,{children:[`The domain you defined in the Redirect URI should be equivalent to the `,_jsx(_components.code,{children:`SITE_URL`}),` configured in your Infisical instance.`]})}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/app-connections/azure/register-callback.png`,alt:`Azure client secrets`})]}),_jsxs(Step,{title:`Assign API permissions to the application`,children:[_jsx(_components.p,{children:`For the Azure Connection to work with Client Secrets, you need to assign the following permission to the application.`}),_jsx(Heading,{level:`4`,id:`azure-client-secrets-permissions`,children:`Azure client secrets permissions`}),_jsx(_components.p,{children:`Set the API permissions of the Azure application to include the following permissions:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Microsoft Graph`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.code,{children:`Application.ReadWrite.All`})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.code,{children:`Application.ReadWrite.OwnedBy`})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`Application.ReadWrite.All`}),` (Delegated)`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`Directory.ReadWrite.All`}),` (Delegated)`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`User.Read`}),` (Delegated)`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/integrations/azure-client-secrets/app-api-permissions.png`,alt:`Azure client secrets`}),`\n`]}),`\n`]}),`\n`]}),`\n`]})]}),_jsxs(Step,{title:`Add your application credentials to Infisical`,children:[_jsxs(_components.p,{children:[`Obtain the `,_jsx(_components.strong,{children:`Application (Client) ID`}),` and `,_jsx(_components.strong,{children:`Directory (Tenant) ID`}),` (this will be used later in the Infisical connection) in Overview and generate a `,_jsx(_components.strong,{children:`Client Secret`}),` in Certificate \u0026 secrets for your Azure application.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/app-connections/azure/client-secrets/config-credentials-1.png`,alt:`Azure client secrets`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/integrations/azure-app-configuration/config-credentials-2.png`,alt:`Azure client secrets`}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/integrations/azure-app-configuration/config-credentials-3.png`,alt:`Azure client secrets`}),_jsx(_components.p,{children:`Back in your Infisical instance, add two new environment variables for the credentials of your Azure application.`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INF_APP_CONNECTION_AZURE_CLIENT_SECRETS_CLIENT_ID`}),`: The `,_jsx(_components.strong,{children:`Application (Client) ID`}),` of your Azure application.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INF_APP_CONNECTION_AZURE_CLIENT_SECRETS_CLIENT_SECRET`}),`: The `,_jsx(_components.strong,{children:`Client Secret`}),` of your Azure application.`]}),`\n`]}),_jsx(_components.p,{children:`Once added, restart your Infisical instance and use the Azure Client Secrets connection.`})]})]})]}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Client Secret Authentication`,id:`client-secret-authentication`,children:[_jsx(_components.p,{children:`Ensure your Azure application has the required permissions that Infisical needs for the Azure Client Secrets connection to work.`}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Prerequisites:`})}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`An active Azure setup.`}),`\n`]}),_jsx(Steps,{children:_jsxs(Step,{title:`Assign API permissions to the application`,children:[_jsx(_components.p,{children:`For the Azure Client Secrets connection to work, assign the following permissions to your Azure application:`}),_jsx(Heading,{level:`4`,id:`required-api-permissions`,children:`Required API permissions`}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Microsoft Graph`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.code,{children:`Application.ReadWrite.All`})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.code,{children:`Application.ReadWrite.OwnedBy`})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`Application.ReadWrite.All`}),` (Delegated)`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`Directory.ReadWrite.All`}),` (Delegated)`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`User.Read`}),` (Delegated)`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/integrations/azure-client-secrets/app-api-permissions.png`,alt:`Azure client secrets`}),`\n`]}),`\n`]}),_jsxs(Note,{children:[`If you want to configure automatic client secret rotation for this App Connection, you also need to grant either `,_jsx(_components.code,{children:`Application.ReadWrite.OwnedBy`}),` or `,_jsx(_components.code,{children:`Application.ReadWrite.All`}),` permissions.`]})]})})]}),_jsxs(Accordion,{title:`Certificate Authentication`,id:`certificate-authentication`,children:[_jsx(_components.p,{children:`Ensure your Azure application has the required permissions that Infisical needs for the Azure Client Secrets connection to work.`}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Prerequisites:`})}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`An active Azure setup.`}),`\n`]}),_jsxs(Steps,{children:[_jsxs(Step,{title:`Assign API permissions to the application`,children:[_jsx(_components.p,{children:`For the Azure Client Secrets connection to work, assign the following permissions to your Azure application:`}),_jsx(Heading,{level:`4`,id:`required-api-permissions-2`,children:`Required API permissions`}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Microsoft Graph`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.code,{children:`Application.ReadWrite.All`})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.code,{children:`Application.ReadWrite.OwnedBy`})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`Application.ReadWrite.All`}),` (Delegated)`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`Directory.ReadWrite.All`}),` (Delegated)`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`User.Read`}),` (Delegated)`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/integrations/azure-client-secrets/app-api-permissions.png`,alt:`Azure client secrets`}),`\n`]}),`\n`]})]}),_jsxs(Step,{title:`Upload your certificate to your Azure App Registration`,children:[_jsxs(_components.p,{children:[`Navigate to the `,_jsx(_components.strong,{children:`Certificates \u0026 secrets`}),` section of your Azure App Registration, and press the `,_jsx(_components.strong,{children:`Upload certificate`}),` button.`]}),_jsxs(_components.p,{children:[`Select the `,_jsx(_components.strong,{children:`Upload`}),` button and upload your certificate.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/app-connections/azure/client-secrets/upload-certificate.png`,alt:`Upload certificate`}),_jsx(Tip,{children:_jsx(_components.p,{children:`Keep in mind that both the certificate and its private key are required to configure the Azure Client Secrets connection in Infisical.`})})]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`setup-azure-connection-in-infisical`,children:`Setup Azure connection in Infisical`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Navigate to App Connections`,children:_jsxs(_components.p,{children:[`Navigate to the `,_jsx(_components.strong,{children:`Integrations`}),` tab in the desired project, then select `,_jsx(_components.strong,{children:`App Connections`}),`. `,_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/app-connections/general/add-connection.png`,alt:`App Connections\nTab`})]})}),_jsx(Step,{title:`Add Connection`,children:_jsxs(_components.p,{children:[`Select the `,_jsx(_components.strong,{children:`Azure Connection`}),` option from the connection options modal. `,_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/app-connections/azure/client-secrets/select-connection.png`,alt:`Select Azure Connection`})]})}),_jsx(Step,{title:`Create Connection`,children:_jsxs(Tabs,{children:[_jsxs(Tab,{title:`OAuth`,id:`oauth`,children:[_jsxs(Step,{title:`Authorize Connection`,children:[_jsxs(_components.p,{children:[`Fill in the `,_jsx(_components.strong,{children:`Tenant ID`}),` field with the Directory (Tenant) ID you obtained in the previous step.`]}),_jsxs(_components.p,{children:[`Now select the `,_jsx(_components.strong,{children:`OAuth`}),` method and click `,_jsx(_components.strong,{children:`Connect to Azure`}),`.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/app-connections/azure/client-secrets/create-oauth-method.png`,alt:`Connect via Azure OAuth`}),_jsxs(Info,{children:[_jsxs(_components.p,{children:[`If you use Infisical Cloud, the OAuth flow requests every permission on Infisical’s shared Azure app registration (the `,_jsx(_components.code,{children:`.default`}),` scope), including the permissions for Azure App Configuration. If your Azure tenant doesn’t have the Azure App Configuration service principal, the OAuth flow fails. To create the service principal, run the following `,_jsx(_components.a,{href:`https://learn.microsoft.com/en-us/cli/azure/install-azure-cli`,children:`Azure CLI`}),` command, then try to connect again:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`az`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` ad`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` sp`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` create`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --id`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 35ffadb3-7fc1-497e-b61b-381d28e744cc`})]}),`\n`]})})}),_jsxs(_components.p,{children:[_jsx(_components.code,{children:`35ffadb3-7fc1-497e-b61b-381d28e744cc`}),` is the application ID that Microsoft assigns to Azure App Configuration, and it’s the same in every Azure tenant.`]})]})]}),_jsx(Step,{title:`Grant Access`,children:_jsxs(_components.p,{children:[`You will then be redirected to Azure to grant Infisical access to your Azure account. Once granted,\nyou will be redirected back to Infisical’s App Connections page. `,_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/app-connections/azure/grant-access.png`,alt:`Azure Client Secrets\nAuthorization`})]})})]}),_jsx(Tab,{title:`Client Secret`,id:`client-secret`,children:_jsxs(Step,{title:`Create Connection`,children:[_jsxs(_components.p,{children:[`Fill in the `,_jsx(_components.strong,{children:`Tenant ID`}),`, `,_jsx(_components.strong,{children:`Client ID`}),` and `,_jsx(_components.strong,{children:`Client Secret`}),` fields with the Directory (Tenant) ID, Application (Client) ID and Client Secret you obtained in the previous step.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/app-connections/azure/client-secrets/create-client-secrets-method.png`,alt:`Connect via Azure OAuth`}),_jsx(Tip,{children:_jsxs(_components.p,{children:[`You can optionally enable `,_jsx(_components.strong,{children:`Automatic Credential Rotation`}),` for this connection. See the `,_jsx(_components.a,{href:`#automatic-credential-rotation`,children:`Automatic Credential Rotation`}),` section below for details.`]})})]})}),_jsx(Tab,{title:`Certificate`,id:`certificate`,children:_jsxs(Step,{title:`Create Connection`,children:[_jsxs(_components.p,{children:[`Fill in the `,_jsx(_components.strong,{children:`Tenant ID`}),`, `,_jsx(_components.strong,{children:`Client ID`}),`, `,_jsx(_components.strong,{children:`Certificate (PEM format)`}),`, and `,_jsx(_components.strong,{children:`Private Key`}),` fields with the Directory (Tenant) ID, Application (Client) ID, Certificate and Private Key you obtained in the `,_jsx(_components.a,{href:`#certificate-authentication`,children:`previous step`}),`.`]}),_jsx(Tip,{children:_jsx(_components.p,{children:`The private key is never transmitted to Azure, and it is only used to sign the client assertion used to authenticate with Azure.`})}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/app-connections/azure/client-secrets/create-certificate-method.png`,alt:`Connect via Azure Certificate`})]})})]})}),_jsx(Step,{title:`Connection Created`,children:_jsxs(_components.p,{children:[`Your `,_jsx(_components.strong,{children:`Azure Client Secrets Connection`}),` is now available for use. `,_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/app-connections/azure/client-secrets/oauth-connection.png`,alt:`Azure Client Secrets`})]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`automatic-credential-rotation`,children:`Automatic credential rotation`}),`\n`,_jsxs(_components.p,{children:[`When using the `,_jsx(_components.strong,{children:`Client Secret`}),` authentication method, Infisical can automatically rotate the Client Secret of your Azure application on a recurring schedule. When enabled, Infisical will immediately generate a new Client Secret on connection creation and revoke the original one, ensuring that no external party retains access using the credentials you provided.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Automatic Credential Rotation is only available for the `,_jsx(_components.strong,{children:`Client Secret`}),` authentication method.`]})}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Locate the Key ID of your Client Secret`,children:[_jsxs(_components.p,{children:[`Before enabling rotation, you’ll need the `,_jsx(_components.strong,{children:`Key ID`}),` of the Client Secret you’re using to authenticate. Navigate to your App Registration in the Azure Portal, then go to `,_jsx(_components.strong,{children:`Certificates \u0026 secrets`}),`. Copy the `,_jsx(_components.strong,{children:`Secret ID`}),` (Key ID) of the secret you’re providing to Infisical.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/app-connections/azure/client-secrets/credential-rotation-key-id.png`,alt:`Azure Client Secret Key ID`})]}),_jsxs(Step,{title:`Enable Automatic Credential Rotation`,children:[_jsxs(_components.p,{children:[`When creating or editing your connection, toggle on the `,_jsx(_components.strong,{children:`Automatic Credential Rotation`}),` switch.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/app-connections/azure/client-secrets/credential-rotation-toggle.png`,alt:`Enable Automatic Credential Rotation`})]}),_jsxs(Step,{title:`Provide the Client Secret Key ID`,children:[_jsxs(_components.p,{children:[`Enter the `,_jsx(_components.strong,{children:`Key ID`}),` you copied in the previous step into the `,_jsx(_components.strong,{children:`Client Secret Key ID`}),` field. Infisical uses this to revoke your original secret after generating a new one.`]}),_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/app-connections/azure/client-secrets/credential-rotation-key-id-field.png`,alt:`Client Secret Key ID Field`})]}),_jsxs(Step,{title:`Configure the Rotation Schedule`,children:[_jsxs(_components.p,{children:[`Set the `,_jsx(_components.strong,{children:`Rotation Interval`}),` (in days) to define how often the credential should be rotated, and set `,_jsx(_components.strong,{children:`Rotate At`}),` to the local time of day at which the rotation should occur.`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Rotation Interval`}),` – How many days between each rotation.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Rotate At`}),` – The local time of day at which the rotation will be triggered.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/infisical/images/app-connections/azure/client-secrets/credential-rotation-schedule.png`,alt:`Rotation Schedule`}),`\n`]}),`\n`]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Azure client secrets connection","sidebarTitle":"Azure client secrets","description":"Learn how to configure an Azure Client Secrets Connection for Infisical.","href":"/integrations/app-connections/azure-client-secrets"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Setup Azure connection in Infisical","slug":"setup-azure-connection-in-infisical","depth":2,"children":[]},{"title":"Automatic credential rotation","slug":"automatic-credential-rotation","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/infisical/b13a5df316344f52/unify.js","/docs/_mintlify/custom/infisical/bc9046d1d11b5448/field-name-copy.js","/docs/_mintlify/custom/infisical/fdfdc80c034be768/cli-reference-nav.js"],"subdomain":"infisical","siteName":"Infisical","title":"Azure client secrets connection - Infisical","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-25T22:42:08.115Z","originalFileLocation":"integrations/app-connections/azure-client-secrets.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Learn how to configure an Azure Client Secrets Connection for Infisical.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Infisical\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/x-icon\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/infisical/favicon.ico\">\u003clink data-mint-head rel=\"icon\" type=\"image/x-icon\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/infisical/favicon.ico\">\u003clink data-mint-head rel=\"icon\" type=\"image/x-icon\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/infisical/favicon.ico\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/infisical/favicon.ico\">\u003cmeta data-mint-head property=\"og:title\" content=\"Azure client secrets connection - Infisical\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how to configure an Azure Client Secrets Connection for Infisical.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Infisical\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://infisical.com/docs/integrations/app-connections/azure-client-secrets\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://infisical.mintlify.site/docs/_mintlify/api/og/v2?division=Connections\u0026amp;title=Azure+client+secrets+connection\u0026amp;description=Learn+how+to+configure+an+Azure+Client+Secrets+Connection+for+Infisical.\u0026amp;theme=5f586cf2b38471b24ce4d4b5\u0026amp;signature=6a207ecbf5702385d1d78a0788cced7f3ff057ecaec965de9758ffa2492c709f\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Azure client secrets connection - Infisical\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how to configure an Azure Client Secrets Connection for Infisical.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://infisical.mintlify.site/docs/_mintlify/api/og/v2?division=Connections\u0026amp;title=Azure+client+secrets+connection\u0026amp;description=Learn+how+to+configure+an+Azure+Client+Secrets+Connection+for+Infisical.\u0026amp;theme=5f586cf2b38471b24ce4d4b5\u0026amp;signature=6a207ecbf5702385d1d78a0788cced7f3ff057ecaec965de9758ffa2492c709f\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/infisical/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Infisical\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#26272b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://infisical.com/docs/integrations/app-connections/azure-client-secrets\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/integrations/app-connections/azure-client-secrets.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://infisical.com/#organization\",\"name\":\"Infisical\",\"url\":\"https://infisical.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintlify.s3.us-west-1.amazonaws.com/infisical/logo/light.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://infisical.com/docs#website\",\"name\":\"Infisical\",\"url\":\"https://infisical.com/docs\",\"publisher\":{\"@id\":\"https://infisical.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://infisical.com/docs/integrations/app-connections/azure-client-secrets#webpage\",\"url\":\"https://infisical.com/docs/integrations/app-connections/azure-client-secrets\",\"name\":\"Azure client secrets connection\",\"description\":\"Learn how to configure an Azure Client Secrets Connection for Infisical.\",\"dateModified\":\"2026-09-25T22:42:08.115Z\",\"isPartOf\":{\"@id\":\"https://infisical.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://infisical.com/docs/integrations/app-connections/azure-client-secrets#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://infisical.com/docs/integrations/app-connections/azure-client-secrets#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Connections\",\"item\":\"https://infisical.com/docs/integrations/app-connections/1password\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Azure client secrets connection\",\"item\":\"https://infisical.com/docs/integrations/app-connections/azure-client-secrets\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://infisical.com/docs/integrations/app-connections/azure-client-secrets#article\",\"headline\":\"Azure client secrets connection\",\"name\":\"Azure client secrets connection\",\"description\":\"Learn how to configure an Azure Client Secrets Connection for Infisical.\",\"url\":\"https://infisical.com/docs/integrations/app-connections/azure-client-secrets\",\"mainEntityOfPage\":{\"@id\":\"https://infisical.com/docs/integrations/app-connections/azure-client-secrets#webpage\"},\"dateModified\":\"2026-09-25T22:42:08.115Z\",\"publisher\":{\"@id\":\"https://infisical.com/#organization\"},\"isPartOf\":{\"@id\":\"https://infisical.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Infisical\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Infisical\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/integrations/app-connections/azure-client-secrets.md","siteName":"Infisical","nav":{"global":null,"tabs":[{"tab":"Get started","pages":[{"title":"Get started","href":"/documentation/getting-started/overview"}]},{"tab":"Products","menu":[{"item":"Secrets Management","icon":"key","pages":[{"title":"Secrets Management","href":"/documentation/platform/secrets-mgmt/overview"}]},{"item":"Certificate Management","icon":"file-key","pages":[{"title":"Certificate Management","href":"/documentation/platform/pki/overview"}]},{"item":"Privileged Access Management (PAM)","icon":"users","pages":[{"title":"Privileged Access Management (PAM)","href":"/documentation/platform/pam/overview"}]},{"item":"Agent Vault","icon":"vault","pages":[{"title":"Agent Vault","href":"/documentation/platform/agent-vault/overview"}]},{"item":"Key Management Service (KMS)","icon":"lock","pages":[{"title":"Key Management Service (KMS)","href":"/documentation/platform/kms/overview"}]},{"item":"Secret Scanning","icon":"radar","pages":[{"title":"Secret Scanning","href":"/documentation/platform/secret-scanning/overview"}]}],"pages":[{"title":"Products","href":"/documentation/platform/secrets-mgmt/overview"}]},{"tab":"Platform","menu":[{"item":"Organizations","icon":"building","pages":[{"title":"Organizations","href":"/documentation/platform/organization"}]},{"item":"Identity and access","icon":"id-card","pages":[{"title":"Identity and access","href":"/documentation/platform/identities/overview"}]},{"item":"App connections","icon":"plug","pages":[{"title":"App connections","sidebarTitle":"App connections","icon":"plug","href":"/integrations/app-connections/overview"},{"title":"Explore app connections","sidebarTitle":"Explore options","icon":"search","href":"/integrations/app-connections"},{"group":"Connections","pages":[{"title":"1Password connection","sidebarTitle":"1Password","href":"/integrations/app-connections/1password"},{"title":"Anthropic connection","sidebarTitle":"Anthropic","href":"/integrations/app-connections/anthropic"},{"title":"Auth0 connection","sidebarTitle":"Auth0","href":"/integrations/app-connections/auth0"},{"title":"Microsoft ADCS connection","sidebarTitle":"Microsoft ADCS","href":"/integrations/app-connections/adcs"},{"title":"AWS connection","sidebarTitle":"AWS","href":"/integrations/app-connections/aws"},{"title":"Azure ADCS connection","sidebarTitle":"Azure ADCS","href":"/integrations/app-connections/azure-adcs"},{"title":"Azure App Configuration connection","sidebarTitle":"Azure App Configuration","description":"Learn how to configure a Azure App Configuration Connection for Infisical.","href":"/integrations/app-connections/azure-app-configuration"},{"title":"Azure client secrets connection","sidebarTitle":"Azure client secrets","href":"/integrations/app-connections/azure-client-secrets"},{"title":"Azure DevOps connection","sidebarTitle":"Azure DevOps","description":"Learn how to configure an Azure DevOps Connection for Infisical.","href":"/integrations/app-connections/azure-devops"},{"title":"Azure DNS connection","sidebarTitle":"Azure DNS","href":"/integrations/app-connections/azure-dns"},{"title":"Azure Entra ID connection","sidebarTitle":"Azure Entra ID","href":"/integrations/app-connections/azure-entra-id"},{"title":"Azure Key Vault connection","sidebarTitle":"Azure Key Vault","href":"/integrations/app-connections/azure-key-vault"},{"title":"Bitbucket connection","sidebarTitle":"Bitbucket","href":"/integrations/app-connections/bitbucket"},{"title":"Camunda connection","sidebarTitle":"Camunda","href":"/integrations/app-connections/camunda"},{"title":"Checkly connection","sidebarTitle":"Checkly","href":"/integrations/app-connections/checkly"},{"title":"CircleCI connection","sidebarTitle":"CircleCI","href":"/integrations/app-connections/circleci"},{"title":"Chef connection","sidebarTitle":"Chef","href":"/integrations/app-connections/chef"},{"title":"ClickHouse connection","sidebarTitle":"ClickHouse","href":"/integrations/app-connections/clickhouse"},{"title":"Cloud 66 connection","sidebarTitle":"Cloud 66","href":"/integrations/app-connections/cloud-66"},{"title":"Cloudflare connection","sidebarTitle":"Cloudflare","href":"/integrations/app-connections/cloudflare"},{"title":"Convex connection","sidebarTitle":"Convex","href":"/integrations/app-connections/convex"},{"title":"Databricks connection","sidebarTitle":"Databricks","href":"/integrations/app-connections/databricks"},{"title":"Datadog connection","sidebarTitle":"Datadog","href":"/integrations/app-connections/datadog"},{"title":"Daytona connection","sidebarTitle":"Daytona","href":"/integrations/app-connections/daytona"},{"title":"DBT connection","sidebarTitle":"DBT","href":"/integrations/app-connections/dbt"},{"title":"Devin connection","sidebarTitle":"Devin","href":"/integrations/app-connections/devin"},{"title":"DigiCert connection","sidebarTitle":"DigiCert","href":"/integrations/app-connections/digicert"},{"title":"DigitalOcean connection","sidebarTitle":"DigitalOcean","href":"/integrations/app-connections/digital-ocean"},{"title":"Doppler connection","sidebarTitle":"Doppler","href":"/integrations/app-connections/doppler"},{"title":"DNS Made Easy","href":"/integrations/app-connections/dns-made-easy"},{"title":"F5 BIG-IP connection","sidebarTitle":"F5 BIG-IP","href":"/integrations/app-connections/f5-big-ip"},{"title":"Fireworks connection","sidebarTitle":"Fireworks","href":"/integrations/app-connections/fireworks"},{"title":"Fly.io connection","sidebarTitle":"Fly.io","href":"/integrations/app-connections/flyio"},{"title":"GCP connection","sidebarTitle":"GCP","href":"/integrations/app-connections/gcp"},{"title":"GitHub connection","sidebarTitle":"GitHub","href":"/integrations/app-connections/github"},{"title":"GitHub Radar connection","sidebarTitle":"GitHub Radar","href":"/integrations/app-connections/github-radar"},{"title":"GitLab connection","sidebarTitle":"GitLab","href":"/integrations/app-connections/gitlab"},{"title":"GoDaddy connection","sidebarTitle":"GoDaddy","href":"/integrations/app-connections/godaddy"},{"title":"HashiCorp Vault connection","sidebarTitle":"HashiCorp Vault","href":"/integrations/app-connections/hashicorp-vault"},{"title":"Hasura Cloud connection","sidebarTitle":"Hasura Cloud","href":"/integrations/app-connections/hasura-cloud"},{"title":"Heroku connection","sidebarTitle":"Heroku","href":"/integrations/app-connections/heroku"},{"title":"HPE iLO connection","sidebarTitle":"HPE iLO","href":"/integrations/app-connections/hpe-ilo"},{"title":"Humanitec connection","sidebarTitle":"Humanitec","href":"/integrations/app-connections/humanitec"},{"title":"Imperva connection","sidebarTitle":"Imperva","href":"/integrations/app-connections/imperva"},{"title":"Jenkins connection","sidebarTitle":"Jenkins","href":"/integrations/app-connections/jenkins"},{"title":"Jira connection","sidebarTitle":"Jira","href":"/integrations/app-connections/jira"},{"title":"Keeper connection","sidebarTitle":"Keeper","href":"/integrations/app-connections/keeper"},{"title":"Kemp LoadMaster connection","sidebarTitle":"Kemp LoadMaster","href":"/integrations/app-connections/kemp-loadmaster"},{"title":"Infisical connection","sidebarTitle":"Infisical","href":"/integrations/app-connections/external-infisical"},{"title":"Laravel Forge connection","sidebarTitle":"Laravel Forge","href":"/integrations/app-connections/laravel-forge"},{"title":"LDAP connection","sidebarTitle":"LDAP","href":"/integrations/app-connections/ldap"},{"title":"LiteLLM connection","sidebarTitle":"LiteLLM","href":"/integrations/app-connections/litellm"},{"title":"SSH","href":"/integrations/app-connections/ssh"},{"title":"Microsoft SQL Server connection","sidebarTitle":"Microsoft SQL Server","href":"/integrations/app-connections/mssql"},{"title":"Microsoft Intune connection","sidebarTitle":"Microsoft Intune","href":"/integrations/app-connections/microsoft-intune"},{"title":"MongoDB connection","sidebarTitle":"MongoDB","href":"/integrations/app-connections/mongodb"},{"title":"MySQL connection","sidebarTitle":"MySQL","href":"/integrations/app-connections/mysql"},{"title":"Netlify connection","sidebarTitle":"Netlify","href":"/integrations/app-connections/netlify"},{"title":"NetScaler connection","sidebarTitle":"NetScaler","href":"/integrations/app-connections/netscaler"},{"title":"Northflank connection","sidebarTitle":"Northflank","href":"/integrations/app-connections/northflank"},{"title":"Nutanix Prism Central connection","sidebarTitle":"Nutanix Prism Central","href":"/integrations/app-connections/nutanix-prism-central"},{"title":"Ona connection","sidebarTitle":"Ona","href":"/integrations/app-connections/ona"},{"title":"OCI connection","sidebarTitle":"OCI","href":"/integrations/app-connections/oci"},{"title":"Octopus Deploy connection","sidebarTitle":"Octopus Deploy","href":"/integrations/app-connections/octopus-deploy"},{"title":"Okta connection","sidebarTitle":"Okta","href":"/integrations/app-connections/okta"},{"title":"OpenAI connection","sidebarTitle":"OpenAI","href":"/integrations/app-connections/openai"},{"title":"OpenRouter connection","sidebarTitle":"OpenRouter","href":"/integrations/app-connections/openrouter"},{"title":"OracleDB connection","sidebarTitle":"OracleDB","href":"/integrations/app-connections/oracledb"},{"title":"OVHcloud connection","sidebarTitle":"OVHcloud","href":"/integrations/app-connections/ovh"},{"title":"Palo Alto Networks connection","sidebarTitle":"Palo Alto Networks","href":"/integrations/app-connections/palo-alto-networks"},{"title":"Portainer connection","sidebarTitle":"Portainer","href":"/integrations/app-connections/portainer"},{"title":"PostgreSQL connection","sidebarTitle":"PostgreSQL","href":"/integrations/app-connections/postgres"},{"title":"PowerDNS connection","sidebarTitle":"PowerDNS","href":"/integrations/app-connections/powerdns"},{"title":"Qovery connection","sidebarTitle":"Qovery","href":"/integrations/app-connections/qovery"},{"title":"Railway connection","sidebarTitle":"Railway","href":"/integrations/app-connections/railway"},{"title":"Redis connection","sidebarTitle":"Redis","href":"/integrations/app-connections/redis"},{"title":"Render connection","sidebarTitle":"Render","href":"/integrations/app-connections/render"},{"title":"Rundeck connection","sidebarTitle":"Rundeck","href":"/integrations/app-connections/rundeck"},{"title":"Salesforce connection","sidebarTitle":"Salesforce","href":"/integrations/app-connections/salesforce"},{"title":"ServiceNow connection","sidebarTitle":"ServiceNow","href":"/integrations/app-connections/servicenow"},{"title":"Snowflake connection","sidebarTitle":"Snowflake","href":"/integrations/app-connections/snowflake"},{"title":"Spacelift connection","sidebarTitle":"Spacelift","href":"/integrations/app-connections/spacelift"},{"title":"Stripe connection","sidebarTitle":"Stripe","href":"/integrations/app-connections/stripe"},{"title":"Supabase connection","sidebarTitle":"Supabase","href":"/integrations/app-connections/supabase"},{"title":"TeamCity connection","sidebarTitle":"TeamCity","href":"/integrations/app-connections/teamcity"},{"title":"Terraform Cloud connection","sidebarTitle":"Terraform Cloud","href":"/integrations/app-connections/terraform-cloud"},{"title":"Travis CI connection","sidebarTitle":"Travis CI","href":"/integrations/app-connections/travis-ci"},{"title":"Trigger.dev connection","sidebarTitle":"Trigger.dev","href":"/integrations/app-connections/trigger-dev"},{"title":"UltraDNS connection","sidebarTitle":"UltraDNS","href":"/integrations/app-connections/ultradns"},{"title":"Venafi connection","sidebarTitle":"Venafi","href":"/integrations/app-connections/venafi"},{"title":"Venafi TPP connection","sidebarTitle":"Venafi TPP","href":"/integrations/app-connections/venafi-tpp"},{"title":"Vercel connection","sidebarTitle":"Vercel","href":"/integrations/app-connections/vercel"},{"title":"Windmill connection","sidebarTitle":"Windmill","href":"/integrations/app-connections/windmill"},{"title":"SMB","href":"/integrations/app-connections/smb"},{"title":"Windows (WinRM) connection","sidebarTitle":"Windows (WinRM)","href":"/integrations/app-connections/winrm"},{"title":"Zabbix connection","sidebarTitle":"Zabbix","href":"/integrations/app-connections/zabbix"}]}]},{"item":"Networking","icon":"network","pages":[{"title":"Networking","href":"/documentation/platform/gateways/overview"}]},{"item":"Self-hosting","icon":"server","pages":[{"title":"Self-hosting","href":"/self-hosting/overview"}]},{"item":"Internals","icon":"workflow","pages":[{"title":"Internals","href":"/internals/overview"}]},{"item":"Contributing","icon":"git-pull-request","pages":[{"title":"Contributing","href":"/contributing/getting-started/overview"}]}]},{"tab":"Reference","icon":{"name":"code","library":"lucide"},"menu":[{"item":"CLI","icon":"terminal","pages":[{"title":"CLI","href":"/cli/overview"}]},{"item":"API","icon":"book-open","pages":[{"title":"API","href":"/api-reference/overview/introduction"}]},{"item":"SDKs","icon":"boxes","pages":[{"title":"SDKs","href":"/sdks/overview"}]}],"pages":[{"title":"Reference","href":"/cli/overview"}]}]},"basePath":"","title":"Azure client secrets connection - Infisical","buildId":"dpl_eBQnj73Q1gDRVNqNsS3Yt9yPkTEW","deploymentId":"dpl_eBQnj73Q1gDRVNqNsS3Yt9yPkTEW","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-C9iRi_CV.js","lightbox-handle-r17bVUz3.js"]}