Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

bug: AcrPull role not assigned to container app managed identity — image pull 401 on partial first deploy

Aperta
#22 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
55/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
azure

Direzione di ricerca

Riproduci il problema con devclaw up seguito da devclaw deploy nell'ambiente Azure descritto, quindi esamina le risorse Bicep che effettuano il provisioning di ACR e dell'applicazione container. Verifica l'identità gestita, l'ambito ACR, l'assegnazione del ruolo AcrPull e la sequenza delle dipendenze. Il lavoro è completato quando un primo deployment parziale seguito da deploy avvia il container senza un 401 di ACR.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Summary

On a first devclaw up where the ACA revision activation times out (Operation expired), the container app's system-assigned managed identity never gets the AcrPull role on ACR. Subsequent devclaw deploy calls push the image successfully but the container fails to start with a persistent 401.

Error seen in container system logs

Failed to construct registry secret for registry 'acrXXXXX.azurecr.io'
Error: ACR token exchange endpoint returned error status: 401

Steps to reproduce

  1. Run devclaw up in a region/subscription where ACA revision activation times out on first run (e.g. southindia with a cold ACA environment, or any restricted corporate subscription)
  2. Provision completes (ACR ✓, OpenAI ✓, Storage ✓, ACA env ✓) but revision fails with Operation expired
  3. Run devclaw deploy — image is pushed to ACR but container immediately fails with ACR 401

Root cause

Bicep provisions ACR with adminUserEnabled: false (correct) and the container app is configured to pull via system-assigned managed identity — but the AcrPull role assignment on ACR for the container app's principalId is either missing or not yet propagated when the first revision activation is attempted. When the first azd up doesn't complete cleanly, this RBAC gap is never resolved.

Expected behaviour

Bicep should create an explicit AcrPull role assignment resource scoped to the ACR for the container app's managed identity, with correct dependsOn sequencing so the role is in place before the first revision is activated.

Manual workaround

PRINCIPAL_ID=$(az containerapp show -n <app> -g <rg> --query 'identity.principalId' -o tsv)
ACR_ID=$(az acr show -n <acr> -g <rg> --query 'id' -o tsv)
az role assignment create \
  --assignee-object-id $PRINCIPAL_ID \
  --assignee-principal-type ServicePrincipal \
  --role AcrPull \
  --scope $ACR_ID

Environment

  • Region: southindia
  • Restricted corporate subscription with Azure Policy assignments active
  • azd version: latest, az CLI: latest
Lingua principale
Shell
Stelle
25
Fork
3
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microsoft/openclaw-dev

Tutte le issue di microsoft/openclaw-dev

Issue simili

Altre issue su Shell/Bash

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.