Skip to content

Commit ed2378f

Browse files
committed
CPV tweaks
1 parent 64cd240 commit ed2378f

4 files changed

Lines changed: 31 additions & 6 deletions

File tree

Modules/CIPPCore/Public/Add-CIPPApplicationPermission.ps1

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ function Add-CIPPApplicationPermission {
66
$Tenantfilter
77
)
88
if ($ApplicationId -eq $ENV:ApplicationID -and $Tenantfilter -eq $env:TenantID) {
9-
return @('Cannot modify application permissions for CIPP-SAM on partner tenant')
9+
#return @('Cannot modify application permissions for CIPP-SAM on partner tenant')
10+
$RequiredResourceAccess = 'CIPPDefaults'
1011
}
1112
Set-Location (Get-Item $PSScriptRoot).FullName
1213
if ($RequiredResourceAccess -eq 'CIPPDefaults') {

Modules/CIPPCore/Public/Add-CIPPDelegatedPermission.ps1

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,14 @@ function Add-CIPPDelegatedPermission {
99
Set-Location (Get-Item $PSScriptRoot).FullName
1010

1111
if ($ApplicationId -eq $ENV:ApplicationID -and $Tenantfilter -eq $env:TenantID) {
12-
return @('Cannot modify delgated permissions for CIPP-SAM on partner tenant')
12+
#return @('Cannot modify delgated permissions for CIPP-SAM on partner tenant')
13+
$RequiredResourceAccess = 'CIPPDefaults'
1314
}
1415

1516
if ($RequiredResourceAccess -eq 'CIPPDefaults') {
1617
$RequiredResourceAccess = (Get-Content '.\SAMManifest.json' | ConvertFrom-Json).requiredResourceAccess
18+
$AdditionalPermissions = Get-Content '.\AdditionalPermissions.json' | ConvertFrom-Json
19+
$RequiredResourceAccess = $RequiredResourceAccess + ($AdditionalPermissions | Where-Object { $RequiredResourceAccess.resourceAppId -notcontains $_.resourceAppId })
1720
}
1821
$Translator = Get-Content '.\PermissionsTranslator.json' | ConvertFrom-Json
1922
$ServicePrincipalList = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/servicePrincipals?`$select=AppId,id,displayName&`$top=999" -tenantid $Tenantfilter -skipTokenCache $true
@@ -22,10 +25,17 @@ function Add-CIPPDelegatedPermission {
2225

2326
$CurrentDelegatedScopes = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/servicePrincipals/$($ourSVCPrincipal.id)/oauth2PermissionGrants" -skipTokenCache $true -tenantid $Tenantfilter
2427

25-
foreach ($App in $requiredResourceAccess) {
28+
foreach ($App in $RequiredResourceAccess) {
2629
$svcPrincipalId = $ServicePrincipalList | Where-Object -Property AppId -EQ $App.resourceAppId
30+
$AdditionalScopes = ($AdditionalPermissions | Where-Object -Property resourceAppId -EQ $App.resourceAppId).resourceAccess
2731
if (!$svcPrincipalId) { continue }
28-
$NewScope = ($Translator | Where-Object { $_.id -in $App.ResourceAccess.id }).value -join ' '
32+
if ($AdditionalScopes) {
33+
$NewScope = (($Translator | Where-Object { $_.id -in $App.ResourceAccess.id }).value + $AdditionalScopes.id | Select-Object -Unique) -join ' '
34+
Write-Host "NEW SCOPE: $NewScope"
35+
} else {
36+
$NewScope = ($Translator | Where-Object { $_.id -in $App.ResourceAccess.id }).value -join ' '
37+
}
38+
2939
$OldScope = ($CurrentDelegatedScopes | Where-Object -Property Resourceid -EQ $svcPrincipalId.id)
3040

3141
if (!$OldScope) {
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
[
2+
{
3+
"resourceAppId": "00000003-0000-0ff1-ce00-000000000000",
4+
"resourceAccess": [{ "id": "AllProfiles.Manage", "type": "Scope" }]
5+
},
6+
{
7+
"resourceAppId": "fb78d390-0c51-40cd-8e17-fdbfab77341b",
8+
"resourceAccess": [
9+
{ "id": "AdminApi.AccessAsUser.All", "type": "Scope" },
10+
{ "id": "FfoPowerShell.AccessAsUser.All", "type": "Scope" },
11+
{ "id": "RemotePowerShell.AccessAsUser.All", "type": "Scope" },
12+
{ "id": "VivaFeatureAccessPolicy.Manage.All", "type": "Scope" }
13+
]
14+
}
15+
]

Modules/CIPPCore/Public/SAMManifest.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,7 @@
172172
{
173173
"resourceAppId": "00000003-0000-0ff1-ce00-000000000000",
174174
"resourceAccess": [
175-
{ "id": "56680e0d-d2a3-4ae1-80d8-3c4f2100e3d0", "type": "Scope" },
176-
{ "id": "ec4fc4c8-872e-442b-a2a2-d095575807b3", "type": "Scope" }
175+
{ "id": "56680e0d-d2a3-4ae1-80d8-3c4f2100e3d0", "type": "Scope" }
177176
]
178177
},
179178
{

0 commit comments

Comments
 (0)