Azure Add App Role Assignment To Service Principal
Grants an application role to a service principal, allowing it to act with that role's permissions within the application.
The adversary is trying to gain higher-level permissions.
Privilege Escalation consists of techniques that adversaries use to gain higher-level permissions on a system or network. Adversaries can often enter and explore a network with unprivileged access but require elevated permissions to follow through on their objectives. Common approaches are to take advantage of system weaknesses, misconfigurations, and vulnerabilities. Examples of elevated access include:
In cloud environments, privilege escalation frequently involves exploiting overly permissive IAM policies, assuming roles with broader permissions, or modifying permission boundaries. Adversaries may attach administrator policies to compromised identities, exploit trust relationships between accounts, or leverage service-linked roles to gain elevated access.
View Privilege Escalation on MITRE ATT&CK →Grants an application role to a service principal, allowing it to act with that role's permissions within the application.
Adds a user as an eligible member for a privileged role in Azure PIM, allowing them to activate the role on demand.
Directly assigns a user or service principal to an Entra ID directory role, granting that role's permissions.
Adds an owner to an Entra ID application registration, granting them management rights over the application.
Adds an owner to a group, granting the ability to modify group membership for lateral movement.
Creates a new custom Azure RBAC role definition with specified allowed and denied actions.
Adds a custom domain to a Microsoft Entra ID tenant and initiates the domain verification process.
Adds an IAM policy binding to a GCP resource, granting a member (user, group, or service account) a specified role.
Adds a permission to a Lambda function's resource-based policy, allowing specified principals to invoke the function.
Adds an IAM role to an EC2 instance profile, enabling EC2 instances to assume that role and access AWS services.
Adds an IAM user to a specified group, granting the user all permissions attached to that group.
Associates an IAM instance profile with an EC2 instance, granting the instance permissions defined by the profile's IAM role.
Returns temporary security credentials for assuming an IAM role. Allows an entity (user, service, or account) to act with the role's permissions.
Returns temporary credentials for a SAML-authenticated user to assume an IAM role, used in federated SSO scenarios.
Returns temporary credentials for a user authenticated via an OIDC identity provider (e.g., Cognito, Google) to assume an IAM role.
Attaches a managed IAM policy to a group, granting all group members the permissions defined in that policy.
Attaches a managed IAM policy to an IAM role, granting the role the permissions defined in that policy.
Attaches a managed IAM policy directly to an IAM user, granting them the permissions defined in that policy.
Sets the IAM policy on a Compute Engine persistent disk, controlling which principals have access to it.
Changes the service account attached to a Compute Engine instance, enabling privilege escalation via service account swap.
Records an admin or user granting an Entra ID application permission to access resources via an OAuth 2.0 consent grant.
Creates an access entry for an EKS cluster, granting an IAM principal Kubernetes API access via EKS access management.
Creates a new long-term access key for an IAM user, enabling programmatic access to AWS services.
Creates a Glue development endpoint providing SSH access into the Glue VPC with the Glue service role.
Creates a password for an IAM user, enabling them to sign into the AWS Management Console.
Registers an OIDC identity provider with IAM, enabling federated access from external identity systems like GitHub Actions.
Creates a new managed IAM policy that can be attached to users, groups, or roles to define permissions.
Creates a new version of an IAM managed policy, which can optionally be set as the default active version.
Creates a new IAM role with a trust policy that defines which principals are permitted to assume it.
Creates a custom IAM role in GCP with a specified set of granular permissions.
Registers a SAML 2.0 identity provider metadata document with IAM, enabling federated authentication via SAML.
Creates a service-linked IAM role that allows an AWS service to perform actions on your behalf.
Removes the permissions boundary from an IAM role, potentially expanding the role's maximum effective permissions.
Deletes an inline policy embedded directly in an IAM role.
Removes the permissions boundary from an IAM user, potentially expanding their maximum effective permissions.
Deletes an inline policy embedded directly in an IAM user.
Detaches a managed IAM policy from a role, removing those permissions from the role's effective policy.
Detaches a managed IAM policy from an IAM user, removing those permissions from the user.
Re-enables a previously disabled GCP service account, restoring its ability to authenticate and make API calls.
Generates a short-lived OAuth2 access token for a service account, used for impersonation or workload federation. Recorded on the Data Access audit-log stream (not enabled by default for IAM); see also iam.serviceAccounts.getAccessToken.
Returns temporary security credentials for a federated user, optionally scoped to an inline IAM policy.
Creates a new key for a GCP service account, producing a JSON credentials file for programmatic authentication. This is the admin activity audit log format; see also iam.serviceAccountKeys.create for the data access format.
Replaces the complete IAM policy for a GCP resource, controlling access for all principals.
Updates an existing custom IAM role, modifying its set of permitted permissions.
Records use of the actAs permission, where one identity impersonates and acts on behalf of a GCP service account.
Records a token exchange where a service account implicitly delegates its authority to another identity.
Signs a JWT on behalf of a service account via the IAM Credentials API, used for authentication or token exchange.
Global Admin elevates to User Access Administrator at root scope, granting control over all Azure subscriptions.
Creates or updates an Azure RBAC role assignment, granting a principal specific permissions on a resource or scope.
Adds or removes members from an Entra ID security group or Microsoft 365 group.
Adds or updates credentials (client secrets or certificates) for an Entra ID service principal.
Modifies Key Vault access policies, potentially granting unauthorized access to secrets, keys, and certificates.
Assigns a user-assigned managed identity to an Azure resource, enabling it to authenticate to other Azure services.
Allows a principal to pass an IAM role to an AWS service, granting the service permission to assume that role on their behalf.
Creates or updates an inline policy embedded directly in an IAM group.
Modifies a KMS key policy to grant cross-account access or expand key usage permissions.
Sets a permissions boundary on an IAM role, capping the maximum permissions the role can be granted.
Creates or updates an inline policy embedded directly in an IAM role.
Sets a permissions boundary on an IAM user, limiting the maximum permissions they can ever be granted.
Creates or updates an inline policy embedded directly in an IAM user.
Replaces the IAM instance profile associated with a running EC2 instance with a different one.
Sets the default version of an IAM managed policy, changing which version of the policy is active for all attached entities.
Sets the IAM policy on a Cloud Storage bucket or object, controlling which principals can access it.
Modifies an existing custom Azure RBAC role definition, updating its allowed or denied actions.
Updates the trust policy of an IAM role, changing which principals are permitted to assume it.
Updates a Glue development endpoint, potentially injecting SSH public keys for unauthorized access.
Updates Lambda function configuration including environment variables, IAM role, or layers — used to inject credentials or swap execution context.