ESEN

← Letra chica por examen

Microsoft Azure · Expert

AZ-400 · Designing and Implementing Microsoft DevOps Solutions

Microsoft Certified: DevOps Engineer Expert

Despliegue desde CI sin secretos (federación OIDC)

IAM● verificado hace 34 días◌ sin revisor externo

El subject tiene que coincidir exacto, sin comodines, y hay un máximo de 20 credenciales por identidad

En Azure la confianza no es una policy: cada federated identity credential es un par issuer + subject que tiene que coincidir carácter por carácter con el sub del token. No hay comodines, así que necesitás una credencial por environment, rama o tag, con un tope de 20 por identidad. En AWS o GCP lo resolvés con StringLike o una condición CEL. Ojo: si cargás mal el subject, la credencial se crea sin error y la falla recién aparece en el login.

⚑ Reportar desactualizado

Ver en el patrón →

Confiabilidad● verificado hace 34 días◌ sin revisor externo

Una credencial recién creada puede fallar con AADSTS70021 durante unos minutos

La credencial tarda en replicarse en la región. Si el mismo pipeline la crea y enseguida la usa, el token exchange puede fallar con "No matching federated identity record found for presented assertion" aunque el subject esté bien. Microsoft recomienda esperar y reintentar. Si el bootstrap y el primer deploy van en la misma corrida, separalos o agregá un reintento con espera.

⚑ Reportar desactualizado

Ver en el patrón →

Operación● verificado hace 34 días◌ sin revisor externo

Crear varias credenciales en paralelo sobre la misma identidad da 409

Las escrituras concurrentes de federated identity credentials bajo una misma user-assigned identity se rechazan con 409 Conflict. El provider azurerm las crea en serie desde la 3.40, así que un for_each no rompe. En ARM o Bicep, en cambio, un loop las crea en paralelo: usá el modo serial (batchSize 1) o encadená dependsOn.

⚑ Reportar desactualizado

Ver en el patrón →

IAM● verificado hace 34 días◌ sin revisor externo

Con Contributor el pipeline no puede crear role assignments

Contributor no permite asignar roles en Azure RBAC (excluye Microsoft.Authorization/*/Write). Si tu Terraform asigna roles (por ejemplo, la identidad de una app sobre un Key Vault), Contributor no alcanza. La salida rápida es darle Owner o User Access Administrator al pipeline, y es justo lo que no querés. La salida correcta es Role Based Access Control Administrator con una condición que limite qué roles puede asignar (y que excluya los roles privilegiados).

⚑ Reportar desactualizado

Ver en el patrón →

IAM● verificado hace 34 días◌ sin revisor externo

Desde el 15/07/2026, los repos nuevos, renombrados o transferidos usan otro formato de sub

GitHub agrega los IDs numéricos al claim: repo:org@123/repo@456:environment:prod en lugar de repo:org/repo:environment:prod. Así un nombre reciclado no hereda la confianza. Los repos anteriores siguen con el formato viejo salvo que lo activen. Si renombrás un repo, el sub cambia y todas las credenciales exactas dejan de matchear. El módulo arma el subject con IDs cuando se los pasás.

⚑ Reportar desactualizado

Ver en el patrón →