Автоматизация с помощью субъектов-служб

Субъекты-службы — это ресурс приложения Microsoft Entra, создаваемый в клиенте для выполнения автоматических операций с ресурсом и уровнем обслуживания. Он представляет собой уникальный тип идентификатора пользователя с идентификатором приложения и паролем или сертификатом. Субъект-служба имеет только те разрешения, необходимые для выполнения задач, определенных ролями и разрешениями, для которых она назначена.

В Analysis Services субъекты-службы применяются для автоматизации типичных задач с использованием службы автоматизации Azure, автоматического режима PowerShell, настраиваемых клиентских приложений и веб-приложений. Например, подготовка серверов, развертывание моделей, обновление данных, увеличение и уменьшение масштаба, остановка и возобновление могут быть автоматизированы с помощью субъектов-служб. Разрешения назначаются субъектам-службам через членство в ролях, как и обычные учетные записи участника-пользователя Microsoft Entra.

Analysis Services не поддерживает операции, выполняемые управляемыми удостоверениями с использованием субъектов-служб. Дополнительные сведения см. в статьях Что такое управляемые удостоверения для ресурсов Azure? и Службы с поддержкой проверки подлинности Microsoft Entra.

Создание субъектов-служб

Субъекты-службы можно создать на портале Azure или с помощью PowerShell. Дополнительные сведения см. на следующих ресурсах:

Создание субъекта-службы с помощью портала Azure
Создание субъекта-службы с помощью PowerShell

Хранение учетных данных и сертификатов в службе автоматизации Azure

Учетные данные и сертификаты субъектов-служб могут храниться в службе автоматизации Azure для выполнения операций с модулями runbook. Дополнительные сведения см. на следующих ресурсах:

Ресурсы учетных данных в службе автоматизации Azure
Сертификация активов в службе автоматизации Azure

Добавление субъектов-служб к роли администратора сервера

Прежде чем выполнять операции управления сервером Analysis Services с помощью субъекта-службы, необходимо добавить его к роли администраторов серверов. Субъекты-службы необходимо добавлять непосредственно к роли администратора сервера. Добавление субъекта-службы в группу безопасности с последующим добавлением этой группы безопасности к роли администратора сервера не поддерживается. Дополнительные сведения см. в статье Добавление субъекта-службы к роли администратора сервера.

Субъекты-службы в строках подключения

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

PowerShell

Примечание.

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Сведения о начале работы см. в статье "Установка Azure PowerShell". Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Использование модуля Az.AnalysisServices

При выполнении операций управления ресурсами с модулем Az.AnalysisServices с помощью субъекта-службы используйте командлет Connect-AzAccount.

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

Param (
        [Parameter(Mandatory=$true)] [String] $AppId,
        [Parameter(Mandatory=$true)] [String] $PlainPWord,
        [Parameter(Mandatory=$true)] [String] $TenantId
       )
$PWord = ConvertTo-SecureString -String $PlainPWord -AsPlainText -Force
$Credential = New-Object -TypeName "System.Management.Automation.PSCredential" -ArgumentList $AppId, $PWord

# Connect using Az module
Connect-AzAccount -Credential $Credential -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx"

# Synchronize a database for query scale out
Sync-AzAnalysisServicesInstance -Instance "asazure://westus.asazure.windows.net/testsvr" -Database "testdb"

# Scale up the server to an S1, set 2 read-only replicas, and remove the primary from the query pool. The new replicas will hydrate from the synchronized data.
Set-AzAnalysisServicesServer -Name "testsvr" -ResourceGroupName "testRG" -Sku "S1" -ReadonlyReplicaCount 2 -DefaultConnectionMode Readonly

Использование модуля SQLServer

В следующем примере идентификатор приложения и пароль используются для выполнения операции обновления шаблона базы данных:

Param (
        [Parameter(Mandatory=$true)] [String] $AppId,
        [Parameter(Mandatory=$true)] [String] $PlainPWord,
        [Parameter(Mandatory=$true)] [String] $TenantId
       )
$PWord = ConvertTo-SecureString -String $PlainPWord -AsPlainText -Force

$Credential = New-Object -TypeName "System.Management.Automation.PSCredential" -ArgumentList $AppId, $PWord

Invoke-ProcessTable -Server "asazure://westcentralus.asazure.windows.net/myserver" -TableName "MyTable" -Database "MyDb" -RefreshType "Full" -ServicePrincipal -ApplicationId $AppId -TenantId $TenantId -Credential $Credential

Объекты AMO и ADOMD

При подключении к клиентским приложениям и веб-приложениям устанавливаемые пакеты от NuGet клиентских библиотек AMO и ADOMD версии 15.0.2 и выше поддерживают субъекты-службы в строках подключения с помощью следующего синтаксиса: app:AppID и пароль или cert:thumbprint.

В следующем примере appID и password используются для выполнения операции обновления шаблона базы данных:

string appId = "xxx";
string authKey = "yyy";
string connString = $"Provider=MSOLAP;Data Source=asazure://westus.asazure.windows.net/<servername>;User ID=app:{appId};Password={authKey};";
Server server = new Server();
server.Connect(connString);
Database db = server.Databases.FindByName("adventureworks");
Table tbl = db.Model.Tables.Find("DimDate");
tbl.RequestRefresh(RefreshType.Full);
db.Model.SaveChanges();

Следующие шаги

Sign in with Azure PowerShell (Вход в Azure PowerShell)
Обновление с помощью Logic Apps
Refresh with Azure Automation (Обновление с помощью службы автоматизации Azure)
Добавление субъекта-службы к роли администратора сервера
Автоматизация задач по управлению рабочими областями Premium и наборами данных с помощью субъектов-служб