microsoft / microsoft/vscode-azurecontainerapps

Support registries management - managed identity

Open
#178 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature
Dominant language
TypeScript
Stars
42
Forks
21
Avg merge
3d 7h
Merged PRs (30d)
2

Description

Extend functionality in #98 to support connecting to registries using managed identity.

I think most VS Code users will be happy with using the container app's system-assigned identity, so let's optimize for that. This means:

  • Make it easy to use system-assigned identity
  • Make it possible to use a user-assigned identity, but that identity must be first enabled in the container app using some other means (ARM, CLI, portal)

Proposed changes:

  • In registry credentials, allow create/update of registry entries (ACR only) that use a system or user assigned managed identity
    • System-assigned: user can select "system assigned", if it is not enabled in the app, enable it automatically
    • User-assigned: user can select a user assigned identity that has already been enabled in the app
    • When creating/updating registry entries with manage identities, ensure the identity has AcrPull permissions to the ACR
  • When updating a container image
    • If user selects an ACR, and the ACR matches a registry credential that's been configured to use managed identity, do not set it up with username/password auth.
    • If user selects an ACR but there's no registry credential set up for the ACR, ask if it should be set up using username/password or managed identity. If MI, allow them to select system or user assigned, and automatically try to grant the AcrPull role.
  • Allow a user to switch an existing registry credential between username/password and managed identity.

When creating a container app, there's a chicken/egg problem because the app needs to be created first before the identity is available to grant permissions to, but the app can't be created successfully if the permissions aren't set up. I think we should tackle this in another issue.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading issue #98 and tracing the registry credentials and container image update flows in the extension. Map the proposed system-assigned and user-assigned managed identity scenarios, including AcrPull permission handling and switching existing credentials. Done means the listed registry-management and image-selection cases work, while the container-creation chicken-and-egg case remains out of scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, typescript
Domain
authentication, cloud
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.