Непрерывное обеспечение соответствия приложений Microsoft 365 с помощью средства автоматизации соответствия приложений для Microsoft 365
Средство автоматизации соответствия приложений Microsoft 365 (ACAT) упрощает основные элементы управления для сертификации Microsoft 365. Сохраняйте непрерывное соответствие приложению Microsoft 365 с помощью ACAT. Следите за сбоями соответствия требованиям с помощью уведомлений и легко интегрируйте ACAT в конвейер непрерывной интеграции и непрерывного развертывания.
Примечание.
В настоящее время ACAT находится в общедоступной предварительной версии и поддерживает только приложения, созданные на основе Azure. Будущие обновления будут включать функции для приложений, созданных на основе размещенных облачных служб сторонних разработчиков. Чтобы получить отзыв о общедоступной предварительной версии ACAT, заполните эту форму. Специалист группы по продуктам ACAT будет следить за вами как можно скорее.
Получение последней оценки контроля отчета о соответствии с помощью уведомлений
После создания отчета о соответствии для приложения или среды Microsoft 365 ACAT автоматически собирает данные о соответствии и проводит ежедневные оценки контроля. Кроме того, вы можете получать уведомления о любых изменениях в параметрах отчета или оценках.
Получение уведомлений с помощью веб-перехватчика
Создайте веб-перехватчик для получения уведомлений из ACAT.
Перейдите в раздел Отчеты слева.
Откройте отчет, для который вы хотите получать уведомления.
Выберите Уведомления на панели инструментов.
Выберите Создать уведомление, а затем выберите Веб-перехватчик.
- Имя веб-перехватчика. Это уникальный идентификатор веб-перехватчика в этом отчете.
- URL-адрес полезных данных. URL-адрес полезных данных — это URL-адрес сервера, который получает запросы POST веб-перехватчика из ACAT.
- Тип контента: сейчас ACAT поддерживает только тип контента application/json, который предоставляет полезные данные JSON непосредственно в качестве текста запроса POST.
- Секрет. Установка секрета веб-перехватчика позволяет убедиться, что запросы POST, отправленные на URL-адрес полезных данных, отправляются из ACAT. Если секрет задан, ACAT использует его для создания хэш-сигнатуры с каждой полезной нагрузкой. Эта хэш-подпись включается в заголовки каждого запроса как x-acat-signature-256.
- Проверка SSL. Проверка SSL отображается только в том случае, если URL-адрес полезных данных является защищенным сайтом (HTTPS), и это помогает обеспечить безопасную доставку полезных данных в URL-адрес полезных данных. Рекомендуется оставить флажок Включить проверку SSL.
- События триггера. Подпишитесь на события ACAT для получения уведомлений.
Совет
Дополнительные сведения о полезных данных веб-перехватчика.
Получение быстрой оценки соответствия в конвейере непрерывной интеграции и непрерывного развертывания
Помимо регулярного использования портала и получения актуальных уведомлений, ACAT может быстро оценить соответствие в конвейере непрерывной интеграции и непрерывного развертывания (CI/CD). Обеспечение непрерывного соответствия приложению Microsoft 365.
В ACAT оценки контроля — это структурированные оценки соответствия требованиям, классифицированные в соответствии с доменами безопасности сертификации Microsoft 365, семействами элементов управления и отдельными элементами управления. Чтобы инициировать оценку управления в рамках ACAT, необходимо собрать необработанные данные соответствия требованиям. Однако некоторые из этих необработанных сведений о соответствии могут быть недоступны с технической точки зрения. Чтобы решить эту проблему, ACAT вводит концепцию, известную как "быстрая оценка соответствия требованиям". Эта функция предназначена для быстрой оценки состояния соответствия требованиям, что позволяет немедленно собирать необходимые необработанные данные о соответствии.
Реализация быстрой оценки соответствия служит двум целям:
- Своевременная аналитика: помогает в режиме реального времени понять состояние соответствия требованиям, обеспечивая видимость соблюдения приложением стандартов безопасности и рекомендаций.
- Простая интеграция. Быстрая оценка соответствия требованиям может легко интегрироваться в конвейер CI/CD, обеспечивая надежность приложений и соответствие требованиям к соответствию.
Интеграция с конвейером CI/CD с помощью GitHub Actions
Примечание.
Поддержка GitHub Actions ACAT доступна в предварительной версии и поддерживает только приложения, созданные на основе Microsoft Azure. Будущие обновления будут включать функции для приложений, созданных на основе других облаков.
Быстрые оценки соответствия доступны в конвейере CI/CD с помощью быстрой оценки сертификации Microsoft 365 GitHub Action. Это действие GitHub Action может использоваться двумя способами:
- Используйте последнее развертывание в конвейере CI/CD в качестве конечного состояния для приложения: ACAT проводит быструю оценку соответствия на основе последнего развертывания в конвейере. Кроме того, вы можете запросить ACAT обновить соответствующий отчет о соответствии на основе этого развертывания, предоставляя вам комплексные оценки контроля с ежедневными обновлениями.
- Положитесь на существующий отчет о соответствии в качестве справки для приложения. ACAT использует ресурсы, определенные в существующем отчете о соответствии, для быстрой оценки соответствия.
Интеграция с конвейером CI/CD через REST API ACAT
Получите быстрые оценки соответствия в конвейере CI/CD с помощью REST API ACAT.
Подключение к ресурсам Azure с помощью проверки подлинности субъекта-службы. Следуйте этому руководству , чтобы узнать, как создать субъект-службу, который может получать доступ к ресурсам. После создания субъекта-службы следуйте указаниям из средства конвейера, чтобы сохранить учетные данные. Например, подключитесь к Microsoft Azure с помощью подключения к службе ARM.
Получите список ресурсов, которые вы хотите использовать для быстрой оценки соответствия требованиям.
- Используйте последнее развертывание в конвейере CI/CD. Ознакомьтесь с Azure PowerShell Get-AzResourceGroupDeploymentOperation, чтобы получить ресурсы из развертывания.
$resourceGroupName $deploymentName $resourceIds = @() Get-AzResourceGroupDeploymentOperation ` -ResourceGroupName $resourceGroupName ` -Name $deploymentName ` | ForEach-Object { if (![String]::IsNullOrEmpty($_.TargetResource)) { $resourceIds += $_.TargetResource } }
- Чтобы получить ресурсы на основе политики управления облачными ресурсами (например, ресурсы с определенными тегами, ресурсами в определенных группах ресурсов и т. д.), ознакомьтесь с 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
- Чтобы использовать существующий отчет о соответствии ACAT, выберите Отчет REST API ACAT — Получить , чтобы получить ресурсы из определения отчета.
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: $_" }
Используйте API triggerEvaluation , чтобы быстро оценить соответствие заданным ресурсам.
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: $_"
}
- Получите быструю оценку соответствия на основе результата API triggerEvaluation.
Справочные материалы
Полезные данные веб-перехватчика
Для полезных данных веб-перехватчика ACAT для каждого события они содержат некоторые общие свойства.
Key
Обязательный?
Тип
Описание
EventDesc
Да
String
Конкретное событие, которое активирует уведомление.
Сообщение
Да
String
Содержимое уведомления. Обычно он содержит имя отчета в качестве уникального идентификатора и метку времени при возникновении этого события.
Сведения
Нет
String
Это содержимое в формате JSON, содержащее сведения об этом уведомлении. Если взять в качестве примера сбой оценки элементов управления, в качестве примера можно включить все невыполненые обязанности клиента за каждый элемент управления и затронутые ресурсы.
Вычисление триггера REST API ACAT
Имя API: triggerEvaluation
- Служба: автоматизация соответствия приложений
- Версия API: 2023-02-15-preview
Получите быструю оценку соответствия для заданных ресурсов.
POST https://management.azure.com/providers/Microsoft.AppComplianceAutomation/triggerEvaluation?api-version=2023-02-15-preview
Параметры URI
Имя
Куда включается
Обязательный
Тип
Описание
версия api
Запрос
True
string
Версия API, используемая для этой операции. Можно использовать "2023-02-15-preview"
Заголовок запроса
Имя
Куда включается
Обязательный
Тип
Описание
Авторизация
head
True
string
Bearer + " " + Маркер доступа
x-ms-aad-user-token
head
True
string
Bearer + " " + Маркер доступа
Content-Type
head
True
string
value: "application/json"
Текст запроса
Имя
Обязательный
Тип
Описание
resourceIds
Верно
массив строк
Список идентификаторов ресурсов для оценки
Заголовок "Ответы"
Имя
Тип
Описание
200 OK
Ответ указывает, что быстрая оценка соответствия для заданных идентификаторов ресурсов завершена.
202 Принято
Ответ указывает, что быстрая оценка соответствия для заданных идентификаторов ресурсов активируется и выполняется в серверной части.
Другие коды состояния
ErrorResponse
Ответ на ошибку.
TriggerEvaluationResponse
Имя
Тип
Описание
triggerTime
string
Время активации оценки.
evaluationEndTime
string
Время окончания оценки.
resourceIds
строка[]
Список идентификаторов ресурсов для оценки
quickAssessments
Список быстрых оценок
QuickAssessment
Имя
Тип
Описание
resourceId
string
ИД ресурса
идентификатор ответственности
string
Идентификатор ответственности
метка времени
string
Метка времени создания ресурса (UTC).
resourceStatus
ResourceStatus
Состояние быстрой оценки.
displayName
string
Отображаемое имя быстрой оценки.
description
string
Описание быстрых оценок.
remediationLink
string
Ссылка на действия по исправлению для этой быстрой оценки.