1. Microsoft Cloud Adoption Framework
DevSecOps controls
"Secure the pipeline" section: "Use service principals that have the minimum permissions required. Rotate secrets and certificates regularly. Better yet
use managed identities to remove the need for secrets and certificates." This directly recommends managed identities over secret-based methods.
Source: Microsoft Learn
learn.microsoft.com/en-us/azure/cloud-adoption-framework/secure/devsecops-controls#secure-the-pipeline
2. Azure DevOps Documentation
"Connect to Microsoft Azure by using an ARM service connection": This document describes the "Workload Identity federation" authentication method for service connections
stating
"Workload identity federation allows you to create a secret-free service connection in Azure Pipelines to Azure." This is the modern implementation that leverages managed identities or other workload identities.
Source: Microsoft Learn
learn.microsoft.com/en-us/azure/devops/pipelines/library/connect-to-azure?view=azure-devops#create-an-azure-resource-manager-service-connection-using-workload-identity-federation
3. Azure Active Directory Documentation
"What are managed identities for Azure resources?": "Managed identities for Azure resources is a feature of Azure Active Directory... You can use the identity to authenticate to any service that supports Azure AD authentication
without having any credentials in your code." This explains the fundamental benefit and purpose of managed identities
which is to eliminate credentials.
Source: Microsoft Learn
learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview