Skip to content

Conversation

snuxoll
Copy link

@snuxoll snuxoll commented Mar 29, 2025

Putting this in as a potential design after some more thinking about our discussion in #2372

This manages more or less the same functionality as there is for AWS and GCP with assuming identities, but because Azure requires you have a Client ID to do a token exchange you still have to get it for a target identity somehow.

This proposes we simply ask that operators deploying Kargo put managed identities into a dedicated resource group, grant the Kargo identity RBAC permissions to read managed identities in the resource group (either using the built in Reader role or creating a more restrictive one that only has the Microsoft.ManagedIdentities/Read action). From there, operators would created User-assigned Managed Identities inside this resource group with a name "kargo-{project}" (like AWS IAM roles), and then configure them with Federated identities for the Kargo controller identity.

If Kargo is able to get an identity with the right name in this resource group it will attempt to "impersonate" it (standard token exchange), otherwise it falls back to the controller identity.

@snuxoll snuxoll requested a review from a team as a code owner March 29, 2025 00:57
Copy link

netlify bot commented Mar 29, 2025

Deploy Preview for docs-kargo-io ready!

Name Link
🔨 Latest commit 96784d1
🔍 Latest deploy log https://app.netlify.com/sites/docs-kargo-io/deploys/67e7458403b1dc000875c94e
😎 Deploy Preview https://deploy-preview-3751.docs.kargo.io
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@snuxoll snuxoll marked this pull request as draft March 29, 2025 00:58
@snuxoll snuxoll changed the title initial work on acr authentication Support for ACR authentication Mar 29, 2025
@snuxoll snuxoll changed the title Support for ACR authentication [RFC] Support for ACR authentication Mar 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants