@@ -178,7 +178,7 @@ steps:
178178 resourceGroupName : ${{ parameters.inputs.resourceGroupName }}
179179
180180
181- - ${{ if and(parameters.updateCondition, eq(parameters.resourceType, 'roledefinition')) }} :
181+ - ${{ if and(parameters.updateCondition, or( eq(parameters.resourceType, 'roledefinition'), eq(parameters.resourceType, 'managedidentity') )) }} :
182182 - task : AzureCLI@2
183183 displayName : " [Update] ARM Details - (${{ parameters.resourceType }})"
184184 condition : ${{ parameters.updateCondition }}
@@ -187,6 +187,11 @@ steps:
187187 ${{ if eq(parameters.resourceType, 'roledefinition') }} :
188188 ROLEDEFINITION_JSON : ${{ parameters.inputs.roleDefinitionJson }}
189189
190+ ${{ elseif eq(parameters.resourceType, 'managedidentity') }} :
191+ RESOURCEGROUP_NAME : ${{ parameters.inputs.resourceGroupName }}
192+ MANAGEDIDENTITY_NAME : ${{ parameters.inputs.managedIdentityName }}
193+ MANAGEDIDENTITY_FEDCRED_NAME : ${{ parameters.inputs.managedIdentityName }}-cred
194+
190195 inputs :
191196 azureSubscription : ${{ parameters.serviceConnection }}
192197 scriptType : bash
@@ -199,3 +204,17 @@ steps:
199204 [[ -n $SYSTEM_DEBUG ]] && [[ $SYSTEM_DEBUG =~ $IS_TRUE ]] && set -x || set +x
200205
201206 az role definition update --role-definition "$ROLEDEFINITION_JSON"
207+
208+ ${{ elseif eq(parameters.resourceType, 'managedidentity') }} :
209+ inlineScript : |
210+ set -e
211+ [[ -n $SYSTEM_DEBUG ]] && [[ $SYSTEM_DEBUG =~ $IS_TRUE ]] && set -x || set +x
212+
213+ FEDCRED_DETAILS=$(az identity federated-credential create \
214+ --name "$MANAGEDIDENTITY_FEDCRED_NAME" \
215+ --identity-name "$MANAGEDIDENTITY_NAME" \
216+ --resource-group "$RESOURCEGROUP_NAME" \
217+ --issuer "https://VisualStudio/SPN" \
218+ --subject "user_impersonation" \
219+ --audience "api://AzureADMyOrg")
220+ echo $FEDCRED_DETAILS
0 commit comments