Why are the Azure permissions needed for deployment and CI so high and what can we do about it? #1610
Replies: 1 comment
-
Hey @Farmerobot, Thanks for your feedback. I want to ensure I’ve understood your query correctly. Below is based on my understanding. Yes, we are currently using the same tenant for azd up and azd down, but this is strictly for testing the Bicep template. We ensure that the resources are destroyed immediately after the deployment is successfully verified. Having a separate tenant for the CI pipeline is certainly an option, but we would like to understand the specific reason or concern behind this suggestion. Could you please elaborate? Additionally, we can create custom roles with permissions tailored specifically to certain resource groups (RGs) to enhance security and limit access. Could you let us know your expectations or preferences regarding this setup? This will help us brainstorm and identify the best approach to meet your requirements. Happy to Discuss! |
Beta Was this translation helpful? Give feedback.
-
For manual deployment to azure using
azd up
, Owner permissions set statically on the resource group by the tenat admin seem entirely reasonable.azd down
is more problematic, as it deletes the whole rg which then needs to be manually recreated again with the original permissions, but it's fine if it's not ran too often. Another solution would be usingazd login
with an admin account with tenat-wide permissions, but that is extremely unsafe.However, the CI github pipeline uses both
up
anddown
on new groups. It thus requires full permissions to create and destroy any arbitrary resource groups on the tenat and that is a huge and unacceptable security vulnerability.What is the expected way of handling these permissions? Is the RAG supposed to be on an entirely separate tenat from the rest of our critical infrustructure? Are we supposed to create custom roles with very specific permissions only for certain resource groups?
I have read through the docs/ folder of the repo and I still seem very confused about this. Any help would be appreciated :)
Beta Was this translation helpful? Give feedback.
All reactions