From d5f3ffe43425ac148bc8be6a3baeeec463d09ace Mon Sep 17 00:00:00 2001 From: Tobias Maestrini Date: Thu, 26 Dec 2024 01:14:59 +0100 Subject: [PATCH 1/2] add new script for administrator's reference --- .../assets/preview.png | Bin 0 -> 45596 bytes .../assets/sample.json | 53 ++++++++ .../index.mdx | 119 ++++++++++++++++++ 3 files changed, 172 insertions(+) create mode 100644 docs/docs/sample-scripts/entra/entra-remove-oauth2-permission-grants/assets/preview.png create mode 100644 docs/docs/sample-scripts/entra/entra-remove-oauth2-permission-grants/assets/sample.json create mode 100644 docs/docs/sample-scripts/entra/entra-remove-oauth2-permission-grants/index.mdx diff --git a/docs/docs/sample-scripts/entra/entra-remove-oauth2-permission-grants/assets/preview.png b/docs/docs/sample-scripts/entra/entra-remove-oauth2-permission-grants/assets/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..0159b6dd2c7cf2ca6b50547786b2db387416795b GIT binary patch literal 45596 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 + + + ```powershell + .SYNOPSIS + Removes OAuth2 permission grants for a specified Entra ID application registration. + + .DESCRIPTION + This function removes OAuth2 permission grants (delegated permissions) from an Entra ID application registration. + It can filter and remove permissions based on how they were granted - either by admin consent, user consent, or both. + + .PARAMETER appRegistrationName + The display name of the application registration in Entra ID from which to remove permission grants. + This parameter is mandatory. + + .PARAMETER GrantType + Specifies which type of permission grants to remove. Valid values are: + - 'By Admin': Removes only permissions granted through admin consent (consentType = AllPrincipals) + - 'By User': Removes only permissions granted through user consent (consentType != AllPrincipals) + - 'All': Removes both admin and user consented permissions + Default value is: 'Granted By User' + + .EXAMPLE + Remove-UserPermissionsGrants -appRegistrationName "My App" + Removes all user-consented permission grants for the application "My App" + + .EXAMPLE + Remove-UserPermissionsGrants -appRegistrationName "My App" -GrantType "All" + Removes all permission grants (both admin and user consented) for the application "My App" + + .EXAMPLE + Remove-UserPermissionsGrants -appRegistrationName "My App" -GrantType "By Admin" + Removes only admin-consented permission grants for the application "My App" + + .NOTES + Prerequisites: + - Microsoft 365 CLI (m365) must be installed and configured + - User must have appropriate permissions in Entra ID to manage OAuth2 permission grants (e.g. Global Admin) + + .LINK + https://learn.microsoft.com/en-us/azure/active-directory/manage-apps/manage-application-permissions + #> + + function Remove-PermissionsGrants { + param( + [Parameter(Mandatory = $true)] + [string]$appRegistrationName, + + [Parameter(Mandatory = $false)] + [ValidateSet('By Admin', 'By User', 'All')] $GrantType = 'By User' + ) + + Clear-Host + Write-Host "Removing permission grants for the app registration '$appRegistrationName'" + Write-Host "Selected grant type: '$GrantType'`n" + + # Get Service Principal that represents the app registration + $app = m365 entra enterpriseapp list --query "[?appDisplayName == '$($appRegistrationName)']" | ConvertFrom-Json + + # Filter (delegated) permissions granted with according consent for the given service principal + $selectedPermissionsGrants = @() + if ($GrantType -eq 'All') { + $selectedPermissionsGrants = m365 entra oauth2grant list --spObjectId $app.id | ConvertFrom-Json + } + elseif ($GrantType -eq 'Granted By Admin') { + $selectedPermissionsGrants = m365 entra oauth2grant list --spObjectId $app.id --query "[?consentType == 'AllPrincipals']" | ConvertFrom-Json + } + else { + # granted by user + $selectedPermissionsGrants = m365 entra oauth2grant list --spObjectId $app.id --query "[?consentType != 'AllPrincipals']" | ConvertFrom-Json + } + + Write-Host "šŸ‘‰ $($selectedPermissionsGrants.Length) definitions found" + + # Remove the filtered permissions + $selectedPermissionsGrants | ForEach-Object { + Write-Host "permission grant (ID) '$($_.id)': " -NoNewline + m365 entra oauth2grant remove --grantId $_.id --force + Write-Host "āœ” Done" -ForegroundColor Green + Write-Host "āŽæ " $_.scope.trim() + } + + # Display success message + if($selectedPermissionsGrants.Length -gt 0) { + Write-Host "`nāœ”ļø Successfully removed selected permissions" -ForegroundColor Green + } + } + + # Set the app registration name for which to remove user consents + $appRegistrationName = 'My App' + Remove-UserPermissionsGrants -appRegistrationName $appRegistrationName + ``` + + + + From 54a95bd965579ddb3cdadc1678289bdaad7f78d0 Mon Sep 17 00:00:00 2001 From: Tobias Maestrini Date: Thu, 26 Dec 2024 01:14:59 +0100 Subject: [PATCH 2/2] add new script for administrator's reference regarding OAuth2 permission grants in Entra ID --- .../assets/preview.png | Bin 0 -> 45596 bytes .../assets/sample.json | 53 ++++++++ .../index.mdx | 121 ++++++++++++++++++ 3 files changed, 174 insertions(+) create mode 100644 docs/docs/sample-scripts/entra/entra-remove-oauth2-permission-grants/assets/preview.png create mode 100644 docs/docs/sample-scripts/entra/entra-remove-oauth2-permission-grants/assets/sample.json create mode 100644 docs/docs/sample-scripts/entra/entra-remove-oauth2-permission-grants/index.mdx diff --git a/docs/docs/sample-scripts/entra/entra-remove-oauth2-permission-grants/assets/preview.png b/docs/docs/sample-scripts/entra/entra-remove-oauth2-permission-grants/assets/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..0159b6dd2c7cf2ca6b50547786b2db387416795b GIT binary patch literal 45596 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 + + + ```powershell + .SYNOPSIS + Removes OAuth2 permission grants for a specified Entra ID application registration. + + .DESCRIPTION + This function removes OAuth2 permission grants (delegated permissions) from an Entra ID application registration. + It can filter and remove permissions based on how they were granted - either by admin consent, user consent, or both. + + .PARAMETER appRegistrationName + The display name of the application registration in Entra ID from which to remove permission grants. + This parameter is mandatory. + + .PARAMETER GrantType + Specifies which type of permission grants to remove. Valid values are: + - 'By Admin': Removes only permissions granted through admin consent (consentType = AllPrincipals) + - 'By User': Removes only permissions granted through user consent (consentType != AllPrincipals) + - 'All': Removes both admin and user consented permissions + Default value is: 'Granted By User' + + .EXAMPLE + Remove-UserPermissionsGrants -appRegistrationName "My App" + Removes all user-consented permission grants for the application "My App" + + .EXAMPLE + Remove-UserPermissionsGrants -appRegistrationName "My App" -GrantType "All" + Removes all permission grants (both admin and user consented) for the application "My App" + + .EXAMPLE + Remove-UserPermissionsGrants -appRegistrationName "My App" -GrantType "By Admin" + Removes only admin-consented permission grants for the application "My App" + + .NOTES + Prerequisites: + - Microsoft 365 CLI (m365) must be installed and configured + - User must have appropriate permissions in Entra ID to manage OAuth2 permission grants (e.g. Global Admin) + + .LINK + https://learn.microsoft.com/en-us/azure/active-directory/manage-apps/manage-application-permissions + #> + + function Remove-PermissionsGrants { + param( + [Parameter(Mandatory = $true)] + [string]$appRegistrationName, + + [Parameter(Mandatory = $false)] + [ValidateSet('By Admin', 'By User', 'All')] $GrantType = 'By User' + ) + + Clear-Host + Write-Host "Removing permission grants for the app registration '$appRegistrationName'" + Write-Host "Selected grant type: '$GrantType'`n" + + # Get Service Principal that represents the app registration + $app = m365 entra enterpriseapp list --query "[?appDisplayName == '$($appRegistrationName)']" | ConvertFrom-Json + + # Filter (delegated) permissions granted with according consent for the given service principal + $selectedPermissionsGrants = @() + if ($GrantType -eq 'All') { + $selectedPermissionsGrants = m365 entra oauth2grant list --spObjectId $app.id | ConvertFrom-Json + } + elseif ($GrantType -eq 'Granted By Admin') { + $selectedPermissionsGrants = m365 entra oauth2grant list --spObjectId $app.id --query "[?consentType == 'AllPrincipals']" | ConvertFrom-Json + } + else { + # granted by user + $selectedPermissionsGrants = m365 entra oauth2grant list --spObjectId $app.id --query "[?consentType != 'AllPrincipals']" | ConvertFrom-Json + } + + Write-Host "šŸ‘‰ $($selectedPermissionsGrants.Length) definitions found" + + # Remove the filtered permissions + $selectedPermissionsGrants | ForEach-Object { + Write-Host "permission grant (ID) '$($_.id)': " -NoNewline + m365 entra oauth2grant remove --grantId $_.id --force + Write-Host "āœ” Done" -ForegroundColor Green + Write-Host "āŽæ " $_.scope.trim() + } + + # Display success message + if($selectedPermissionsGrants.Length -gt 0) { + Write-Host "`nāœ”ļø Successfully removed selected permissions" -ForegroundColor Green + } + } + + # Set the app registration name for which to remove user consents + $appRegistrationName = 'My App' + Remove-UserPermissionsGrants -appRegistrationName $appRegistrationName + ``` + + + +