diff --git a/Modules/CIPPCore/Public/Add-CIPPDelegatedPermission.ps1 b/Modules/CIPPCore/Public/Add-CIPPDelegatedPermission.ps1 index 37932d98b9e6..1bdbb1daac6e 100644 --- a/Modules/CIPPCore/Public/Add-CIPPDelegatedPermission.ps1 +++ b/Modules/CIPPCore/Public/Add-CIPPDelegatedPermission.ps1 @@ -91,6 +91,20 @@ function Add-CIPPDelegatedPermission { $CreateRequest = New-GraphPOSTRequest -uri 'https://graph.microsoft.com/v1.0/oauth2PermissionGrants' -tenantid $Tenantfilter -body $Createbody -type POST -NoAuthCheck $true $Results.add("Successfully added permissions for $($svcPrincipalId.displayName)") } else { + # Cleanup multiple scope entries and patch first id + if (($OldScope.id | Measure-Object).Count -gt 1) { + $OldScopeId = $OldScope.id[0] + $OldScope.id | ForEach-Object { + if ($_ -ne $OldScopeId) { + try { + $null = New-GraphPOSTRequest -uri "https://graph.microsoft.com/v1.0/oauth2PermissionGrants/$_" -tenantid $Tenantfilter -type DELETE -NoAuthCheck $true + } catch { + } + } + } + } else { + $OldScopeId = $OldScope.id + } $compare = Compare-Object -ReferenceObject $OldScope.scope.Split(' ') -DifferenceObject $NewScope.Split(' ') if (!$compare) { $Results.add("All delegated permissions exist for $($svcPrincipalId.displayName)") @@ -99,8 +113,12 @@ function Add-CIPPDelegatedPermission { $Patchbody = @{ scope = "$NewScope" } | ConvertTo-Json -Compress - $null = New-GraphPOSTRequest -uri "https://graph.microsoft.com/v1.0/oauth2PermissionGrants/$($OldScope.id)" -tenantid $Tenantfilter -body $Patchbody -type PATCH -NoAuthCheck $true - + try { + $null = New-GraphPOSTRequest -uri "https://graph.microsoft.com/v1.0/oauth2PermissionGrants/$($OldScopeId)" -tenantid $Tenantfilter -body $Patchbody -type PATCH -NoAuthCheck $true + } catch { + $Results.add("Failed to update permissions for $($svcPrincipalId.displayName): $(Get-NormalizedError -message $_.Exception.Message)") + continue + } # Added permissions $Added = ($Compare | Where-Object { $_.SideIndicator -eq '=>' }).InputObject -join ' ' $Removed = ($Compare | Where-Object { $_.SideIndicator -eq '<=' }).InputObject -join ' ' diff --git a/Modules/CIPPCore/Public/AdditionalPermissions.json b/Modules/CIPPCore/Public/AdditionalPermissions.json index c69644cf99bf..f7008f12fee8 100644 --- a/Modules/CIPPCore/Public/AdditionalPermissions.json +++ b/Modules/CIPPCore/Public/AdditionalPermissions.json @@ -1,13 +1,24 @@ [ { - "resourceAppId": "00000003-0000-0ff1-ce00-000000000000", - "resourceAccess": [{ "id": "AllProfiles.Manage", "type": "Scope" }] + "resourceAppId": "00000006-0000-0ff1-ce00-000000000000", + "resourceAccess": [ + { + "id": "M365AdminPortal.IntegratedApps.ReadWrite", + "type": "Scope" + }, + { + "id": "user_impersonation", + "type": "Scope" + } + ] }, { - "resourceAppId": "00000006-0000-0ff1-ce00-000000000000", + "resourceAppId": "00000003-0000-0ff1-ce00-000000000000", "resourceAccess": [ - { "id": "M365AdminPortal.IntegratedApps.ReadWrite", "type": "Scope" }, - { "id": "user_impersonation", "type": "Scope" } + { + "id": "AllProfiles.Manage", + "type": "Scope" + } ] } -] +] \ No newline at end of file diff --git a/Modules/CIPPCore/Public/AuditLogs/New-CippAuditLogSearch.ps1 b/Modules/CIPPCore/Public/AuditLogs/New-CippAuditLogSearch.ps1 new file mode 100644 index 000000000000..e28c6b742cac --- /dev/null +++ b/Modules/CIPPCore/Public/AuditLogs/New-CippAuditLogSearch.ps1 @@ -0,0 +1,156 @@ +function New-CippAuditLogSearch { + <# + .SYNOPSIS + Create a new audit log search + .DESCRIPTION + Create a new audit log search in Microsoft Graph Security API + .PARAMETER DisplayName + The display name of the audit log search. Default is 'CIPP Audit Search - ' + current date and time. + .PARAMETER TenantFilter + The tenant to filter on. + .PARAMETER StartTime + The start time to filter on. + .PARAMETER EndTime + The end time to filter on. + .PARAMETER RecordTypeFilters + The record types to filter on. + .PARAMETER KeywordFilter + The keyword to filter on. + .PARAMETER ServiceFilter + The service to filter on. + .PARAMETER OperationsFilters + The operations to filter on. + .PARAMETER UserPrincipalNameFilters + The user principal names to filter on. + .PARAMETER IPAddressFilter + The IP addresses to filter on. + .PARAMETER ObjectIdFilters + The object IDs to filter on. + .PARAMETER AdministrativeUnitFilters + The administrative units to filter on. + #> + [CmdletBinding(SupportsShouldProcess = $true)] + param( + [Parameter()] + [string]$DisplayName = 'CIPP Audit Search - ' + (Get-Date).ToString('yyyy-MM-dd HH:mm:ss'), + [Parameter(Mandatory = $true)] + [string]$TenantFilter, + [Parameter(Mandatory = $true)] + [datetime]$StartTime, + [Parameter(Mandatory = $true)] + [datetime]$EndTime, + [Parameter()] + [ValidateSet( + 'exchangeAdmin', 'exchangeItem', 'exchangeItemGroup', 'sharePoint', 'syntheticProbe', 'sharePointFileOperation', + 'oneDrive', 'azureActiveDirectory', 'azureActiveDirectoryAccountLogon', 'dataCenterSecurityCmdlet', + 'complianceDLPSharePoint', 'sway', 'complianceDLPExchange', 'sharePointSharingOperation', + 'azureActiveDirectoryStsLogon', 'skypeForBusinessPSTNUsage', 'skypeForBusinessUsersBlocked', + 'securityComplianceCenterEOPCmdlet', 'exchangeAggregatedOperation', 'powerBIAudit', 'crm', 'yammer', + 'skypeForBusinessCmdlets', 'discovery', 'microsoftTeams', 'threatIntelligence', 'mailSubmission', + 'microsoftFlow', 'aeD', 'microsoftStream', 'complianceDLPSharePointClassification', 'threatFinder', + 'project', 'sharePointListOperation', 'sharePointCommentOperation', 'dataGovernance', 'kaizala', + 'securityComplianceAlerts', 'threatIntelligenceUrl', 'securityComplianceInsights', 'mipLabel', + 'workplaceAnalytics', 'powerAppsApp', 'powerAppsPlan', 'threatIntelligenceAtpContent', 'labelContentExplorer', + 'teamsHealthcare', 'exchangeItemAggregated', 'hygieneEvent', 'dataInsightsRestApiAudit', + 'informationBarrierPolicyApplication', 'sharePointListItemOperation', 'sharePointContentTypeOperation', + 'sharePointFieldOperation', 'microsoftTeamsAdmin', 'hrSignal', 'microsoftTeamsDevice', 'microsoftTeamsAnalytics', + 'informationWorkerProtection', 'campaign', 'dlpEndpoint', 'airInvestigation', 'quarantine', 'microsoftForms', + 'applicationAudit', 'complianceSupervisionExchange', 'customerKeyServiceEncryption', 'officeNative', + 'mipAutoLabelSharePointItem', 'mipAutoLabelSharePointPolicyLocation', 'microsoftTeamsShifts', 'secureScore', + 'mipAutoLabelExchangeItem', 'cortanaBriefing', 'search', 'wdatpAlerts', 'powerPlatformAdminDlp', + 'powerPlatformAdminEnvironment', 'mdatpAudit', 'sensitivityLabelPolicyMatch', 'sensitivityLabelAction', + 'sensitivityLabeledFileAction', 'attackSim', 'airManualInvestigation', 'securityComplianceRBAC', + 'userTraining', 'airAdminActionInvestigation', 'mstic', 'physicalBadgingSignal', 'teamsEasyApprovals', + 'aipDiscover', 'aipSensitivityLabelAction', 'aipProtectionAction', 'aipFileDeleted', 'aipHeartBeat', + 'mcasAlerts', 'onPremisesFileShareScannerDlp', 'onPremisesSharePointScannerDlp', 'exchangeSearch', + 'sharePointSearch', 'privacyDataMinimization', 'labelAnalyticsAggregate', 'myAnalyticsSettings', + 'securityComplianceUserChange', 'complianceDLPExchangeClassification', 'complianceDLPEndpoint', + 'mipExactDataMatch', 'msdeResponseActions', 'msdeGeneralSettings', 'msdeIndicatorsSettings', + 'ms365DCustomDetection', 'msdeRolesSettings', 'mapgAlerts', 'mapgPolicy', 'mapgRemediation', + 'privacyRemediationAction', 'privacyDigestEmail', 'mipAutoLabelSimulationProgress', + 'mipAutoLabelSimulationCompletion', 'mipAutoLabelProgressFeedback', 'dlpSensitiveInformationType', + 'mipAutoLabelSimulationStatistics', 'largeContentMetadata', 'microsoft365Group', 'cdpMlInferencingResult', + 'filteringMailMetadata', 'cdpClassificationMailItem', 'cdpClassificationDocument', 'officeScriptsRunAction', + 'filteringPostMailDeliveryAction', 'cdpUnifiedFeedback', 'tenantAllowBlockList', 'consumptionResource', + 'healthcareSignal', 'dlpImportResult', 'cdpCompliancePolicyExecution', 'multiStageDisposition', + 'privacyDataMatch', 'filteringDocMetadata', 'filteringEmailFeatures', 'powerBIDlp', 'filteringUrlInfo', + 'filteringAttachmentInfo', 'coreReportingSettings', 'complianceConnector', + 'powerPlatformLockboxResourceAccessRequest', 'powerPlatformLockboxResourceCommand', + 'cdpPredictiveCodingLabel', 'cdpCompliancePolicyUserFeedback', 'webpageActivityEndpoint', 'omePortal', + 'cmImprovementActionChange', 'filteringUrlClick', 'mipLabelAnalyticsAuditRecord', 'filteringEntityEvent', + 'filteringRuleHits', 'filteringMailSubmission', 'labelExplorer', 'microsoftManagedServicePlatform', + 'powerPlatformServiceActivity', 'scorePlatformGenericAuditRecord', 'filteringTimeTravelDocMetadata', 'alert', + 'alertStatus', 'alertIncident', 'incidentStatus', 'case', 'caseInvestigation', 'recordsManagement', + 'privacyRemediation', 'dataShareOperation', 'cdpDlpSensitive', 'ehrConnector', 'filteringMailGradingResult', + 'publicFolder', 'privacyTenantAuditHistoryRecord', 'aipScannerDiscoverEvent', 'eduDataLakeDownloadOperation', + 'm365ComplianceConnector', 'microsoftGraphDataConnectOperation', 'microsoftPurview', + 'filteringEmailContentFeatures', 'powerPagesSite', 'powerAppsResource', 'plannerPlan', 'plannerCopyPlan', + 'plannerTask', 'plannerRoster', 'plannerPlanList', 'plannerTaskList', 'plannerTenantSettings', + 'projectForTheWebProject', 'projectForTheWebTask', 'projectForTheWebRoadmap', 'projectForTheWebRoadmapItem', + 'projectForTheWebProjectSettings', 'projectForTheWebRoadmapSettings', 'quarantineMetadata', + 'microsoftTodoAudit', 'timeTravelFilteringDocMetadata', 'teamsQuarantineMetadata', + 'sharePointAppPermissionOperation', 'microsoftTeamsSensitivityLabelAction', 'filteringTeamsMetadata', + 'filteringTeamsUrlInfo', 'filteringTeamsPostDeliveryAction', 'mdcAssessments', + 'mdcRegulatoryComplianceStandards', 'mdcRegulatoryComplianceControls', 'mdcRegulatoryComplianceAssessments', + 'mdcSecurityConnectors', 'mdaDataSecuritySignal', 'vivaGoals', 'filteringRuntimeInfo', 'attackSimAdmin', + 'microsoftGraphDataConnectConsent', 'filteringAtpDetonationInfo', 'privacyPortal', 'managedTenants', + 'unifiedSimulationMatchedItem', 'unifiedSimulationSummary', 'updateQuarantineMetadata', 'ms365DSuppressionRule', + 'purviewDataMapOperation', 'filteringUrlPostClickAction', 'irmUserDefinedDetectionSignal', 'teamsUpdates', + 'plannerRosterSensitivityLabel', 'ms365DIncident', 'filteringDelistingMetadata', + 'complianceDLPSharePointClassificationExtended', 'microsoftDefenderForIdentityAudit', + 'supervisoryReviewDayXInsight', 'defenderExpertsforXDRAdmin', 'cdpEdgeBlockedMessage', 'hostedRpa', + 'cdpContentExplorerAggregateRecord', 'cdpHygieneAttachmentInfo', 'cdpHygieneSummary', + 'cdpPostMailDeliveryAction', 'cdpEmailFeatures', 'cdpHygieneUrlInfo', 'cdpUrlClick', + 'cdpPackageManagerHygieneEvent', 'filteringDocScan', 'timeTravelFilteringDocScan', 'mapgOnboard' + )] + [string[]]$RecordTypeFilters, + [Parameter()] + [string]$KeywordFilter, + [Parameter()] + [string]$ServiceFilter, + [Parameter()] + [string[]]$OperationsFilters, + [Parameter()] + [string[]]$UserPrincipalNameFilters, + [Parameter()] + [string[]]$IPAddressFilter, + [Parameter()] + [string[]]$ObjectIdFilters, + [Parameter()] + [string[]]$AdministrativeUnitFilters + ) + + $SearchParams = @{ + displayName = 'CIPP Audit Search - ' + (Get-Date).ToString('yyyy-MM-dd HH:mm:ss') + filterStartDateTime = $StartTime.ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ss') + filterEndDateTime = $EndTime.ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ss') + } + if ($OperationsFilters) { + $SearchParams.operationsFilters = $OperationsFilters + } + if ($RecordTypeFilters) { + $SearchParams.recordTypeFilters = @($RecordTypeFilters) + } + if ($KeywordFilter) { + $SearchParams.keywordFilter = $KeywordFilter + } + if ($ServiceFilter) { + $SearchParams.serviceFilter = $ServiceFilter + } + if ($UserPrincipalNameFilters) { + $SearchParams.userPrincipalNameFilters = @($UserPrincipalNameFilters) + } + if ($IPAddressFilter) { + $SearchParams.ipAddressFilter = @($IPAddressFilter) + } + if ($ObjectIdFilters) { + $SearchParams.objectIdFilters = @($ObjectIdFilters) + } + if ($AdministrativeUnitFilters) { + $SearchParams.administrativeUnitFilters = @($AdministrativeUnitFilters) + } + + if ($PSCmdlet.ShouldProcess('Create a new audit log search for tenant ' + $TenantFilter)) { + New-GraphPOSTRequest -uri 'https://graph.microsoft.com/beta/security/auditLog/queries' -body ($SearchParams | ConvertTo-Json -Compress) -tenantid $TenantFilter -AsApp $true + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecServicePrincipals.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecServicePrincipals.ps1 index 7d3e509b5e51..71bdb7a36d59 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecServicePrincipals.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecServicePrincipals.ps1 @@ -36,7 +36,11 @@ function Invoke-ExecServicePrincipals { if ($Request.Query.AppId) { $Action = 'Get' $Results = New-GraphGetRequest -Uri "https://graph.microsoft.com/beta/servicePrincipals(appId='$($Request.Query.AppId)')" -tenantid $TenantFilter -NoAuthCheck $true - } else { + } elseif ($Request.Query.Id) { + $Action = 'Get' + $Results = New-GraphGetRequest -Uri "https://graph.microsoft.com/beta/servicePrincipals/$($Request.Query.Id)" -tenantid $TenantFilter -NoAuthCheck $true + } + else { $Action = 'List' $Results = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/servicePrincipals?$top=999&$orderby=displayName&$count=true' -ComplexFilter -tenantid $TenantFilter -NoAuthCheck $true } diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ExecSetSharePointMember.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ExecSetSharePointMember.ps1 index c52f4c1b1409..9c59f13662c3 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ExecSetSharePointMember.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ExecSetSharePointMember.ps1 @@ -9,8 +9,9 @@ Function Invoke-ExecSetSharePointMember { #> [CmdletBinding()] param($Request, $TriggerMetadata) - $GroupId = (New-GraphGetRequest -uri "https://graph.microsoft.com/beta/groups?`$filter=mail eq '$($Request.Body.GroupID)'" -tenantid $Request.Body.TenantFilter).id + if ($Request.body.SharePointType -eq 'Group') { + $GroupId = (New-GraphGetRequest -uri "https://graph.microsoft.com/beta/groups?`$filter=mail eq '$($Request.Body.GroupID)'" -tenantid $Request.Body.TenantFilter).id if ($Request.body.Add -eq $true) { $Results = Add-CIPPGroupMember -GroupType 'Team' -GroupID $GroupID -Member $Request.Body.input -TenantFilter $Request.Body.TenantFilter -ExecutingUser $request.headers.'x-ms-client-principal' } else { diff --git a/Modules/CIPPCore/Public/New-CIPPAPIConfig.ps1 b/Modules/CIPPCore/Public/New-CIPPAPIConfig.ps1 index 5ec4e4eab582..d09e17561641 100644 --- a/Modules/CIPPCore/Public/New-CIPPAPIConfig.ps1 +++ b/Modules/CIPPCore/Public/New-CIPPAPIConfig.ps1 @@ -8,7 +8,8 @@ function New-CIPPAPIConfig { $resetpassword ) $null = Connect-AzAccount -Identity - $currentapp = (Get-AzKeyVaultSecret -VaultName $ENV:WEBSITE_DEPLOYMENT_ID -Name 'CIPPAPIAPP' -AsPlainText) + $VaultName = ($ENV:WEBSITE_DEPLOYMENT_ID -split '-')[0] + $currentapp = (Get-AzKeyVaultSecret -VaultName $VaultName -Name 'CIPPAPIAPP' -AsPlainText) $subscription = $($ENV:WEBSITE_OWNER_NAME).Split('+')[0] try { diff --git a/Modules/CIPPCore/Public/SAMManifest.json b/Modules/CIPPCore/Public/SAMManifest.json index 45df45352603..8d79357f0079 100644 --- a/Modules/CIPPCore/Public/SAMManifest.json +++ b/Modules/CIPPCore/Public/SAMManifest.json @@ -1,197 +1,618 @@ -{ - "isFallbackPublicClient": true, - "signInAudience": "AzureADMultipleOrgs", - "displayName": "CIPP-SAM", - "web": { - "redirectUris": [ - "https://login.microsoftonline.com/common/oauth2/nativeclient", - "https://localhost", - "http://localhost", - "http://localhost:8400" - ] - }, - "requiredResourceAccess": [ - { - "resourceAppId": "aeb86249-8ea3-49e2-900b-54cc8e308f85", - "resourceAccess": [ - { "id": "fc946a4f-bc4d-413b-a090-b2c86113ec4f", "type": "Scope" } - ] - }, - { - "resourceAppId": "fa3d9a0c-3fb0-42cc-9193-47c7ecd2edbd", - "resourceAccess": [ - { "id": "1cebfa2a-fb4d-419e-b5f9-839b4383e05a", "type": "Scope" } - ] - }, - { - "resourceAppId": "00000003-0000-0000-c000-000000000000", - "resourceAccess": [ - { "id": "aa07f155-3612-49b8-a147-6c590df35536", "type": "Scope" }, - { "id": "73e75199-7c3e-41bb-9357-167164dbb415", "type": "Scope" }, - { "id": "d01b97e9-cbc0-49fe-810a-750afd5527a3", "type": "Scope" }, - { "id": "46ca0847-7e6b-426e-9775-ea810a948356", "type": "Scope" }, - { "id": "dc38509c-b87d-4da0-bd92-6bec988bac4a", "type": "Scope" }, - { "id": "7427e0e9-2fba-42fe-b0c0-848c9e6a8182", "type": "Scope" }, - { "id": "ad902697-1014-4ef5-81ef-2b4301988e8c", "type": "Scope" }, - { "id": "572fea84-0151-49b2-9301-11cb16974376", "type": "Scope" }, - { "id": "e4c9e354-4dc5-45b8-9e7c-e1393b0b1a20", "type": "Scope" }, - { "id": "0883f392-0a7a-443d-8c76-16a6d39c7b63", "type": "Scope" }, - { "id": "7b3f05d5-f68c-4b8d-8c59-a2ecd12f24af", "type": "Scope" }, - { "id": "0c5e8a55-87a6-4556-93ab-adc52c4d862d", "type": "Scope" }, - { "id": "44642bfe-8385-4adc-8fc6-fe3cb2c375c3", "type": "Scope" }, - { "id": "662ed50a-ac44-4eef-ad86-62eed9be2a29", "type": "Scope" }, - { "id": "6aedf524-7e1c-45a7-bd76-ded8cab8d0fc", "type": "Scope" }, - { "id": "bac3b9c2-b516-4ef4-bd3b-c2ef73d8d804", "type": "Scope" }, - { "id": "11d4cd79-5ba5-460f-803f-e22c8ab85ccd", "type": "Scope" }, - { "id": "02e97553-ed7b-43d0-ab3c-f8bace0d040c", "type": "Scope" }, - { "id": "89fe6a52-be36-487e-b7d8-d061c450a026", "type": "Scope" }, - { "id": "a367ab51-6b49-43bf-a716-a1fb06d2a174", "type": "Scope" }, - { "id": "204e0828-b5ca-4ad8-b9f3-f32a958e7cc4", "type": "Scope" }, - { "id": "4e46008b-f24c-477d-8fff-7bb4ec7aafe0", "type": "Scope" }, - { "id": "0e263e50-5827-48a4-b97c-d940288653c7", "type": "Scope" }, - { "id": "e383f46e-2787-4529-855e-0e479a3ffac0", "type": "Scope" }, - { "id": "37f7f235-527c-4136-accd-4a02d197296e", "type": "Scope" }, - { "id": "14dad69e-099b-42c9-810b-d002981feec1", "type": "Scope" }, - { "id": "f6a3db3e-f7e8-4ed2-a414-557c8c9830be", "type": "Scope" }, - { "id": "0e755559-83fb-4b44-91d0-4cc721b9323e", "type": "Scope" }, - { "id": "a84a9652-ffd3-496e-a991-22ba5529156a", "type": "Scope" }, - { "id": "1d89d70c-dcac-4248-b214-903c457af83a", "type": "Scope" }, - { "id": "2b61aa8a-6d36-4b2f-ac7b-f29867937c53", "type": "Scope" }, - { "id": "ebf0f66e-9fb1-49e4-a278-222f76911cf4", "type": "Scope" }, - { "id": "bdfbf15f-ee85-4955-8675-146e8e5296b5", "type": "Scope" }, - { "id": "f81125ac-d3b7-4573-a3b2-7099cc39df9e", "type": "Scope" }, - { "id": "cac97e40-6730-457d-ad8d-4852fddab7ad", "type": "Scope" }, - { "id": "b7887744-6746-4312-813d-72daeaee7e2d", "type": "Scope" }, - { "id": "48971fc1-70d7-4245-af77-0beb29b53ee2", "type": "Scope" }, - { "id": "aec28ec7-4d02-4e8c-b864-50163aea77eb", "type": "Scope" }, - { "id": "a9ff19c2-f369-4a95-9a25-ba9d460efc8e", "type": "Scope" }, - { "id": "b98bfd41-87c6-45cc-b104-e2de4f0dafb9", "type": "Scope" }, - { "id": "2f9ee017-59c1-4f1d-9472-bd5529a7b311", "type": "Scope" }, - { "id": "951183d1-1a61-466f-a6d1-1fde911bfd95", "type": "Scope" }, - { "id": "637d7bec-b31e-4deb-acc9-24275642a2c9", "type": "Scope" }, - { "id": "101147cf-4178-4455-9d58-02b5c164e759", "type": "Scope" }, - { "id": "cc83893a-e232-4723-b5af-bd0b01bcfe65", "type": "Scope" }, - { "id": "233e0cf1-dd62-48bc-b65b-b38fe87fcf8e", "type": "Scope" }, - { "id": "d649fb7c-72b4-4eec-b2b4-b15acf79e378", "type": "Scope" }, - { "id": "485be79e-c497-4b35-9400-0e3fa7f2a5d4", "type": "Scope" }, - { "id": "9d8982ae-4365-4f57-95e9-d6032a4c0b87", "type": "Scope" }, - { "id": "48638b3c-ad68-4383-8ac4-e6880ee6ca57", "type": "Scope" }, - { "id": "39d65650-9d3e-4223-80db-a335590d027e", "type": "Scope" }, - { "id": "4a06efd2-f825-4e34-813e-82a57b03d1ee", "type": "Scope" }, - { "id": "f3bfad56-966e-4590-a536-82ecf548ac1e", "type": "Scope" }, - { "id": "4d135e65-66b8-41a8-9f8b-081452c91774", "type": "Scope" }, - { "id": "2eadaff8-0bce-4198-a6b9-2cfc35a30075", "type": "Scope" }, - { "id": "0c3e411a-ce45-4cd1-8f30-f99a3efa7b11", "type": "Scope" }, - { "id": "edb72de9-4252-4d03-a925-451deef99db7", "type": "Scope" }, - { "id": "767156cb-16ae-4d10-8f8b-41b657c8c8c8", "type": "Scope" }, - { "id": "7e823077-d88e-468f-a337-e18f1f0e6c7c", "type": "Scope" }, - { "id": "edd3c878-b384-41fd-95ad-e7407dd775be", "type": "Scope" }, - { "id": "40b534c3-9552-4550-901b-23879c90bcf9", "type": "Scope" }, - { "id": "7825d5d6-6049-4ce7-bdf6-3b8d53f4bcd0", "type": "Scope" }, - { "id": "2104a4db-3a2f-4ea0-9dba-143d457dc666", "type": "Scope" }, - { "id": "eda39fa6-f8cf-4c3c-a909-432c683e4c9b", "type": "Scope" }, - { "id": "55896846-df78-47a7-aa94-8d3d4442ca7f", "type": "Scope" }, - { "id": "128ca929-1a19-45e6-a3b8-435ec44a36ba", "type": "Scope" }, - { "id": "b27add92-efb2-4f16-84f5-8108ba77985c", "type": "Scope" }, - { "id": "3404d2bf-2b13-457e-a330-c24615765193", "type": "Scope" }, - { "id": "b955410e-7715-4a88-a940-dfd551018df3", "type": "Scope" }, - { "id": "5b07b0dd-2377-4e44-a38d-703f09a0dc3c", "type": "Role" }, - { "id": "19b94e34-907c-4f43-bde9-38b1909ed408", "type": "Role" }, - { "id": "999f8c63-0a38-4f1b-91fd-ed1947bdd1a9", "type": "Role" }, - { "id": "292d869f-3427-49a8-9dab-8c70152b74e9", "type": "Role" }, - { "id": "2f51be20-0bb4-4fed-bf7b-db946066c75e", "type": "Role" }, - { "id": "58ca0d9a-1575-47e1-a3cb-007ef2e4583b", "type": "Role" }, - { "id": "06a5fe6d-c49d-46a7-b082-56b1b14103c7", "type": "Role" }, - { "id": "246dd0d5-5bd0-4def-940b-0421030a5b68", "type": "Role" }, - { "id": "bf394140-e372-4bf9-a898-299cfc7564e5", "type": "Role" }, - { "id": "741f803b-c850-494e-b5df-cde7c675a1ca", "type": "Role" }, - { "id": "230c1aed-a721-4c5d-9cb4-a90514e508ef", "type": "Role" }, - { "id": "b633e1c5-b582-4048-a93e-9f11b44c7e96", "type": "Role" }, - { "id": "5b567255-7703-4780-807c-7be8301ae99b", "type": "Role" }, - { "id": "62a82d76-70ea-41e2-9197-370581804d09", "type": "Role" }, - { "id": "7ab1d382-f21e-4acd-a863-ba3e13f7da61", "type": "Role" }, - { "id": "1138cb37-bd11-4084-a2b7-9f71582aeddb", "type": "Role" }, - { "id": "78145de6-330d-4800-a6ce-494ff2d33d07", "type": "Role" }, - { "id": "9241abd9-d0e6-425a-bd4f-47ba86e767a4", "type": "Role" }, - { "id": "243333ab-4d21-40cb-a475-36241daa0842", "type": "Role" }, - { "id": "e330c4f0-4170-414e-a55a-2f022ec2b57b", "type": "Role" }, - { "id": "5ac13192-7ace-4fcf-b828-1a26f28068ee", "type": "Role" }, - { "id": "2f6817f8-7b12-4f0f-bc18-eeaf60705a9e", "type": "Role" }, - { "id": "dbaae8cf-10b5-4b86-a4a1-f871c94c6695", "type": "Role" }, - { "id": "bf7b1a76-6e77-406b-b258-bf5c7720e98f", "type": "Role" }, - { "id": "01c0a623-fc9b-48e9-b794-0756f8e8f067", "type": "Role" }, - { "id": "50483e42-d915-4231-9639-7fdb7fd190e5", "type": "Role" }, - { "id": "dbb9058a-0e50-45d7-ae91-66909b5d4664", "type": "Role" }, - { "id": "a82116e5-55eb-4c41-a434-62fe8a61c773", "type": "Role" }, - { "id": "f3a65bd4-b703-46df-8f7e-0174fea562aa", "type": "Role" }, - { "id": "59a6b24b-4225-4393-8165-ebaec5f55d7a", "type": "Role" }, - { "id": "0121dc95-1b9f-4aed-8bac-58c5ac466691", "type": "Role" }, - { "id": "3b55498e-47ec-484f-8136-9013221c06a9", "type": "Role" }, - { "id": "35930dcf-aceb-4bd1-b99a-8ffed403c974", "type": "Role" }, - { "id": "25f85f3c-f66c-4205-8cd5-de92dd7f0cec", "type": "Role" }, - { "id": "29c18626-4985-4dcd-85c0-193eef327366", "type": "Role" }, - { "id": "4437522e-9a86-4a41-a7da-e380edd4a97d", "type": "Role" }, - { "id": "34bf0e97-1971-4929-b999-9e2442d941d7", "type": "Role" }, - { "id": "45cc0394-e837-488b-a098-1918f48d186c", "type": "Role" }, - { "id": "be74164b-cff1-491c-8741-e671cb536e13", "type": "Role" }, - { "id": "2a60023f-3219-47ad-baa4-40e17cd02a1d", "type": "Role" }, - { "id": "338163d7-f101-4c92-94ba-ca46fe52447c", "type": "Role" }, - { "id": "cac88765-0581-4025-9725-5ebc13f729ee", "type": "Role" }, - { "id": "75359482-378d-4052-8f01-80520e7db3cd", "type": "Role" }, - { "id": "19dbc75e-c2e2-444c-a770-ec69d8559fc7", "type": "Role" }, - { "id": "b27a61ec-b99c-4d6a-b126-c4375d08ae30", "type": "Scope" }, - { "id": "84bccea3-f856-4a8a-967b-dbe0a3d53a64", "type": "Scope" }, - { "id": "280b3b69-0437-44b1-bc20-3b2fca1ee3e9", "type": "Scope" }, - { "id": "885f682f-a990-4bad-a642-36736a74b0c7", "type": "Scope" }, - { "id": "913b9306-0ce1-42b8-9137-6a7df690a760", "type": "Role" }, - { "id": "4c06a06a-098a-4063-868e-5dfee3827264", "type": "Scope" }, - { "id": "1bfefb4e-e0b5-418b-a88f-73c46d2cc8e9", "type": "Role" }, - { "id": "e67e6727-c080-415e-b521-e3f35d5248e9", "type": "Scope" }, - { "id": "b6890674-9dd5-4e42-bb15-5af07f541ae1", "type": "Role" }, - { "id": "9e4862a5-b68f-479e-848a-4e07e25c9916", "type": "Scope" }, - { "id": "bb6f654c-d7fd-4ae3-85c3-fc380934f515", "type": "Scope" }, - { "id": "e0a7cdbb-08b0-4697-8264-0069786e9674", "type": "Scope" }, - { "id": "19da66cb-0fb0-4390-b071-ebc76a349482", "type": "Role" }, - { "id": "818c620a-27a9-40bd-a6a5-d96f7d610b4b", "type": "Scope" }, - { "id": "6931bccd-447a-43d1-b442-00a195474933", "type": "Role" }, - { "id": "c5366453-9fb0-48a5-a156-24f0c49a4b84", "type": "Scope" } - ] - }, - { - "resourceAppId": "fc780465-2017-40d4-a0c5-307022471b92", - "resourceAccess": [ - { "id": "63a677ce-818c-4409-9d12-5c6d2e2a6bfe", "type": "Scope" }, - { "id": "41269fc5-d04d-4bfd-bce7-43a51cea049a", "type": "Role" } - ] - }, - { - "resourceAppId": "00000002-0000-0ff1-ce00-000000000000", - "resourceAccess": [ - { "id": "ab4f2b77-0b06-4fc1-a9de-02113fc2ab7c", "type": "Scope" }, - { "id": "bbd1ca91-75e0-4814-ad94-9c5dbbae3415", "type": "Scope" }, - { "id": "2e83d72d-8895-4b66-9eea-abb43449ab8b", "type": "Scope" }, - { "id": "dc50a0fb-09a3-484d-be87-e023b12c6440", "type": "Role" }, - { "id": "ef54d2bf-783f-4e0f-bca1-3210c0444d99", "type": "Role" }, - { "id": "f9156939-25cd-4ba8-abfe-7fabcf003749", "type": "Role" } - ] - }, - { - "resourceAppId": "00000003-0000-0ff1-ce00-000000000000", - "resourceAccess": [ - { "id": "56680e0d-d2a3-4ae1-80d8-3c4f2100e3d0", "type": "Scope" } - ] - }, - { - "resourceAppId": "48ac35b8-9aa8-4d74-927d-1f4a14a0b239", - "resourceAccess": [ - { "id": "e60370c1-e451-437e-aa6e-d76df38e5f15", "type": "Scope" } - ] - }, - { - "resourceAppId": "c5393580-f805-4401-95e8-94b7a6ef2fc2", - "resourceAccess": [ - { "id": "594c1fb6-4f81-4475-ae41-0c394909246c", "type": "Scope" } - ] - } - ] -} +{ + "isFallbackPublicClient": true, + "signInAudience": "AzureADMultipleOrgs", + "displayName": "CIPP-SAM", + "web": { + "redirectUris": [ + "https://login.microsoftonline.com/common/oauth2/nativeclient", + "https://localhost", + "http://localhost", + "http://localhost:8400" + ] + }, + "requiredResourceAccess": [ + { + "resourceAppId": "aeb86249-8ea3-49e2-900b-54cc8e308f85", + "resourceAccess": [ + { + "id": "fc946a4f-bc4d-413b-a090-b2c86113ec4f", + "type": "Scope" + } + ] + }, + { + "resourceAppId": "00000003-0000-0000-c000-000000000000", + "resourceAccess": [ + { + "id": "5b07b0dd-2377-4e44-a38d-703f09a0dc3c", + "type": "Role" + }, + { + "id": "19b94e34-907c-4f43-bde9-38b1909ed408", + "type": "Role" + }, + { + "id": "999f8c63-0a38-4f1b-91fd-ed1947bdd1a9", + "type": "Role" + }, + { + "id": "292d869f-3427-49a8-9dab-8c70152b74e9", + "type": "Role" + }, + { + "id": "2f51be20-0bb4-4fed-bf7b-db946066c75e", + "type": "Role" + }, + { + "id": "58ca0d9a-1575-47e1-a3cb-007ef2e4583b", + "type": "Role" + }, + { + "id": "06a5fe6d-c49d-46a7-b082-56b1b14103c7", + "type": "Role" + }, + { + "id": "246dd0d5-5bd0-4def-940b-0421030a5b68", + "type": "Role" + }, + { + "id": "bf394140-e372-4bf9-a898-299cfc7564e5", + "type": "Role" + }, + { + "id": "741f803b-c850-494e-b5df-cde7c675a1ca", + "type": "Role" + }, + { + "id": "230c1aed-a721-4c5d-9cb4-a90514e508ef", + "type": "Role" + }, + { + "id": "b633e1c5-b582-4048-a93e-9f11b44c7e96", + "type": "Role" + }, + { + "id": "5b567255-7703-4780-807c-7be8301ae99b", + "type": "Role" + }, + { + "id": "62a82d76-70ea-41e2-9197-370581804d09", + "type": "Role" + }, + { + "id": "7ab1d382-f21e-4acd-a863-ba3e13f7da61", + "type": "Role" + }, + { + "id": "1138cb37-bd11-4084-a2b7-9f71582aeddb", + "type": "Role" + }, + { + "id": "78145de6-330d-4800-a6ce-494ff2d33d07", + "type": "Role" + }, + { + "id": "9241abd9-d0e6-425a-bd4f-47ba86e767a4", + "type": "Role" + }, + { + "id": "243333ab-4d21-40cb-a475-36241daa0842", + "type": "Role" + }, + { + "id": "e330c4f0-4170-414e-a55a-2f022ec2b57b", + "type": "Role" + }, + { + "id": "5ac13192-7ace-4fcf-b828-1a26f28068ee", + "type": "Role" + }, + { + "id": "2f6817f8-7b12-4f0f-bc18-eeaf60705a9e", + "type": "Role" + }, + { + "id": "dbaae8cf-10b5-4b86-a4a1-f871c94c6695", + "type": "Role" + }, + { + "id": "bf7b1a76-6e77-406b-b258-bf5c7720e98f", + "type": "Role" + }, + { + "id": "01c0a623-fc9b-48e9-b794-0756f8e8f067", + "type": "Role" + }, + { + "id": "50483e42-d915-4231-9639-7fdb7fd190e5", + "type": "Role" + }, + { + "id": "dbb9058a-0e50-45d7-ae91-66909b5d4664", + "type": "Role" + }, + { + "id": "a82116e5-55eb-4c41-a434-62fe8a61c773", + "type": "Role" + }, + { + "id": "f3a65bd4-b703-46df-8f7e-0174fea562aa", + "type": "Role" + }, + { + "id": "59a6b24b-4225-4393-8165-ebaec5f55d7a", + "type": "Role" + }, + { + "id": "0121dc95-1b9f-4aed-8bac-58c5ac466691", + "type": "Role" + }, + { + "id": "3b55498e-47ec-484f-8136-9013221c06a9", + "type": "Role" + }, + { + "id": "35930dcf-aceb-4bd1-b99a-8ffed403c974", + "type": "Role" + }, + { + "id": "25f85f3c-f66c-4205-8cd5-de92dd7f0cec", + "type": "Role" + }, + { + "id": "29c18626-4985-4dcd-85c0-193eef327366", + "type": "Role" + }, + { + "id": "4437522e-9a86-4a41-a7da-e380edd4a97d", + "type": "Role" + }, + { + "id": "34bf0e97-1971-4929-b999-9e2442d941d7", + "type": "Role" + }, + { + "id": "45cc0394-e837-488b-a098-1918f48d186c", + "type": "Role" + }, + { + "id": "be74164b-cff1-491c-8741-e671cb536e13", + "type": "Role" + }, + { + "id": "2a60023f-3219-47ad-baa4-40e17cd02a1d", + "type": "Role" + }, + { + "id": "338163d7-f101-4c92-94ba-ca46fe52447c", + "type": "Role" + }, + { + "id": "cac88765-0581-4025-9725-5ebc13f729ee", + "type": "Role" + }, + { + "id": "75359482-378d-4052-8f01-80520e7db3cd", + "type": "Role" + }, + { + "id": "19dbc75e-c2e2-444c-a770-ec69d8559fc7", + "type": "Role" + }, + { + "id": "913b9306-0ce1-42b8-9137-6a7df690a760", + "type": "Role" + }, + { + "id": "1bfefb4e-e0b5-418b-a88f-73c46d2cc8e9", + "type": "Role" + }, + { + "id": "b6890674-9dd5-4e42-bb15-5af07f541ae1", + "type": "Role" + }, + { + "id": "19da66cb-0fb0-4390-b071-ebc76a349482", + "type": "Role" + }, + { + "id": "6931bccd-447a-43d1-b442-00a195474933", + "type": "Role" + }, + { + "id": "5e1e9171-754d-478c-812c-f1755a9a4c2d", + "type": "Role" + }, + { + "id": "aa07f155-3612-49b8-a147-6c590df35536", + "type": "Scope" + }, + { + "id": "73e75199-7c3e-41bb-9357-167164dbb415", + "type": "Scope" + }, + { + "id": "d01b97e9-cbc0-49fe-810a-750afd5527a3", + "type": "Scope" + }, + { + "id": "46ca0847-7e6b-426e-9775-ea810a948356", + "type": "Scope" + }, + { + "id": "dc38509c-b87d-4da0-bd92-6bec988bac4a", + "type": "Scope" + }, + { + "id": "7427e0e9-2fba-42fe-b0c0-848c9e6a8182", + "type": "Scope" + }, + { + "id": "ad902697-1014-4ef5-81ef-2b4301988e8c", + "type": "Scope" + }, + { + "id": "572fea84-0151-49b2-9301-11cb16974376", + "type": "Scope" + }, + { + "id": "e4c9e354-4dc5-45b8-9e7c-e1393b0b1a20", + "type": "Scope" + }, + { + "id": "0883f392-0a7a-443d-8c76-16a6d39c7b63", + "type": "Scope" + }, + { + "id": "7b3f05d5-f68c-4b8d-8c59-a2ecd12f24af", + "type": "Scope" + }, + { + "id": "0c5e8a55-87a6-4556-93ab-adc52c4d862d", + "type": "Scope" + }, + { + "id": "44642bfe-8385-4adc-8fc6-fe3cb2c375c3", + "type": "Scope" + }, + { + "id": "662ed50a-ac44-4eef-ad86-62eed9be2a29", + "type": "Scope" + }, + { + "id": "6aedf524-7e1c-45a7-bd76-ded8cab8d0fc", + "type": "Scope" + }, + { + "id": "bac3b9c2-b516-4ef4-bd3b-c2ef73d8d804", + "type": "Scope" + }, + { + "id": "11d4cd79-5ba5-460f-803f-e22c8ab85ccd", + "type": "Scope" + }, + { + "id": "02e97553-ed7b-43d0-ab3c-f8bace0d040c", + "type": "Scope" + }, + { + "id": "89fe6a52-be36-487e-b7d8-d061c450a026", + "type": "Scope" + }, + { + "id": "a367ab51-6b49-43bf-a716-a1fb06d2a174", + "type": "Scope" + }, + { + "id": "204e0828-b5ca-4ad8-b9f3-f32a958e7cc4", + "type": "Scope" + }, + { + "id": "4e46008b-f24c-477d-8fff-7bb4ec7aafe0", + "type": "Scope" + }, + { + "id": "0e263e50-5827-48a4-b97c-d940288653c7", + "type": "Scope" + }, + { + "id": "e383f46e-2787-4529-855e-0e479a3ffac0", + "type": "Scope" + }, + { + "id": "37f7f235-527c-4136-accd-4a02d197296e", + "type": "Scope" + }, + { + "id": "14dad69e-099b-42c9-810b-d002981feec1", + "type": "Scope" + }, + { + "id": "f6a3db3e-f7e8-4ed2-a414-557c8c9830be", + "type": "Scope" + }, + { + "id": "0e755559-83fb-4b44-91d0-4cc721b9323e", + "type": "Scope" + }, + { + "id": "a84a9652-ffd3-496e-a991-22ba5529156a", + "type": "Scope" + }, + { + "id": "1d89d70c-dcac-4248-b214-903c457af83a", + "type": "Scope" + }, + { + "id": "2b61aa8a-6d36-4b2f-ac7b-f29867937c53", + "type": "Scope" + }, + { + "id": "ebf0f66e-9fb1-49e4-a278-222f76911cf4", + "type": "Scope" + }, + { + "id": "bdfbf15f-ee85-4955-8675-146e8e5296b5", + "type": "Scope" + }, + { + "id": "f81125ac-d3b7-4573-a3b2-7099cc39df9e", + "type": "Scope" + }, + { + "id": "cac97e40-6730-457d-ad8d-4852fddab7ad", + "type": "Scope" + }, + { + "id": "b7887744-6746-4312-813d-72daeaee7e2d", + "type": "Scope" + }, + { + "id": "48971fc1-70d7-4245-af77-0beb29b53ee2", + "type": "Scope" + }, + { + "id": "aec28ec7-4d02-4e8c-b864-50163aea77eb", + "type": "Scope" + }, + { + "id": "a9ff19c2-f369-4a95-9a25-ba9d460efc8e", + "type": "Scope" + }, + { + "id": "b98bfd41-87c6-45cc-b104-e2de4f0dafb9", + "type": "Scope" + }, + { + "id": "2f9ee017-59c1-4f1d-9472-bd5529a7b311", + "type": "Scope" + }, + { + "id": "951183d1-1a61-466f-a6d1-1fde911bfd95", + "type": "Scope" + }, + { + "id": "637d7bec-b31e-4deb-acc9-24275642a2c9", + "type": "Scope" + }, + { + "id": "101147cf-4178-4455-9d58-02b5c164e759", + "type": "Scope" + }, + { + "id": "cc83893a-e232-4723-b5af-bd0b01bcfe65", + "type": "Scope" + }, + { + "id": "233e0cf1-dd62-48bc-b65b-b38fe87fcf8e", + "type": "Scope" + }, + { + "id": "d649fb7c-72b4-4eec-b2b4-b15acf79e378", + "type": "Scope" + }, + { + "id": "485be79e-c497-4b35-9400-0e3fa7f2a5d4", + "type": "Scope" + }, + { + "id": "9d8982ae-4365-4f57-95e9-d6032a4c0b87", + "type": "Scope" + }, + { + "id": "48638b3c-ad68-4383-8ac4-e6880ee6ca57", + "type": "Scope" + }, + { + "id": "39d65650-9d3e-4223-80db-a335590d027e", + "type": "Scope" + }, + { + "id": "4a06efd2-f825-4e34-813e-82a57b03d1ee", + "type": "Scope" + }, + { + "id": "f3bfad56-966e-4590-a536-82ecf548ac1e", + "type": "Scope" + }, + { + "id": "4d135e65-66b8-41a8-9f8b-081452c91774", + "type": "Scope" + }, + { + "id": "2eadaff8-0bce-4198-a6b9-2cfc35a30075", + "type": "Scope" + }, + { + "id": "0c3e411a-ce45-4cd1-8f30-f99a3efa7b11", + "type": "Scope" + }, + { + "id": "edb72de9-4252-4d03-a925-451deef99db7", + "type": "Scope" + }, + { + "id": "767156cb-16ae-4d10-8f8b-41b657c8c8c8", + "type": "Scope" + }, + { + "id": "7e823077-d88e-468f-a337-e18f1f0e6c7c", + "type": "Scope" + }, + { + "id": "edd3c878-b384-41fd-95ad-e7407dd775be", + "type": "Scope" + }, + { + "id": "40b534c3-9552-4550-901b-23879c90bcf9", + "type": "Scope" + }, + { + "id": "7825d5d6-6049-4ce7-bdf6-3b8d53f4bcd0", + "type": "Scope" + }, + { + "id": "2104a4db-3a2f-4ea0-9dba-143d457dc666", + "type": "Scope" + }, + { + "id": "eda39fa6-f8cf-4c3c-a909-432c683e4c9b", + "type": "Scope" + }, + { + "id": "55896846-df78-47a7-aa94-8d3d4442ca7f", + "type": "Scope" + }, + { + "id": "128ca929-1a19-45e6-a3b8-435ec44a36ba", + "type": "Scope" + }, + { + "id": "b27add92-efb2-4f16-84f5-8108ba77985c", + "type": "Scope" + }, + { + "id": "3404d2bf-2b13-457e-a330-c24615765193", + "type": "Scope" + }, + { + "id": "b955410e-7715-4a88-a940-dfd551018df3", + "type": "Scope" + }, + { + "id": "b27a61ec-b99c-4d6a-b126-c4375d08ae30", + "type": "Scope" + }, + { + "id": "84bccea3-f856-4a8a-967b-dbe0a3d53a64", + "type": "Scope" + }, + { + "id": "280b3b69-0437-44b1-bc20-3b2fca1ee3e9", + "type": "Scope" + }, + { + "id": "885f682f-a990-4bad-a642-36736a74b0c7", + "type": "Scope" + }, + { + "id": "4c06a06a-098a-4063-868e-5dfee3827264", + "type": "Scope" + }, + { + "id": "e67e6727-c080-415e-b521-e3f35d5248e9", + "type": "Scope" + }, + { + "id": "9e4862a5-b68f-479e-848a-4e07e25c9916", + "type": "Scope" + }, + { + "id": "bb6f654c-d7fd-4ae3-85c3-fc380934f515", + "type": "Scope" + }, + { + "id": "e0a7cdbb-08b0-4697-8264-0069786e9674", + "type": "Scope" + }, + { + "id": "818c620a-27a9-40bd-a6a5-d96f7d610b4b", + "type": "Scope" + }, + { + "id": "c5366453-9fb0-48a5-a156-24f0c49a4b84", + "type": "Scope" + } + ] + }, + { + "resourceAppId": "fa3d9a0c-3fb0-42cc-9193-47c7ecd2edbd", + "resourceAccess": [ + { + "id": "1cebfa2a-fb4d-419e-b5f9-839b4383e05a", + "type": "Scope" + } + ] + }, + { + "resourceAppId": "00000002-0000-0ff1-ce00-000000000000", + "resourceAccess": [ + { + "id": "dc50a0fb-09a3-484d-be87-e023b12c6440", + "type": "Role" + }, + { + "id": "ef54d2bf-783f-4e0f-bca1-3210c0444d99", + "type": "Role" + }, + { + "id": "f9156939-25cd-4ba8-abfe-7fabcf003749", + "type": "Role" + }, + { + "id": "ab4f2b77-0b06-4fc1-a9de-02113fc2ab7c", + "type": "Scope" + }, + { + "id": "bbd1ca91-75e0-4814-ad94-9c5dbbae3415", + "type": "Scope" + }, + { + "id": "2e83d72d-8895-4b66-9eea-abb43449ab8b", + "type": "Scope" + } + ] + }, + { + "resourceAppId": "00000003-0000-0ff1-ce00-000000000000", + "resourceAccess": [ + { + "id": "56680e0d-d2a3-4ae1-80d8-3c4f2100e3d0", + "type": "Scope" + } + ] + }, + { + "resourceAppId": "48ac35b8-9aa8-4d74-927d-1f4a14a0b239", + "resourceAccess": [ + { + "id": "e60370c1-e451-437e-aa6e-d76df38e5f15", + "type": "Scope" + } + ] + }, + { + "resourceAppId": "fc780465-2017-40d4-a0c5-307022471b92", + "resourceAccess": [ + { + "id": "41269fc5-d04d-4bfd-bce7-43a51cea049a", + "type": "Role" + }, + { + "id": "63a677ce-818c-4409-9d12-5c6d2e2a6bfe", + "type": "Scope" + } + ] + } + ] +} \ No newline at end of file diff --git a/Modules/CippExtensions/Public/Halo/Get-HaloToken.ps1 b/Modules/CippExtensions/Public/Halo/Get-HaloToken.ps1 index 5c407c02a5f0..4fad5d783977 100644 --- a/Modules/CippExtensions/Public/Halo/Get-HaloToken.ps1 +++ b/Modules/CippExtensions/Public/Halo/Get-HaloToken.ps1 @@ -9,7 +9,8 @@ function Get-HaloToken { $Secret = (Get-CIPPAzDataTableEntity @DevSecretsTable -Filter "PartitionKey eq 'HaloPSA' and RowKey eq 'HaloPSA'").APIKey } else { $null = Connect-AzAccount -Identity - $Secret = Get-AzKeyVaultSecret -VaultName $ENV:WEBSITE_DEPLOYMENT_ID -Name 'HaloPSA' -AsPlainText + $VaultName = ($ENV:WEBSITE_DEPLOYMENT_ID -split '-')[0] + $Secret = Get-AzKeyVaultSecret -VaultName $VaultName -Name 'HaloPSA' -AsPlainText } $body = @{ grant_type = 'client_credentials' @@ -24,4 +25,4 @@ function Get-HaloToken { } else { throw 'No Halo configuration' } -} \ No newline at end of file +} diff --git a/Modules/CippExtensions/Public/NinjaOne/Invoke-NinjaOneTenantSync.ps1 b/Modules/CippExtensions/Public/NinjaOne/Invoke-NinjaOneTenantSync.ps1 index 9a3b6949b056..03d1bed97445 100644 --- a/Modules/CippExtensions/Public/NinjaOne/Invoke-NinjaOneTenantSync.ps1 +++ b/Modules/CippExtensions/Public/NinjaOne/Invoke-NinjaOneTenantSync.ps1 @@ -1975,7 +1975,11 @@ function Invoke-NinjaOneTenantSync { } ) - $SecureScoreHTML = Get-NinjaInLineBarGraph -Title "Secure Score - $([System.Math]::Round((($CurrentSecureScore.currentScore / $MaxSecureScore) * 100),2))%" -Data $Data -KeyInLine -NoCount -NoSort + try { + $SecureScoreHTML = Get-NinjaInLineBarGraph -Title "Secure Score - $([System.Math]::Round((($CurrentSecureScore.currentScore / $MaxSecureScore) * 100),2))%" -Data $Data -KeyInLine -NoCount -NoSort + } catch { + $SecureScoreHTML = "No Secure Score Data Available" + } # Recommended Actions HTML $RecommendedActionsHTML = $Top5Actions | Select-Object 'Recommended Action', @{n = 'Score Impact'; e = { "+$($_.'Score Impact')%" } }, Category, @{n = 'Link'; e = { '' } } | ConvertTo-Html -As Table -Fragment diff --git a/Modules/CippExtensions/Public/PwPush/Set-PwPushConfig.ps1 b/Modules/CippExtensions/Public/PwPush/Set-PwPushConfig.ps1 index 1d4e8d03e6a0..82021abb0539 100644 --- a/Modules/CippExtensions/Public/PwPush/Set-PwPushConfig.ps1 +++ b/Modules/CippExtensions/Public/PwPush/Set-PwPushConfig.ps1 @@ -23,7 +23,8 @@ function Set-PwPushConfig { $ApiKey = (Get-CIPPAzDataTableEntity @DevSecretsTable -Filter "PartitionKey eq 'PWPush' and RowKey eq 'PWPush'").APIKey } else { $null = Connect-AzAccount -Identity - $ApiKey = Get-AzKeyVaultSecret -VaultName $ENV:WEBSITE_DEPLOYMENT_ID -Name 'PWPush' -AsPlainText + $VaultName = ($ENV:WEBSITE_DEPLOYMENT_ID -split '-')[0] + $ApiKey = Get-AzKeyVaultSecret -VaultName $VaultName -Name 'PWPush' -AsPlainText } if (![string]::IsNullOrEmpty($ApiKey)) { $InitParams.APIKey = $ApiKey diff --git a/Package.zip b/Package.zip index eec32937d667..d19ab5d49d84 100644 Binary files a/Package.zip and b/Package.zip differ