Manter o microsoft 365 compatível continuamente com a Ferramenta de Automação de Conformidade de Aplicativo para o Microsoft 365
A ACAT (Ferramenta de Automação de Conformidade de Aplicativo) do Microsoft 365 simplifica os controles essenciais para a Certificação microsoft 365. Mantenha a conformidade contínua para seu aplicativo Microsoft 365 usando a ACAT. Mantenha-se atualizado sobre falhas de conformidade por meio de notificações e integre perfeitamente o ACAT ao pipeline de Integração Contínua/Implantação Contínua.
Observação
O ACAT está atualmente em versão prévia pública e dá suporte apenas a aplicativos criados no Azure. As atualizações futuras incluirão funcionalidade para aplicativos criados em serviços de nuvem não hospedados pela Microsoft. Para obter qualquer comentário sobre a visualização pública da ACAT, conclua este formulário. Um especialista em equipe de produtos da ACAT acompanhará você o mais rápido possível.
Obter a avaliação de controle mais recente do seu relatório de conformidade por meio de notificações
Depois de criar um relatório de conformidade para seu aplicativo ou ambiente do Microsoft 365, o ACAT coleta automaticamente dados de conformidade e realiza avaliações diárias de controle. Além disso, você pode receber notificações para quaisquer alterações nas configurações ou avaliações do relatório.
Obter notificações com webhook
Crie um webhook para receber notificações da ACAT.
Vá para Relatórios à esquerda.
Abra o relatório para o qual você gostaria de receber notificações.
Selecione Notificações na barra de ferramentas.
Selecione Criar notificação e escolha Webhook
- Nome do Webhook: este é o identificador exclusivo do webhook neste relatório.
- URL de carga: a URL de carga é a URL do servidor que recebe solicitações POST do webhook da ACAT.
- Tipo de conteúdo: atualmente, o ACAT dá suporte apenas ao tipo de conteúdo de aplicativo/json, que fornece a carga JSON diretamente como o corpo da solicitação POST.
- Segredo: a configuração de um segredo webhook permite garantir que as solicitações POST enviadas para a URL de carga sejam da ACAT. Quando o segredo é definido, o ACAT o usa para criar uma assinatura de hash com cada carga. Essa assinatura de hash é incluída com os cabeçalhos de cada solicitação como x-acat-signature-256.
- Verificação SSL: a verificação SSL só seria exibida quando sua URL de carga for um site seguro (HTTPS) e ajuda a garantir que as cargas sejam entregues na URL de carga com segurança. Recomendamos manter a verificação Habilitar SSL selecionada.
- Eventos de gatilho: assine eventos ACAT para obter notificações.
Dica
Saiba mais sobre o conteúdo do webhook.
Obter avaliação rápida de conformidade no pipeline de Integração Contínua/Implantação Contínua
Além do uso regular do portal e do recebimento de notificações atualizadas, o ACAT pode executar uma avaliação rápida de conformidade no pipeline de CI/CD (Integração Contínua/Implantação Contínua). Garantindo a conformidade contínua do seu aplicativo Microsoft 365.
No ACAT, as avaliações de controle são avaliações de conformidade estruturadas categorizadas de acordo com domínios de segurança de certificação do Microsoft 365, famílias de controle e controles individuais. Para iniciar uma avaliação de controle dentro dos dados brutos de conformidade da ACAT, é necessário coletar. No entanto, algumas dessas informações brutas de conformidade podem não estar prontamente acessíveis de uma perspectiva técnica. Para enfrentar esse desafio, a ACAT apresenta um conceito conhecido como "avaliação rápida de conformidade". Esse recurso foi projetado para fornecer uma avaliação rápida do status de conformidade, permitindo a coleta imediata de dados de conformidade brutos essenciais.
A implementação da avaliação rápida de conformidade serve a duas finalidades:
- Insights oportunos: facilita a compreensão em tempo real de sua postura de conformidade, dando visabilidade à adesão de um aplicativo aos padrões de segurança e às práticas recomendadas.
- Integração contínua: a avaliação rápida de conformidade pode integrar-se perfeitamente ao pipeline de CI/CD, garantindo que seus aplicativos permaneçam robustos e alinhados aos requisitos de conformidade.
Integração com pipeline de CI/CD por GitHub Actions
Avaliações rápidas de conformidade estão disponíveis no pipeline de CI/CD usando a avaliação rápida de certificação do Microsoft 365 GitHub Action. Há dois usos postáveis para este GitHub Action:
- Aproveite a implantação mais recente no pipeline de CI/CD como o estado definitivo do aplicativo: o ACAT realiza avaliações rápidas de conformidade com base na implantação mais recente no pipeline. Além disso, você tem a opção de solicitar a ACAT para atualizar um relatório de conformidade correspondente com base nessa implantação, concedendo a você avaliações de controle abrangentes com atualizações diárias.
- Confie em um relatório de conformidade existente como referência para o aplicativo.** A ACAT utiliza os recursos definidos em um relatório de conformidade existente para executar a avaliação rápida de conformidade.
Integração com pipeline de CI/CD por meio da API REST da ACAT
Obtenha avaliações rápidas de conformidade no pipeline de CI/CD por meio da API REST da ACAT.
Conecte-se aos recursos do Azure com a Autenticação da Entidade de Serviço. Siga este guia para saber como criar uma entidade de serviço que possa acessar recursos. Depois que a entidade de serviço for criada, siga as diretrizes da ferramenta de pipeline para armazenar as credenciais. Por exemplo, conecte-se ao Microsoft Azure com uma conexão de serviço ARM.
Obtenha a lista de recursos que você gostaria de usar para a avaliação rápida de conformidade.
- Use a implantação mais recente no pipeline de CI/CD. Examine Azure PowerShell – Get-AzResourceGroupDeploymentOperation para obter recursos da implantação.
$resourceGroupName $deploymentName $resourceIds = @() Get-AzResourceGroupDeploymentOperation ` -ResourceGroupName $resourceGroupName ` -Name $deploymentName ` | ForEach-Object { if (![String]::IsNullOrEmpty($_.TargetResource)) { $resourceIds += $_.TargetResource } }
- Para adquirir recursos com base na política de gerenciamento de recursos de nuvem (por exemplo, recursos com marcas específicas, recursos em grupos de recursos específicos etc.), examine o 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
- Para usar um relatório de conformidade existente da ACAT, clique em Relatório de API REST da ACAT – Obter os recursos da definição do relatório.
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: $_" }
Use a API triggerEvaluation para obter uma avaliação rápida de conformidade para os recursos determinados.
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: $_"
}
- Obtenha a avaliação rápida de conformidade do resultado da API triggerEvaluation.
Referência
Cargas do Webhook
Para as cargas de webhook do ACAT para cada evento, elas contêm algumas propriedades comuns.
Chave
Obrigatório?
Tipo
Descrição
EventDesc
Sim
Cadeia de caracteres
Evento específico que dispara a notificação.
Mensagem
Sim
String
O conteúdo da notificação. Ele geralmente contém o nome do relatório como o identificador exclusivo e o carimbo de data/hora quando esse evento acontece.
Detalhes
Não
Cadeia de caracteres
Este é o conteúdo de formato JSON que contém os detalhes desta notificação. Tomando a falha das avaliações de controle como exemplo, os detalhes incluem todas as responsabilidades do cliente com falha para cada controle e recursos afetados.
Gatilho da API REST da ACATEvaluation
Nome da API: triggerEvaluation
- Serviço: Automação de Conformidade de Aplicativo
- Versão da API: 2023-02-15-preview
Obtenha uma avaliação rápida de conformidade para determinados recursos.
POST https://management.azure.com/providers/Microsoft.AppComplianceAutomation/triggerEvaluation?api-version=2023-02-15-preview
Parâmetros de URI
Nome
Em
Obrigatório
Tipo
Descrição
api-version
consulta
True
string
A versão da API a ser usada para essa operação. Você pode usar "2023-02-15-preview"
Cabeçalho de Solicitação
Nome
Em
Obrigatório
Tipo
Descrição
Authorization
head
True
string
Portador + " " + Token de Acesso
x-ms-aad-user-token
head
True
string
Portador + " " + Token de Acesso
Content-Type
head
True
string
valor: "application/json"
Corpo da Solicitação
Nome
Obrigatório
Tipo
Descrição
resourceIds
Verdadeiro
matriz de cadeia de caracteres
Lista de IDs de recursos a serem avaliadas
Cabeçalho de respostas
Nome
Tipo
Descrição
200 OK
A resposta indica que a avaliação rápida de conformidade para determinadas IDs de recurso está concluída.
202 Aceito
A resposta indica que a avaliação rápida de conformidade para determinadas IDs de recurso é disparada e executada no back-end.
Outros códigos de status
Errorresponse
Resposta de erro.
TriggerEvaluationResponse
Nome
Tipo
Descrição
triggerTime
cadeia de caracteres
A hora em que a avaliação é disparada.
evaluationEndTime
cadeia de caracteres
A hora em que a avaliação é encerrada.
resourceIds
string[]
Lista de IDs de recursos a serem avaliadas
QuickAssessments
Lista de avaliações rápidas
QuickAssessment
Nome
Tipo
Descrição
resourceId
cadeia de caracteres
ID do recurso
responsibilityId
cadeia de caracteres
ID de responsabilidade
Timestamp
string
O carimbo de data/hora da criação de recursos (UTC).
resourceStatus
ResourceStatus
Avaliação rápida status.
displayName
string
Nome de exibição de avaliação rápida.
description
string
Descrição de avaliações rápidas.
remediationLink
cadeia de caracteres
Vincule-se às etapas de correção para esta avaliação rápida.