Невозможно зашифровать почтовые сообщения через MS Graph API - PullRequest
0 голосов
/ 28 февраля 2020

Я хочу добавить шифрование или параметр «не пересылать» к почтовому сообщению, как в Outlook, к почтовым сообщениям с помощью модуля API Graph для отправки почты. Это для краткосрочной поэтапной миграции, когда нам необходимо распространять конфиденциальную информацию конкретным получателям. По сути, я ищу способ реализации одного из описанных здесь способов шифрования электронной почты .

. Я настроил регистрацию приложения с разрешениями API уровня приложения для mail.send. Я работаю в PowerShell, используя хеш-таблицы для параметров body / MIME и преобразовываю в JSON. Я также использую Invoke-Restmethod для вызова API. Я просмотрел все поддерживаемые параметры в модуле MS Graph сообщений, и они не предоставляют решения для его добавления.

По сути, я пытаюсь добавить сквозные решения для шифрования, которые доступны в Outlook, в качестве параметров тела (поскольку я не знаю, возможно ли это любым другим способом). Я попытался добавить расширенные свойства, но не могу найти правильные атрибуты для включения. Есть ли другой API-модуль, который может добавить эту функцию?

$message = @{
    "message" = @{
        "subject"= "Confidential Information: $($adUser.userprincipalname)"
        "body" = @{
            "contentType"= "html"
            "content"= "
                <p>Listed below is the confidential information.</p>
                <table>
                    <tr>
                        <td>UserPrincipalName: </td>
                        <td>$($adUser.UserPrincipalName)</td>
                    </tr>
                    <tr>
                        <td>Confidential Information</td>
                        <td>$($Confidential)</td>
                    </tr>
                </table>
            "
        }
        "toRecipients"= @(
            $formatRecipients
        )
    }
}
$jsonMessage = $message | ConvertTo-Json -Depth 10

$mailuri = "https://graph.microsoft.com/v1.0/users/automated.mail@company.com/sendMail"

# send mail with MS Graph send.mail permissions
$mailSend = Invoke-RestMethod -Uri $mailuri -Headers $headerParams -Method Post -Body $jsonMessage -ContentType application/json

В этом примере отправляется почта указанным получателям, которые передаются в сценарий, но для отправки почты используются только почтовые протоколы по умолчанию в Exchange для отправки почты. сообщения пользователям. Я хотел бы установить его так, чтобы сообщения не могли быть пересланы или прочитаны при перехвате.

1 Ответ

0 голосов
/ 28 февраля 2020

Что касается этого ...

'Я хотел бы установить его так, чтобы сообщения не могли быть пересланы или прочитаны при перехвате.'

... it Ясно, почему существуют правила шифрования Exchange RMS и O365, параметры политики и MIP (также известный как AIP). Вы не можете применять такие политики на клиенте Outlook, которые не сбрасываются службой Exchange server / O365. Именно там происходит исполнение. Это называется DLP, конечно. Таким образом, контроль данных в состоянии покоя, данных в использовании и данных в пути. Вы защищаете канал или данные, или и то и другое.

Защита информации и унифицированная маркировка Microsoft

Элементы управления соответствием Office 365: предотвращение потери данных

Объединение предотвращения потери данных в Office 365

Ничто в собственно Outlook не выполняет шифрование потока почты, основанное на отправителе / ​​получателе / ​​контенте, Exchange / O365 правильные настройки / правила / поток делает. Вся почта из Outlook и go через Exchange Send-Connector и контролируется почтовым потоком / правилами транспорта.

Это не проблема или фокус PowerShell. Вы устанавливаете параметры шифрования в Exchange / O365 правильно, используя Exchange / O365 EM C, консоль администратора или командлеты Exchange. Это правила / настройки транспортного / почтового потока, основанные на проверке почты Exchange / O365.

Это для O365, но те же элементы применимы к локальному развертыванию Exchange или гибридному развертыванию O365.

Определение правил потока почты для шифрования сообщений электронной почты в Office 365

Нельзя шифровать входящую почту от отправителей за пределами вашей организации.

New-TransportRule -Name "Encrypt rule for Dr Toni Ramos" -SentTo "DrToniRamos@hotmail.com" -SentToScope "NotinOrganization" -ApplyOME $true

Другими подходами к случаям использования шифрования почты были такие элементы ...

Как подписать и зашифровать сообщение с помощью S / MIME в PowerShell

...