Руководство по Администратор. Использование PowerShell с классическим клиентом Azure Information Protection

При установке классического клиента Azure Information Protection автоматически устанавливаются команды PowerShell. Это позволяет управлять клиентом путем выполнения команд, которые можно поместить в скрипты для автоматизации.

Командлеты устанавливаются с помощью модуля PowerShell AzureInformationProtection. Этот модуль содержит все командлеты Rights Management из средства защиты RMS (больше не поддерживается). Существуют также командлеты, в которых служба Azure Information Protection используется для работы с метками. Пример:

Командлет для работы с метками Пример использования
Get-AIPFileStatus Идентифицирует все файлы с определенной меткой в общей папке.
Set-AIPFileClassification В соответствии с указанными условиями проверяет содержимое файлов и автоматически ставит метку для не помеченных файлов в общей папке.
Set-AIPFileLabel Применяет определенную метку ко всем не помеченным файлам в общей папке.
Set-AIPAuthentication Применяет метку в неинтерактивном режиме, например с помощью скрипта, выполняемого по расписанию.

Совет

Чтобы использовать командлеты с длиной пути, превышающей 260 символов, примените следующий параметр групповой политики, доступный, начиная с Windows 10 версии 1607:
Политика >локального компьютераКонфигурация> компьютераАдминистративные шаблоны>Все параметры>Включение длинных путей Win32

Для Windows Server 2016 можно использовать тот же параметр групповой политики, что и при установке последних административных шаблонов (ADMX) для Windows 10.

Дополнительные сведения см. в разделе об ограничении максимальной длины пути в документации разработчика Windows 10.

Средство проверки Azure Information Protection использует командлеты из модуля AzureInformationProtection для установки и настройки службы в Windows Server. После этого средство проверки позволяет обнаруживать, классифицировать и защищать файлы в хранилищах данных.

Список всех командлетов и соответствующие справочные сведения см. в статье, посвященной модулю AzureInformationProtection. В сеансе PowerShell введите Get-Help <cmdlet name> -online, чтобы получить самые актуальные справочные сведения.

Этот модуль устанавливается в расположение \ProgramFiles (x86)\Microsoft Azure Information Protection и добавляет эту папку в системную переменную PSModulePath. DLL-файл для этого модуля называется AIP.dll.

При установке модуля для одного пользователя и запуске командлетов на том же компьютере от имени другого пользователя необходимо сначала выполнить команду Import-Module AzureInformationProtection. В этом случае при первом выполнении командлета автозагрузка модуля не выполняется.

Прежде чем начать использовать эти командлеты, ознакомьтесь с дополнительными требованиями и инструкциями в соответствии с типом развертывания.

  • Azure Information Protection и служба Azure Rights Management

    • Применимо, если используется только классификация или классификация с защитой Rights Management. У вас должна быть подписка, которая включает в себя Azure Information Protection (например, Enterprise Mobility + Security).
    • Применимо, если используется только защита с помощью службы Azure Rights Management. У вас должна быть подписка, которая включает в себя службу Azure Rights Management (например, Office 365 E3 или Office 365 E5).
  • Службы управления правами Active Directory (AD RMS)

    • Применимо, если используется только защита с локальной версией Azure Rights Management или службами Active Directory Rights Management Services (AD RMS).

Дополнительные сведения см. в соответствующей коллекции известных проблем Azure Information Protection.

Azure Information Protection и служба Azure Rights Management

Ознакомьтесь с этим разделом, прежде чем использовать команды PowerShell, если ваша организация использует Azure Information Protection для классификации и защиты или только службу Azure Rights Management для защиты данных.

Предварительные требования

Ниже перечислены необходимые компоненты как для установки модуля AzureInformationProtection, так и для применения меток Azure Information Protection и службы защиты данных Azure Rights Management.

  1. Необходимо активировать службу Azure Rights Management.

  2. Чтобы снять защиту с файлов для других пользователей с помощью своей учетной записи:

    • Необходимо включить функцию суперпользователя для вашей организации, а учетная запись должна иметь права суперпользователя для Azure Rights Management.
  3. Чтобы напрямую снять или установить защиту файлов без участия пользователя

    • Необходимо создать учетную запись субъекта-службы и выполнить командлет Set-RMSServerAuthentication. Также рекомендуется сделать субъект-службу суперпользователем Azure Rights Management.
  4. Для регионов за пределами Северной Америки:

    • Необходимо изменить реестр для обнаружения службы.

Необходимое условие 1. Активация службы Azure Rights Management

Это условие необходимо выполнить независимо от применяемого способа защиты данных: с помощью меток или непосредственного подключения к службе Azure Rights Management.

Если клиент azure Information Protection не активирован, см. инструкции по активации службы защиты из Azure Information Protection.

Необходимое условие 2. Снятие защиты с файлов для других пользователей с помощью своей учетной записи

Типичные сценарии снятия защиты с файлов для других пользователей включают в себя обнаружение и восстановление данных. Если для защиты используются метки, можно удалить защиту, установив новую метку, которая не применяет защиту, или удалив существующую. Но, скорее всего, для снятия защиты вы будете подключаться непосредственно к службе Azure Rights Management.

Для снятия защиты с файлов необходимо иметь право на использование Rights Management либо быть суперпользователем. Для обнаружения или восстановления данных обычно используется функция суперпользователя. Чтобы включить эту функцию и настроить учетную запись суперпользователя, см. сведения в статье Настройка суперпользователей для Azure Rights Management, служб обнаружения и восстановления данных.

Необходимое условие 3. Установка или снятие защиты с файлов без участия пользователя

Можно подключаться непосредственно к службе Azure Rights Management в неинтерактивном режиме, чтобы установить или снять защиту с файлов.

Необходимо использовать учетную запись субъекта-службы для подключения к службе Azure Rights Management в неинтерактивном режиме с помощью командлета Set-RMSServerAuthentication. Это нужно сделать для каждого сеанса Windows PowerShell, в рамках которого выполняются командлеты, напрямую подключающиеся к службе Azure Rights Management. Прежде чем запустить этот командлет, убедитесь, что у вас есть следующие три идентификатора.

  • BposTenantId

  • AppPrincipalId

  • Симметричный ключ

Чтобы автоматически получить значения для идентификаторов и запустить командлет Set-RMSServerAuthentication, можно использовать следующие команды PowerShell и закомментированные инструкции. Или можно получить и задать значения вручную.

Автоматическое получение значений и выполнение командлета Set-RMSServerAuthentication

# Make sure that you have the AIPService and MSOnline modules installed

$ServicePrincipalName="<new service principal name>"
Connect-AipService
$bposTenantID=(Get-AipServiceConfiguration).BPOSId
Disconnect-AipService
Connect-MsolService
New-MsolServicePrincipal -DisplayName $ServicePrincipalName

# Copy the value of the generated symmetric key

$symmetricKey="<value from the display of the New-MsolServicePrincipal command>"
$appPrincipalID=(Get-MsolServicePrincipal | Where { $_.DisplayName -eq $ServicePrincipalName }).AppPrincipalId
Set-RMSServerAuthentication -Key $symmetricKey -AppPrincipalId $appPrincipalID -BposTenantId $bposTenantID

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

Получение идентификатора BposTenantId

Выполните командлет Get-AipServiceConfiguration из модуля Azure RMS Windows PowerShell:

  1. Если этот модуль еще не установлен на компьютере, см. статью Установка модуля PowerShell AIPService.

  2. Запустите Windows PowerShell с параметром Запуск от имени администратора.

  3. Используйте командлет Connect-AipService для подключения к службе Azure Rights Management.

     Connect-AipService
    

    При появлении запроса введите учетные данные администратора клиента Azure Information Protection. Как правило, используется учетная запись глобального администратора Azure Active Directory или Microsoft 365.

  4. Выполните Get-AipServiceConfiguration и сделайте копию значения BPOSId.

    Пример выходных данных get-AipServiceConfiguration:

    BPOSId                                   : 23976bc6-dcd4-4173-9d96-dad1f48efd42
    
    RightsManagement ServiceId               : 1a302373-f233-440600909-4cdf305e2e76
    
    LicensingIntranetDistributionPointUrl    : https://1s302373-f233-4406-9090-4cdf305e2e76.rms.na.aadrm.com/_wmcs/licensing
    
    LicensingExtranetDistributionPointUrl    : https://1s302373-f233-4406-9090-4cdf305e2e76.rms.na.aadrm.com/_wmcs/licensing
    
    CertificationIntranetDistributionPointUrl: https://1s302373-f233-4406-9090-4cdf305e2e76.rms.na.aadrm.com/_wmcs/certification
    
    CertificationExtranetDistributionPointUrl: https://1s302373-f233-4406-9090-4cdf305e2e76.rms.na.aadrm.com/_wmcs/certification
    
  5. Отключитесь от службы:

    Disconnect-AipService
    
Получение идентификатора AppPrincipalId и симметричного ключа

Создайте новый субъект-службу, выполнив командлет New-MsolServicePrincipal из модуля MSOnline PowerShell для Azure Active Directory, и следуйте указанным ниже инструкциям.

Важно!

Не используйте новый командлет Azure AD PowerShell — New-AzureADServicePrincipal — для создания этого субъекта-службы. Службы Azure Rights Management не поддерживают этот командлет.

  1. Если модуль MSOnline не установлен на компьютере, запустите Install-Module MSOnline.

  2. Запустите Windows PowerShell с параметром Запуск от имени администратора.

  3. Подключитесь к Azure AD с помощью командлета Connect-MsolService:

    Connect-MsolService
    

    При появлении запроса введите учетные данные администратора клиента Azure AD (обычно используется учетная запись глобального администратора Azure Active Directory или Microsoft 365).

  4. Чтобы создать новый субъект-службу, выполните командлет New-MsolServicePrincipal.

    New-MsolServicePrincipal
    

    При появлении запроса введите отображаемое имя для этого субъекта-службы. В дальнейшем оно поможет определить назначение субъекта-службы в качестве учетной записи для подключения к службе Azure Rights Management, чтобы иметь возможность устанавливать и снимать защиту с файлов.

    Пример входных данных командлета New-MsolServicePrincipal:

    Supply values for the following parameters:
    
    DisplayName: AzureRMSProtectionServicePrincipal
    The following symmetric key was created as one was not supplied
    zIeMu8zNJ6U377CLtppkhkbl4gjodmYSXUVwAO5ycgA=
    
    Display Name: AzureRMSProtectionServicePrincipal
    ServicePrincipalNames: (b5e3f7g1-b5c2-4c96-a594-a0807f65bba4)
    ObjectId: 23720996-593c-4122-bfc7-1abb5a0b5109
    AppPrincialId: b5e3f76a-b5c2-4c96-a594-a0807f65bba4
    TrustedForDelegation: False
    AccountEnabled: True
    Addresses: ()
    KeyType: Symmetric
    KeyId: 8ef61651-ca11-48ea-a350-25834a1ba17c
    StartDate: 3/7/2014 4:43:59 AM
    EndDate: 3/7/2014 4:43:59 AM
    Usage: Verify
    
  5. Запишите симметричный ключ и AppPrincialId из этих выходных данных.

    Важно сделать копию этого симметричного ключа. Вы не сможете получить этот ключ позже, поэтому если вы не будете знать его при прохождении проверки подлинности в службе Azure Rights Management, вам придется создать субъект-службу.

Исходя из этих инструкций и наших примеров, у нас есть три идентификатора, необходимые для выполнения командлета Set-RMSServerAuthentication:

  • Идентификатор клиента: 23976bc6-dcd4-4173-9d96-dad1f48efd42

  • Симметричный ключ: zIeMu8zNJ6U377CLtppkhkbl4gjodmYSXUVwAO5ycgA =

  • AppPrincipalId: b5e3f76a-b5c2-4c96-a594-a0807f65bba4

Пример команды будет выглядеть следующим образом:

Set-RMSServerAuthentication -Key zIeMu8zNJ6U377CLtppkhkbl4gjodmYSXUVwAO5ycgA=-AppPrincipalId b5e3f76a-b5c2-4c96-a594-a0807f65bba4-BposTenantId 23976bc6-dcd4-4173-9d96-dad1f48efd42

Как видно на примере предыдущей команды, вы можете указать значения с помощью одной команды в сценарии для запуска не в интерактивном режиме. Но в целях тестирования можно просто ввести Set-RMSServerAuthentication и предоставлять значения по одному при появлении запроса. По завершении работы команды клиент работает в "режиме сервера", который подходит для неинтерактивного использования, например для сценариев и инфраструктуры классификации файлов Windows Server.

Попробуйте сделать эту учетную запись субъекта-службы суперпользователем, чтобы она всегда могла снимать защиту с файлов для других пользователей. Точно так же, как вы настраиваете учетную запись обычного пользователя в качестве суперпользователя, используйте тот же командлет Azure RMS Add-AipServiceSuperUser, но укажите параметр ServicePrincipalId со значением AppPrincipalId.

Дополнительные сведения о суперпользователей см. в статье Настройка суперпользователей для azure Information Protection и служб обнаружения или восстановления данных.

Примечание

Чтобы использовать собственную учетную запись для проверки подлинности в службе Azure Rights Management, не нужно выполнять командлет Set-RMSServerAuthentication, перед тем как установить или снять защиту с файлов или получить шаблоны.

Необходимое условие 4. Для регионов за пределами Северной Америки

При использовании учетной записи субъекта-службы для защиты файлов и скачивания шаблонов за пределами северо-американского региона Azure необходимо изменить реестр.

  1. Снова запустите командлет Get-AipServiceConfiguration и запишите значения certificationExtranetDistributionPointUrl и LicensingExtranetDistributionPointUrl.

  2. На каждом компьютере, где будут выполняться командлеты AzureInformationProtection, откройте редактор реестра.

  3. Перейдите по следующему пути: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSIPC\ServiceLocation.

    Если вы не видите ключи MSIPC и ServiceLocation, создайте их.

  4. Для ключа ServiceLocation создайте два ключа с именами EnterpriseCertification и EnterprisePublishing, если они не существуют.

    Для строкового значения, которое создается автоматически для этих ключей, не изменяйте имя по умолчанию, а задайте значения параметров.

    • Для EnterpriseCertification вставьте свое значение CertificationExtranetDistributionPointUrl.

    • Для EnterprisePublishing вставьте свое значение LicensingExtranetDistributionPointUrl.

      Например, запись реестра для EnterpriseCertification должна выглядеть следующим образом.

      Изменение реестра для модуля Azure Information Protection PowerShel для регионов за пределами Северной Америки

  5. Закройте редактор реестра. Не нужно перезагружать компьютер. Тем не менее если вы используете учетную запись субъекта-службы, а не собственную учетную запись пользователя, необходимо выполнить команду Set-RMSServerAuthentication после внесения изменений в реестр.

Примеры сценариев использования командлетов для Azure Information Protection и службы Azure Rights Management

Эффективнее использовать метки для классификации и защиты файлов, так как вам нужны только два командлета, которые можно выполнять самостоятельно или вместе: Get-AIPFileStatus и Set-AIPFileLabel. Обратитесь к справке, чтобы получить дополнительные сведения и примеры для этих командлетов.

Чтобы установить или снять защиту с файлов путем непосредственного подключения к службе Azure Rights Management, можно выполнить ряд командлетов, как описано далее.

Если необходимо выполнить проверку подлинности в службе Azure Rights Management с помощью учетной записи субъекта-службы, а не собственной учетной записи, в сеансе PowerShell введите:

Set-RMSServerAuthentication

При появлении запроса введите три идентификатора, как описано в разделе Необходимое условие 3. Установка или снятие защиты с файлов без участия пользователя.

Прежде чем можно будет защитить файлы, необходимо скачать шаблоны Rights Management и их соответствующие идентификаторы на компьютер, чтобы определить, какой из них следует использовать. В выходных данных можно скопировать идентификатор шаблона:

Get-RMSTemplate

Выходные данные будут иметь примерно следующий вид:

TemplateId        : {82bf3474-6efe-4fa1-8827-d1bd93339119}
CultureInfo       : en-US
Description       : This content is proprietary information intended for internal users only. This content cannot be modified.
Name              : Contoso, Ltd - Confidential View Only
IssuerDisplayName : Contoso, Ltd
FromTemplate      : True

TemplateId        : {e6ee2481-26b9-45e5-b34a-f744eacd53b0}
CultureInfo       : en-US
Description       : This content is proprietary information intended for internal users only. This content can be modified but cannot be copied and printed.
Name              : Contoso, Ltd - Confidential
IssuerDisplayName : Contoso, Ltd
FromTemplate      : True
FromTemplate      : True

Обратите внимание: если не использовать команду Set-RMSServerAuthentication, аутентификация в службе Azure Rights Management будет выполнена с помощью вашей учетной записи пользователя. Если вы работаете на компьютере, присоединенном к домену, автоматически будут использоваться текущие учетные данные. Если вы работаете на компьютере, входящем в рабочую группу, вам будет предложено войти в Azure, а эти учетные данные затем будут кэшированы для последующих команд. В таком случае если вам позже понадобится войти под именем другого пользователя, используйте командлет Clear-RMSAuthentication.

Теперь когда вы знаете идентификатор шаблона, его можно использовать с помощью командлета Protect-RMSFile, чтобы защитить один или все файлы в папке. Например, если вы хотите защитить только один файл и заменить исходный, используя шаблон Contoso, Ltd - Confidential, выполните следующее:

Protect-RMSFile -File C:\Test.docx -InPlace -TemplateId e6ee2481-26b9-45e5-b34a-f744eacd53b0

Выходные данные будут иметь примерно следующий вид:

InputFile             EncryptedFile
---------             -------------
C:\Test.docx          C:\Test.docx

Чтобы защитить все файлы в папке, используйте параметр -Folder с буквой диска и путем или путем UNC. Пример:

Protect-RMSFile -Folder \Server1\Documents -InPlace -TemplateId e6ee2481-26b9-45e5-b34a-f744eacd53b0

Выходные данные будут иметь примерно следующий вид:

InputFile                          EncryptedFile
---------                          -------------
\Server1\Documents\Test1.docx     \Server1\Documents\Test1.docx
\Server1\Documents\Test2.docx     \Server1\Documents\Test2.docx
\Server1\Documents\Test3.docx     \Server1\Documents\Test3.docx
\Server1\Documents\Test4.docx     \Server1\Documents\Test4.docx

Если расширение имени файла не изменяется после применения защиты, позже можно использовать командлет Get-RMSFileStatus, чтобы проверить, защищен ли файл. Пример:

Get-RMSFileStatus -File \Server1\Documents\Test1.docx

Выходные данные будут иметь примерно следующий вид:

FileName                              Status
--------                              ------
\Server1\Documents\Test1.docx         Protected

Чтобы снять защиту с файла, необходимо иметь права владельца или права на извлечение с момента, когда файл был защищен. Или необходимо запускать командлеты от имени суперпользователя. Затем используйте командлет Unprotect. Пример:

Unprotect-RMSFile C:\test.docx -InPlace

Выходные данные будут иметь примерно следующий вид:

InputFile                             DecryptedFile
---------                             -------------
C:\Test.docx                          C:\Test.docx

Обратите внимание, что при изменении шаблонов Rights Management их необходимо скачать повторно, используя команду Get-RMSTemplate -force.

Службы управления правами Active Directory (AD RMS)

Ознакомьтесь с этим разделом, прежде чем использовать команды PowerShell для установки или снятия защиты с файлов, если ваша организация использует только службы Active Directory Rights Management.

Предварительные требования

Помимо предварительных требований для установки модуля AzureInformationProtection, для доступа к ServerCertification.asmx ваша учетная запись, используемая для установки или снятия защиты с файлов, должна иметь разрешения на чтение и выполнение.

  1. Войдите на сервер AD RMS.

  2. Щелкните Пуск и выберите Компьютер.

  3. В проводник перейдите в папку %systemdrive%\Initpub\wwwroot_wmsc\Certification.

  4. Щелкните правой кнопкой мыши ServerCertification.asmx и выберите пункт Свойства.

  5. В диалоговом окне свойств ServerCertification.asmx перейдите на вкладку Безопасность.

  6. Нажмите кнопку Продолжить или Изменить.

  7. В диалоговом окне разрешений для ServerCertification.asmx щелкните Добавить.

  8. Добавьте имя учетной записи. Если другие администраторы службы AD RMS или учетные записи службы также будут использовать эти командлеты для установки и снятия защиты с файлов, добавьте и их.

    Чтобы установить или снять защиту с файлов в неинтерактивном режиме, добавьте соответствующие учетные записи компьютеров. Например, добавьте учетную запись компьютера Windows Server, который настроен для инфраструктуры классификации файлов и будет использовать скрипт PowerShell для защиты файлов.

  9. В столбце Разрешить установите флажки Чтение и выполнение и Чтения.

10. Дважды нажмите кнопку ОК.

Примеры сценариев использования командлетов для службы Active Directory Rights Management

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

Если у вас есть несколько развертываний службы AD RMS, вам понадобятся имена серверов AD RMS. Их можно получить с помощью командлета Get-RMSServer, который выводит список доступных серверов:

Get-RMSServer

Выходные данные будут иметь примерно следующий вид:

Number of RMS Servers that can provide templates: 2 
ConnectionInfo             DisplayName          AllowFromScratch
--------------             -------------        ----------------
Microsoft.InformationAnd…  RmsContoso                       True
Microsoft.InformationAnd…  RmsFabrikam                      True

Прежде чем можно будет защитить файлы, необходимо получить список шаблонов RMS и их соответствующие идентификаторы, чтобы определить, какой из них следует использовать. Только при наличии нескольких развертываний AD RMS необходимо также указать сервер RMS.

В выходных данных можно скопировать идентификатор шаблона:

Get-RMSTemplate -RMSServer RmsContoso

Выходные данные будут иметь примерно следующий вид:

TemplateId        : {82bf3474-6efe-4fa1-8827-d1bd93339119}
CultureInfo       : en-US
Description       : This content is proprietary information intended for internal users only. This content cannot be modified.
Name              : Contoso, Ltd - Confidential View Only
IssuerDisplayName : Contoso, Ltd
FromTemplate      : True

TemplateId        : {e6ee2481-26b9-45e5-b34a-f744eacd53b0}
CultureInfo       : en-US
Description       : This content is proprietary information intended for internal users only. This content can be modified but cannot be copied and printed.
Name              : Contoso, Ltd - Confidential
IssuerDisplayName : Contoso, Ltd
FromTemplate      : True
FromTemplate      : True

Теперь, когда вы знаете идентификатор шаблона, его можно использовать с помощью командлета Protect-RMSFile, чтобы защитить один или все файлы в папке. Например, если вы хотите защитить только один файл и заменить исходный с помощью шаблона Contoso, Ltd - Confidential:

Protect-RMSFile -File C:\Test.docx -InPlace -TemplateId e6ee2481-26b9-45e5-b34a-f744eacd53b0

Выходные данные будут иметь примерно следующий вид:

InputFile             EncryptedFile
---------             -------------
C:\Test.docx          C:\Test.docx   

Чтобы защитить все файлы в папке, используйте параметр -Folder с буквой диска и путем или путем UNC. Пример:

Protect-RMSFile -Folder \\Server1\Documents -InPlace -TemplateId e6ee2481-26b9-45e5-b34a-f744eacd53b0

Выходные данные будут иметь примерно следующий вид:

InputFile                          EncryptedFile
---------                          -------------
\\Server1\Documents\Test1.docx     \\Server1\Documents\Test1.docx   
\\Server1\Documents\Test2.docx     \\Server1\Documents\Test2.docx   
\\Server1\Documents\Test3.docx     \\Server1\Documents\Test3.docx   
\\Server1\Documents\Test4.docx     \\Server1\Documents\Test4.docx   

Если расширение имени файла не изменяется после применения защиты, позже всегда можно использовать командлет Get-RMSFileStatus, чтобы проверить, защищен ли файл. Пример:

Get-RMSFileStatus -File \\Server1\Documents\Test1.docx

Выходные данные будут иметь примерно следующий вид:

FileName                              Status
--------                              ------
\\Server1\Documents\Test1.docx        Protected

Чтобы снять защиту с файла, необходимо иметь права владельца или извлечь права на использование, когда файл был защищен, или быть суперпользоваем для AD RMS. Затем используйте командлет Unprotect. Пример:

Unprotect-RMSFile C:\test.docx -InPlace

Выходные данные будут иметь примерно следующий вид:

InputFile                             DecryptedFile
---------                             -------------
C:\Test.docx                          C:\Test.docx

Как пометить файлы в неинтерактивном режиме для Azure Information Protection

Можно запустить командлеты работы с метками в неинтерактивном режиме с помощью командлета Set-AIPAuthentication. Неинтерактивная работа также необходима для средства проверки Azure Information Protection.

По умолчанию, когда вы используете командлеты для работы с метками, команды выполняются в пользовательском контексте в интерактивном сеансе PowerShell. Чтобы они выполнялись автоматически, создайте учетную запись Azure AD. Затем в этом пользовательском контексте выполните командлет Set-AIPAuthentication, чтобы указать и сохранить учетные данные, используя маркер доступа из Azure AD. Эта учетная запись будет использоваться при аутентификации и начальной загрузке для службы Azure Rights Management. Для учетной записи скачивается политика Azure Information Protection и все шаблоны Rights Management, используемые для меток.

Примечание

Если вы используете политики с заданной областью, помните, что может потребоваться добавить эту учетную запись в эти политики.

При первом запуске этого командлета вам будет предложено войти в службу Azure Information Protection. Укажите имя учетной записи пользователя и пароль, созданные для автоматического выполнения команд. В итоге от имени этой учетной записи будут выполняться командлеты для работы с метками в неинтерактивном режиме, пока не истечет срок действия маркера аутентификации.

Чтобы разрешить учетной записи пользователя входить в систему в интерактивном режиме при этом первом запуске, ей необходимо предоставить право Локальный вход в систему. Это право является стандартным для учетных записей пользователей, но для учетных записей служб эта конфигурация может быть запрещена политиками компании. Если это так, вы можете запустить командлет Set-AIPAuthentication с параметром Token, чтобы проверка подлинности совершалась без предложения входа в систему. Вы можете выполнять эту команду как запланированную задачу и предоставить учетной записи низкоуровневое право Вход в качестве пакетного задания. Дополнительные сведения приведены в следующем разделе.

После истечения срока действия маркера выполните командлет повторно, чтобы получить новый маркер.

Если выполнить этот командлет без параметров, учетная запись получит маркер доступа, действительный в течение 90 дней или до истечения срока действия пароля.

Чтобы указать срок действия маркера доступа, выполните этот командлет с параметрами. Так вы сможете настроить срок действия для маркера доступа продолжительностью в один год, два года или бессрочно. Для этой конфигурации нужно зарегистрировать в Azure Active Directory два приложения: веб-приложение или приложение API и собственное приложение. В параметрах этого командлета используются значения из указанных выше приложений.

Выполнив этот командлет, можно использовать командлеты для работы с метками в контексте созданной учетной записи.

Создание и настройка приложений Azure AD для командлета Set-AIPAuthentication

  1. В новом окне браузера войдите на портал Azure.

  2. Для клиента Azure AD, используемого с azure Information Protection, перейдите в разделУправление>Azure Active Directory>Регистрация приложений.

  3. Выберите + Новая регистрация, чтобы создать веб-приложение /API. На панели Регистрация приложения укажите следующие значения и нажмите кнопку Зарегистрировать:

    • Имя: AIPOnBehalfOf

      При необходимости укажите другое имя. Оно должно быть уникальным для каждого клиента.

    • Поддерживаемые типы учетных записей: учетные записи только в этом каталоге организации

    • URI перенаправления (необязательно):Веб-сайт и http://localhost

  4. На панели AIPOnBehalfOf скопируйте значение идентификатора приложения (клиента). Значение выглядит примерно так: 57c3c1c3-abf9-404e-8b2b-4652836c8c66. Это значение используется для параметра WebAppId при выполнении командлета Set-AIPAuthentication. Вставьте и сохраните значение для последующей ссылки.

  5. На панели AIPOnBehalfOf в меню Управление выберите Проверка подлинности.

  6. В области AIPOnBehalfOf — проверка подлинности в разделе Дополнительные параметры установите флажок Маркеры идентификации и нажмите кнопку Сохранить.

  7. В области AIPOnBehalfOf — Authentication (Проверка подлинности ) в меню Управление выберите Сертификаты & секреты.

  8. В области AIPOnBehalfOf — сертификаты & секреты в разделе Секреты клиента выберите + Новый секрет клиента.

  9. В поле Add a client secret (Добавить секрет клиента) укажите следующее, а затем нажмите кнопку Добавить:

    • Description (Описание): Azure Information Protection client
    • Срок действия: укажите срок действия (1 год, 2 года или никогда не истечет).
  10. Вернитесь в область AIPOnBehalfOf — Сертификаты & секреты, в разделе Секреты клиента скопируйте строку значения. Эта строка выглядит примерно так: +LBkMvddz?WrlNCK5v0e6_=meM59sSAn. Чтобы скопировать все символы, щелкните значок Копировать в буфер обмена.

    Очень важно сохранить эту строку, так как она больше не отобразится и ее нельзя будет восстановить. Как и в случае с любой конфиденциальной информацией, которую вы используете, храните сохраненное значение безопасно и ограничьте доступ к нему.

  11. В области Секреты AIPOnBehalfOf — Сертификаты & выберите в меню Управление пункт Предоставление API.

  12. На панели AIPOnBehalfOf — предоставление API выберите Задать для параметра URI идентификатора приложения , а затем в значении URI идентификатора приложения измените api на http. Эта строка выглядит примерно так: http://d244e75e-870b-4491-b70d-65534953099e.

    Щелкните Сохранить.

  13. Вернитесь в область AIPOnBehalfOf — предоставление API и выберите + Добавить область.

  14. В области Добавление область укажите следующее, используя предлагаемые строки в качестве примеров, а затем выберите Добавить область:

    • Имя области: user-impersonation
    • Кто может давать согласие? : Администраторы и пользователи
    • Отображаемое имя согласия администратора: Access Azure Information Protection scanner
    • Описание согласия администратора: Allow the application to access the scanner for the signed-in user
    • Отображаемое имя согласия пользователя: Access Azure Information Protection scanner
    • Описание согласия пользователя: Allow the application to access the scanner for the signed-in user
    • Состояние: Включено (по умолчанию)
  15. Вернитесь в область AIPOnBehalfOf — предоставление API и закройте эту панель.

  16. Выберите Разрешения API.

  17. В областиРазрешения APIAIPOnBehalfOf | выберите + Добавить разрешение.

  18. Выберите Управление правами Azure, щелкните Делегированные разрешения , а затем выберите Создать защищенное содержимое и получить доступ к защищенному содержимому для пользователей.

  19. Щелкните Добавить разрешение.

  20. Вернитесь на панель Разрешения API в разделе Предоставление согласия выберите Grant admin consent for <your tenant name> и выберите Да в запросе на подтверждение.

  21. На панели Регистрация приложений выберите + Регистрация нового приложения, чтобы создать собственное приложение.

  22. На панели Регистрация приложения укажите следующие параметры, а затем выберите Зарегистрировать:

    • Имя: AIPClient
    • Поддерживаемые типы учетных записей: учетные записи только в этом каталоге организации
    • URI перенаправления (необязательно):общедоступный клиент (мобильный & настольный компьютер) и http://localhost
  23. На панели AIPClient скопируйте значение идентификатора приложения (клиента). Значение выглядит примерно так: 8ef1c873-9869-4bb1-9c11-8313f9d7f76f.

    Это значение используется для параметра NativeAppId при выполнении командлета Set-AIPAuthentication. Вставьте и сохраните значение для последующей ссылки.

  24. На панели AIPClient в меню Управление выберите Проверка подлинности.

  25. В области AIPClient — проверка подлинности в меню Управление выберите Разрешения API.

  26. В области AIPClient — разрешения выберите + Добавить разрешение.

  27. В области Запрос разрешений API выберите Мои API.

  28. В разделе Выбор API выберите APIOnBehalfOf, а затем установите флажок для олицетворения пользователя в качестве разрешения. Выберите Добавить разрешения.

  29. В области Разрешения API в разделе Предоставление согласия выберите Предоставить согласие администратора для <имени> клиента и выберите Да в запросе на подтверждение.

Вы завершили настройку двух приложений и у вас есть значения, необходимые для запуска Set-AIPAuthentication с параметрами WebAppId, WebAppKey и NativeAppId. Из наших примеров:

Set-AIPAuthentication -WebAppId "57c3c1c3-abf9-404e-8b2b-4652836c8c66" -WebAppKey "+LBkMvddz?WrlNCK5v0e6_=meM59sSAn" -NativeAppId "8ef1c873-9869-4bb1-9c11-8313f9d7f76f"

Запустите эту команду в контексте учетной записи, которая будет отмечать и защищать документы в неинтерактивном режиме. Например, учетная запись пользователя, используемая для выполнения скриптов PowerShell, или учетная запись службы, используемая для выполнения средства проверки Azure Information Protection.

При выполнении этой команды впервые вам будет предложено войти в систему. При этом создается маркер доступа для учетной записи, который надежно сохраняется в %localappdata%\Microsoft\MSIP. После начального входа вы можете помечать и защищать на компьютере файлы в неинтерактивном режиме. Однако, если вы применяете для присвоения меток и защиты файлов учетную запись службы, которая не может выполнять вход в интерактивном режиме, используйте инструкции в следующем разделе, чтобы настроить для учетной записи службы проверку подлинности с помощью маркера.

Указание и использование параметра Token для командлета Set-AIPAuthentication

Воспользуйтесь следующими дополнительными шагами и инструкциями, чтобы избежать начального интерактивного входа в систему с данными учетной записи, которая отмечает и защищает файлы. Как правило, эти дополнительные действия требуются, только если этой учетной записи невозможно предоставить право Локальный вход в систему, но предоставлено право Вход в качестве пакетного задания. Например, если ваша учетная запись службы используется для выполнения средства проверки Azure Information Protection.

Основные действия:

  1. Создайте скрипт PowerShell на локальном компьютере.

  2. Запустите командлет Set-AIPAuthentication, чтобы получить маркер доступа, и скопируйте его в буфер обмена.

  3. Добавьте маркер в скрипт PowerShell.

  4. Создайте задачу для выполнения скрипта PowerShell в контексте учетной записи службы, которая будет отмечать и защищать файлы.

  5. Убедитесь, что маркер сохранен для учетной записи службы, и удалите скрипт PowerShell.

Шаг 1. Создание скрипта PowerShell на локальном компьютере

  1. На вашем компьютере создайте новый скрипт PowerShell с именем Aipauthentication.ps1.

  2. Скопируйте и вставьте в скрипт следующую команду.

    Set-AIPAuthentication -WebAppId <ID of the "Web app / API" application> -WebAppKey <key value generated in the "Web app / API" application> -NativeAppId <ID of the "Native" application > -Token <token value>
    
  3. Используя инструкции в предыдущем разделе, измените эту команду, указав собственные значения для параметров WebAppId, WebAppkey и NativeAppId. Сейчас у вас нет значения для параметра Token. Вы укажите его позднее.

    Пример:

    Set-AIPAuthentication -WebAppId "57c3c1c3-abf9-404e-8b2b-4652836c8c66" -WebAppKey "sc9qxh4lmv31GbIBCy36TxEEuM1VmKex5sAdBzABH+M=" -NativeAppId "8ef1c873-9869-4bb1-9c11-8313f9d7f76f -Token <token value>
    

Шаг 2. Запуск командлета Set-AIPAuthentication, чтобы получить маркер доступа и скопировать его в буфер обмена

  1. Откройте сеанс Windows PowerShell.

  2. Используя те же значения, которые вы указали в скрипте, выполните следующую команду.

    (Set-AIPAuthentication -WebAppId <ID of the "Web app / API" application>  -WebAppKey <key value generated in the "Web app / API" application> -NativeAppId <ID of the "Native" application >).token | clip
    

    Пример:

    (Set-AIPAuthentication -WebAppId "57c3c1c3-abf9-404e-8b2b-4652836c8c66" -WebAppKey "sc9qxh4lmv31GbIBCy36TxEEuM1VmKex5sAdBzABH+M=" -NativeAppId "8ef1c873-9869-4bb1-9c11-8313f9d7f76f").token | clip`
    

Шаг 3. Изменение скрипта PowerShell, чтобы предоставить маркер

  1. В скрипте PowerShell укажите значение маркера, вставив строку из буфера обмена, и сохраните файл.

  2. Подпишите скрипт. Если вы не подпишите скрипт (более безопасный вариант), необходимо настроить Windows PowerShell на компьютере, на котором будут выполняться команды для работы с метками. Например, запустите сеанс Windows PowerShell с помощью пункта меню Запуск от имени администратора, а затем введите Set-ExecutionPolicy RemoteSigned. Но учтите, что эта конфигурация позволяет запускаться всем неподписанным скриптам, сохраненным на данном компьютере (что снижает уровень безопасности).

    Дополнительные сведения о подписи скриптов Windows PowerShell см. в разделе about_Signing в библиотеке документации по PowerShell.

  3. Скопируйте следующий скрипт PowerShell на компьютер, который будет отмечать и защищать файлы, и удалите исходный скрипт на вашем компьютере. Например, сценарий PowerShell копируется в C:\Scripts\Aipauthentication.ps1 на компьютере Windows Server.

Шаг 4. Создание задачи, которая запускает скрипт PowerShell

  1. Убедитесь, что для учетной записи службы, которая будет отмечать и защищать файлы, назначено право Вход в качестве пакетного задания.

  2. На компьютере, который будет отмечать и защищать файлы, откройте планировщик задач и создайте задачу. Настройте эту задачу для запуска в качестве учетной записи службы, которая будет отмечать и защищать файлы, а затем задайте следующие значения для строки Actions (Действия).

    • Действие: Start a program

    • Программа или скрипт: Powershell.exe

    • Добавить аргументы (необязательно):-NoProfile -WindowStyle Hidden -command "&{C:\Scripts\Aipauthentication.ps1}"

      Для строки аргументов укажите собственные путь и имя файла, если они отличаются от указанных в примере.

  3. Выполните эту задачу вручную.

Шаг 5. Убедитесь, что маркер сохранен, и удалите сценарий PowerShell

  1. Убедитесь, что маркер теперь хранится в папке %localappdata%\Microsoft\MSIP для профиля учетной записи службы. Это значение защищено учетной записью службы.

  2. Удалите скрипт PowerShell, содержащий значение маркера (например, Aipauthentication.ps1).

    При необходимости удалите задачу. Если срок действия маркера истекает, вам понадобится повторить этот процесс. В этом случае может быть удобнее сохранить настроенную задачу, чтобы ее можно было выполнить повторно, скопировав скрипт PowerShell с новым значением маркера.

Дальнейшие действия

Чтобы получить актуальную справку по командлетам в сеансе PowerShell, введите Get-Help <cmdlet name> cmdlet и используйте параметр -online. Пример:

Get-Help Get-RMSTemplate -online

Дополнительные сведения, которые могут потребоваться для поддержки клиента Azure Information Protection, см. в следующих статьях: