Hierdie toestemming stel in staat om rolle aan principals oor 'n spesifieke omvang toe te ken, wat 'n aanvaller in staat stel om voorregte te verhoog deur homself 'n meer voorregte rol toe te ken:
Hierdie toestemming laat toe om die toestemmings wat deur 'n rol toegeken is, te wysig, wat 'n aanvaller in staat stel om voorregte te verhoog deur meer toestemmings aan 'n rol wat hy toegeken het, toe te ken.
Skep die lêer role.json met die volgende inhoud:
{"Name":"<name of the role>","IsCustom":true,"Description":"Custom role with elevated privileges","Actions": ["*"],"NotActions": [],"DataActions": ["*"],"NotDataActions": [],"AssignableScopes": ["/subscriptions/<subscription-id>"]}
Dan werk die roltoestemmings op met die vorige definisie wat noem:
azroledefinitionupdate--role-definitionrole.json
Microsoft.Authorization/elevateAccess/action
Hierdie toestemmings laat toe om voorregte te verhoog en in staat te wees om toestemmings aan enige hoofpersoon toe te ken vir Azure hulpbronne. Dit is bedoel om aan Entra ID Global Administrators gegee te word sodat hulle ook toestemmings oor Azure hulpbronne kan bestuur.
Ek dink die gebruiker moet 'n Global Administrator in Entra ID wees vir die verhoog oproep om te werk.
# 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"/"
Hierdie toestemming stel jou in staat om Federated credentials by bestuurde identiteite te voeg. Byvoorbeeld, gee toegang tot Github Actions in 'n repo aan 'n bestuurde identiteit. Dan stel dit jou in staat om toegang te verkry tot enige gebruiker gedefinieerde bestuurde identiteit.
Voorbeeldopdrag om toegang tot 'n repo in Github aan 'n bestuurde identiteit te gee:
# 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"]}}'