Mantenere l'applicazione Microsoft 365 conforme in modo continuo allo strumento di automazione della conformità delle app per Microsoft 365
Microsoft 365 App Compliance Automation Tool (ACAT) semplifica i controlli essenziali per la certificazione Microsoft 365. Mantenere la conformità continua per l'applicazione Microsoft 365 usando ACAT. Rimanere aggiornati sugli errori di conformità tramite le notifiche e integrare facilmente ACAT nella pipeline di integrazione continua/distribuzione continua.
Nota
ACAT è attualmente disponibile in anteprima pubblica e supporta solo le applicazioni basate su Azure. Gli aggiornamenti futuri includeranno funzionalità per le app basate su servizi cloud non ospitati da Microsoft. Per eventuali commenti e suggerimenti sull'anteprima pubblica di ACAT, compilare questo modulo. Uno specialista del team di prodotti ACAT ti seguirà il prima possibile.
Ottenere la valutazione di controllo più recente del report di conformità tramite notifiche
Dopo aver creato un report di conformità per l'applicazione o l'ambiente Microsoft 365, ACAT raccoglie automaticamente i dati di conformità ed esegue valutazioni di controllo giornaliere. Inoltre, è possibile ricevere notifiche per eventuali modifiche nelle impostazioni o nelle valutazioni del report.
Ottenere notifiche con il webhook
Creare un webhook per ricevere notifiche da ACAT.
Passare a Report a sinistra.
Aprire il report per cui si desidera ricevere le notifiche.
Selezionare Notifiche dalla barra degli strumenti.
Selezionare Crea notifica e quindi scegliere Webhook
- Nome webhook: identificatore univoco del webhook all'interno del report.
- URL payload: l'URL del payload è l'URL del server che riceve le richieste POST del webhook da ACAT.
- Tipo di contenuto: ACAT attualmente supporta solo il tipo di contenuto application/json, che fornisce il payload JSON direttamente come corpo della richiesta POST.
- Segreto: l'impostazione di un segreto webhook consente di assicurarsi che le richieste POST inviate all'URL del payload provenga da ACAT. Quando il segreto è impostato, ACAT lo usa per creare una firma hash con ogni payload. Questa firma hash è inclusa nelle intestazioni di ogni richiesta come x-acat-signature-256.
- Verifica SSL: la verifica SSL viene visualizzata solo quando l'URL del payload è un sito sicuro (HTTPS) e consente di garantire che i payload vengano recapitati all'URL del payload in modo sicuro. È consigliabile mantenere selezionata l'opzione Abilita verifica SSL.
- Eventi di attivazione: sottoscrivere eventi ACAT per ottenere notifiche.
Consiglio
Altre informazioni sul payload del webhook.
Ottenere una valutazione rapida della conformità nella pipeline di integrazione continua/distribuzione continua
Oltre all'utilizzo normale del portale e alla ricezione di notifiche aggiornate, ACAT può eseguire una rapida valutazione della conformità all'interno della pipeline di integrazione continua/distribuzione continua (CI/CD). Garantire la conformità continua dell'applicazione Microsoft 365.
In ACAT, le valutazioni di controllo sono valutazioni di conformità strutturate categorizzate in base ai domini di sicurezza della certificazione Microsoft 365, alle famiglie di controlli e ai singoli controlli. Per avviare le valutazioni di controllo all'interno dei dati di conformità non elaborati di ACAT, è necessario raccogliere. Tuttavia, alcune di queste informazioni non elaborate sulla conformità potrebbero non essere facilmente accessibili dal punto di vista tecnico. Per affrontare questa sfida, ACAT introduce un concetto noto come "valutazione rapida della conformità". Questa funzionalità è progettata per fornire una rapida valutazione dello stato di conformità, consentendo la raccolta immediata di dati di conformità non elaborati essenziali.
L'implementazione di una valutazione rapida della conformità ha due scopi:
- Informazioni dettagliate tempestive: semplifica la comprensione in tempo reale del comportamento di conformità, offrendo visibilità sulla conformità di un'applicazione agli standard di sicurezza e alle procedure consigliate.
- Integrazione senza problemi: una rapida valutazione della conformità può integrarsi facilmente nella pipeline CI/CD, garantendo che le applicazioni rimangano solide e allineate ai requisiti di conformità.
Integrazione con la pipeline CI/CD di GitHub Actions
Nota
Il supporto di ACAT GitHub Actions è in anteprima e supporta solo le app basate su Microsoft Azure. Gli aggiornamenti futuri includeranno funzionalità per le app basate su altri cloud.
Le valutazioni rapide della conformità sono disponibili nella pipeline CI/CD usando la valutazione rapida della certificazione Microsoft 365 GitHub Action. Sono disponibili due possibili usi per questa azione GitHub:
- Usare la distribuzione più recente nella pipeline CI/CD come stato definitivo per l'applicazione: ACAT esegue valutazioni di conformità rapide in base alla distribuzione più recente all'interno della pipeline. Inoltre, è possibile richiedere ad ACAT di aggiornare un report di conformità corrispondente in base a questa distribuzione, concedendo valutazioni di controllo complete con aggiornamenti giornalieri.
- Fare affidamento su un report di conformità esistente come riferimento per l'applicazione. ACAT usa le risorse definite in un report di conformità esistente per eseguire la valutazione rapida della conformità.
Integrazione con la pipeline CI/CD tramite l'API REST ACAT
Ottenere valutazioni rapide della conformità nella pipeline CI/CD tramite l'API REST ACAT.
Connettersi alle risorse di Azure con l'autenticazione dell'entità servizio. Seguire questa guida per informazioni su come creare un'entità servizio in grado di accedere alle risorse. Dopo aver creato l'entità servizio, seguire le indicazioni dello strumento della pipeline per archiviare le credenziali. Ad esempio, connettersi a Microsoft Azure con una connessione al servizio ARM.
Ottenere l'elenco delle risorse che si vuole usare per la valutazione rapida della conformità.
- Usare la distribuzione più recente nella pipeline CI/CD. Esaminare Azure PowerShell - Get-AzResourceGroupDeploymentOperation per ottenere risorse dalla distribuzione.
$resourceGroupName $deploymentName $resourceIds = @() Get-AzResourceGroupDeploymentOperation ` -ResourceGroupName $resourceGroupName ` -Name $deploymentName ` | ForEach-Object { if (![String]::IsNullOrEmpty($_.TargetResource)) { $resourceIds += $_.TargetResource } }
- Per acquisire risorse in base ai criteri di gestione delle risorse cloud, ad esempio risorse con tag specifici, risorse in gruppi di risorse specifici e così via, esaminare il Azure PowerShell - Get-AzResource.
# Get resources with same tag $key = "<key-of-your-tag>" $value = "<value-of-your-tag>" $resourceIds = (Get-AzResource -TagName $key -TagValue $value).ResourceId
- Per usare un report di conformità ACAT esistente, selezionare Report API REST ACAT - Ottenere le risorse dalla definizione del report.
try { $token = "<your-Azure-credentials>" $reportName = "<report-name>" $apiVersion = "2023-02-15-preview" $header = @{} $header["Authorization"] = $token $header["x-ms-aad-user-token"] = $token $header["accept"] = "application/json" $uri = "https://management.azure.com/providers/Microsoft.AppComplianceAutomation/reports/" + $reportName + "?api-version=" + $apiVersion $response = Invoke-WebRequest $uri ` -Method GET ` -Headers $header ` -ContentType "application/json" ` -Verbose ` -UseBasicParsing $resourceIds = @() if ($response.StatusCode -ne 200) { Write-Host "Failed to get resources from compliance report: $response" return } $resources = $response.Content | ConvertFrom-Json $resourceIds = $resources.properties.resources.resourceId } catch { Write-Output "Failed to get resources from compliance report with exception: $_" }
Usare l'API triggerEvaluation per ottenere una rapida valutazione della conformità per le risorse fornite.
try {
$token = "<your-Azure-credentials>"
$resourceIds = "<resource-ids-from-previous-step>"
$apiVersion = "2023-02-15-preview"
$header = @{}
$header["Authorization"] = $token
$header["x-ms-aad-user-token"] = $token
$header["accept"] = "application/json"
$body = @{resourceIds = $resourceIds }
$uri = "https://management.azure.com/providers/Microsoft.AppComplianceAutomation/triggerEvaluation?api-version=$apiVersion"
$response = Invoke-WebRequest $uri `
-Method POST `
-Headers $header `
-ContentType "application/json" `
-Body (ConvertTo-Json $body -Depth 8) `
-Verbose `
-UseBasicParsing
# The triggerEvaluation API is asynchronous. Therefore, you need to pull the status to check whether it is completed.
# StatusCode 200: OK. The response indicates the quick compliance evaluation for given resource ids is completed.
# StatusCode 202: Accepted. The response indicates the quick compliance evaluation for given resource ids is triggered and performing in backend.
if ($response.StatusCode -eq 200) {
$result = $response.Content | ConvertFrom-Json
Write-Host "Successfully get evaluation result:$result"
return $result
}
elseif ($response.StatusCode -eq 202) {
$retry_url = $response.Headers["Location"]
do {
Start-Sleep 10
Write-Host "retry_url: $retry_url"
$opResponse = Invoke-WebRequest `
-Uri $retry_url `
-ContentType "application/json" `
-Verbose `
-Method GET `
-Headers $header `
-UseBasicParsing
if ($opResponse.StatusCode -eq 200) {
$opResult = $opResponse.Content | ConvertFrom-Json
Write-Host "Successfully get evaluation result: $opResult"
return $opResult
}
elseif ($opResponse.StatusCode -eq 202) {
continue
}
else {
Write-Host "Failed to get evaluation result"
break
}
} while ($true)
}
else {
Write-Host "Failed to get compliance evaluation with triggerEvaluation API: $response"
}
}
catch {
Write-Output "Failed to get quick compliance assessment with exception: $_"
}
- Ottenere la valutazione rapida della conformità dal risultato dell'API triggerEvaluation.
Riferimento
Payload webhook
Per i payload del webhook ACAT per ogni evento, contengono alcune proprietà comuni.
Chiave
Obbligatorio?
Tipo
Descrizione
EventDesc
Sì
Stringa
Evento specifico che attiva la notifica.
Messaggio
Sì
Stringa
Contenuto della notifica. In genere contiene il nome del report come identificatore univoco e il timestamp quando si verifica questo evento.
Dettagli
No
Stringa
Si tratta di contenuto in formato JSON che contiene i dettagli di questa notifica. Prendendo come esempio l'errore di valutazione del controllo, i dettagli includono tutte le responsabilità dei clienti non riuscite per ogni controllo e le risorse interessate.
Trigger api REST ACATValutazione
Nome API: triggerEvaluation
- Servizio: Automazione della conformità delle app
- Versione API: 2023-02-15-preview
Ottenere una valutazione rapida della conformità per determinate risorse.
POST https://management.azure.com/providers/Microsoft.AppComplianceAutomation/triggerEvaluation?api-version=2023-02-15-preview
Parametri URI
Nome
In
Obbligatorio
Tipo
Descrizione
api-version
query
True
stringa
Versione dell'API da usare per questa operazione. È possibile usare "2023-02-15-preview"
Intestazione richiesta
Nome
In
Obbligatorio
Tipo
Descrizione
Autorizzazione
testa
True
stringa
Bearer + " " + Token di accesso
x-ms-aad-user-token
testa
True
stringa
Bearer + " " + Token di accesso
Content-Type
testa
True
stringa
value: "application/json"
Corpo della richiesta
Nome
Obbligatorio
Tipo
Descrizione
resourceIds
Vero
matrice di stringhe
Elenco di ID risorsa da valutare
Intestazione risposte
Nome
Tipo
Descrizione
200 OK
La risposta indica che la valutazione rapida della conformità per determinati ID risorsa è stata completata.
202 Accettato
La risposta indica che la valutazione rapida della conformità per determinati ID risorsa viene attivata ed eseguita nel back-end.
Altri codici di stato
ErrorResponse
Risposta di errore.
TriggerEvaluationResponse
Nome
Tipo
Descrizione
triggerTime
stringa
Ora di attivazione della valutazione.
evaluationEndTime
stringa
Ora di fine della valutazione.
resourceIds
string[]
Elenco di ID risorsa da valutare
quickAssessments
Elenco delle valutazioni rapide
QuickAssessment
Nome
Tipo
Descrizione
ID risorsa
stringa
ID risorsa
responsibilityId
stringa
ID responsabilità
Timestamp
stringa
Timestamp della creazione di risorse (UTC).
resourceStatus
ResourceStatus
Stato della valutazione rapida.
displayName
stringa
Nome visualizzato della valutazione rapida.
descrizione
stringa
Descrizione delle valutazioni rapide.
remediationLink
stringa
Collegamento alla procedura di correzione per questa valutazione rapida.