Use built in Azure role to reduce required permissions for terraform #59
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR removes the requirement for the user applying the terraform configuration to have the
Microsoft.Authorization/roleDefinitions/write
permission.The aim is to make it possible to run terraform as a user with minimal additional permissions over those of a Contributer (and ideally less than a full Administrator).
Currently, running the terraform configuration requires the following permissions that a 'Contributor' does not already have:
Microsoft.Authorization/roleAssignments/write
(and maybedelete
)Microsoft.Authorization/roleDefinitions/write
(and maybedelete
)A Role Based Access Administrator has the first of these, but still would not be able to create a custom role. It can be further limited by a condition.
The "app_data_read" role is equivalent to the built-in role "Storage Blob Data Reader", except for the former's limited scope, so one solution is to use this to avoid needing
roleDefinitions/write
. The scope is specified when the role is applied, so the permission granted to the app is the same.To do
terraform apply
(I'm unable to do this currently as I am only a Contributor to the subscription I have access to)