Support Azure Managed Identity authentication for Azure Storage model repositories#468
Open
nightflight-dk wants to merge 5 commits intotriton-inference-server:mainfrom
Open
Support Azure Managed Identity authentication for Azure Storage model repositories#468nightflight-dk wants to merge 5 commits intotriton-inference-server:mainfrom
nightflight-dk wants to merge 5 commits intotriton-inference-server:mainfrom
Conversation
22 tasks
whoisj
requested changes
Feb 24, 2026
Contributor
whoisj
left a comment
There was a problem hiding this comment.
Fixup for pre-commit complaints.
yinggeh
requested changes
Feb 24, 2026
Contributor
yinggeh
left a comment
There was a problem hiding this comment.
LGTM in general. Please fix pre-commit error and address the comments.
Co-authored-by: Yingge He <157551214+yinggeh@users.noreply.github.com>
whoisj
reviewed
Mar 6, 2026
| if (!as_cred.client_id_.empty()) { | ||
| // User-assigned Managed Identity: specify the client ID. | ||
| Azure::Identity::ManagedIdentityCredentialOptions mi_opts; | ||
| mi_opts.ClientId = as_cred.client_id_; |
Contributor
There was a problem hiding this comment.
there does not appear to be a .ClientId field on Azure::Identity::ManagedIdentityCredentialOptions.
Contributor
|
@nightflight-dk this PR fails to build as-is. Please see my review comment for an explanation. Thank you. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue triton-inference-server/server#8614
Summary
Adds first-class support for Azure Managed Identity (MI) and
DefaultAzureCredentialas authentication methods when accessing Azure Blob Storage-backed model repositories. This eliminates the requirement to distribute shared storage account keys in enterprise environments.Motivation
Today, Triton only supports shared key (
AZURE_STORAGE_KEY) authentication for Azure Storage. In many enterprise environments, long-lived secrets are disallowed or require burdensome rotation workflows. Azure Managed Identity is the standard approach for eliminating credential sprawl on Azure infrastructure (AKS, VM/VMSS, App Service).Changes
Build system:
azure-identity-cppas a new dependency alongside existingazure-storage-blobs-cppfind_package,target_include_directories, andtarget_link_librariesinsrc/CMakeLists.txtazure-identity-cpp_DIRpackage path in top-levelCMakeLists.txtASCredential(as.h):auth_type_("key","managed_identity", or"default") andclient_id_(for user-assigned MI)AZURE_STORAGE_AUTH_TYPEandAZURE_STORAGE_CLIENT_IDauth_typeandclient_idfieldsASFileSystemconstructor (as.h):"managed_identity"→Azure::Identity::ManagedIdentityCredential(system- or user-assigned viaclient_id)"default"→Azure::Identity::DefaultAzureCredentialchainLOG_VERBOSEmessages for operator visibilityConfiguration
AZURE_STORAGE_AUTH_TYPE"key"(default),"managed_identity", or"default"AZURE_STORAGE_CLIENT_IDCredential file (
TRITON_CLOUD_CREDENTIAL_PATH) also supportsauth_typeandclient_idfields.Backwards Compatibility
Fully backwards-compatible. When
AZURE_STORAGE_AUTH_TYPEis unset andAZURE_STORAGE_KEYis present, behavior is identical to the current release. No changes to existing CLI flags or default behavior.Prerequisites for Managed Identity
azure-identity-cpplibrary must be built and installed in the third-party dependencies (requires corresponding update totriton-inference-server/third_party)Files Changed
CMakeLists.txt— package path forazure-identity-cppsrc/CMakeLists.txt— find_package, include dirs, link targetsrc/filesystem/implementations/as.h— credential struct and filesystem constructor