fix role assignment when using role definition name #3768
Merged
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.
I tried to assign a role to service principal using the role name (custom role), this is my TF file:
And I noticed that I'm getting the following error:
az role definition list --query "[?roleName == 'some-identity-role-definition']"
And noticed that the problem is with the scope. When the scope is empty (
""
or"/"
) no value is returned, but when it's the scope of the subscription ("/subscriptions/<>/"
) or anything under it, it is working. When I enabled terrform debug logs I noticed the expected behavior - this is the HTTP request:see the
//
? it's because of the missing scope. I added a small change to use the scope supplied by the user, tested locally using my little program and it worked.BTW looking at the role definition data source, look like it pass the scope correctly (see this line) the same as I did here.