Automação com entidades de serviço

As entidades de serviço são um recurso de aplicativo do Microsoft Entra que você cria em seu locatário para executar operações autônomas de nível de serviço e recursos. Eles são um tipo exclusivo de identidade do usuário com uma ID de aplicativo e senha ou certificado. Uma entidade de serviço tem somente as permissões necessárias para executar tarefas definidas pelas funções e permissões para as quais é atribuída.

No Analysis Services, as entidades de serviço são usadas com o Automação do Azure, o modo autônomo do PowerShell, aplicativos cliente personalizados e aplicativos Web para automatizar tarefas comuns. Por exemplo, servidores de provisionamento, modelos de implantação, atualização de dados, escalar verticalmente/reduzir verticalmente e pausar/continuar podem ser automatizados usando entidades de serviço. As permissões são atribuídas às entidades de serviço por meio da associação de funções, semelhante às contas comuns de UPN do Microsoft Entra.

O Analysis Services não é compatível com operações executadas por identidades gerenciadas usando entidades de serviço. Para saber mais, confira Identidades gerenciadas para recursos do Azure e Serviços do Azure compatíveis com a autenticação do Microsoft Entra.

Criar entidades de serviço

As entidades de serviço podem ser criadas no portal do Azure ou usando o PowerShell. Para obter mais informações, consulte:

Criar entidade de serviço - Portal do Azure
Criar entidade de serviço - PowerShell

Armazenar credenciais e ativos de certificado na Automação do Azure

Credenciais e certificados da entidade de serviço podem ser armazenados de forma segura na Automação do Azure para operações de runbook. Para obter mais informações, consulte:

Ativos de credenciais na Automação do Azure
Ativos de certificado na Automação do Azure

Adicionar entidades de serviço à função de administrador do servidor

Antes de poder usar uma entidade de serviço para operações de gerenciamento de servidor do Analysis Services, você deverá adicioná-la à função de administradores do servidor. Entidades de serviço devem ser adicionadas diretamente à função de administrador do servidor. Não há suporte para a adição de uma entidade de serviço a um grupo de segurança e a adição desse grupo de segurança à função de administrador do servidor. Para saber mais, consulte Adicionar uma entidade de serviço à função de administrador do servidor.

Entidades de serviço em cadeias de conexão

AppID de entidade de serviço e senha ou certificado podem ser usados em cadeias de conexão da mesma forma que um UPN.

PowerShell

Observação

Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Confira Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Usar o módulo Az.AnalysisServices

Ao usar uma entidade de serviço para operações de gerenciamento de recursos com o módulo Az.AnalysisServices, use o cmdlet Connect-AzAccount.

No seguinte exemplo, appID e uma senha são usados para executar operações de plano de controle para sincronização a réplicas somente leitura e escala vertical/horizontal:

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

Usar o módulo SQLServer

No exemplo a seguir, appID e uma senha são usados para executar uma operação de atualização de modelo de banco de dados:

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 e ADOMD

Ao conectar com aplicativos cliente e aplicativos Web, os pacotes instaláveis das bibliotecas cliente AMO e ADOMD versão 15.0.2 e superior do NuGet dão suporte para entidades de serviço nas cadeias de conexão usando a sintaxe a seguir: app:AppID e senha ou cert:thumbprint.

No exemplo a seguir, appID e password são usados para executar uma operação de atualização de modelo de banco de dados:

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();

Próximas etapas

Entrar com o Azure PowerShell
Atualizar com Aplicativos Lógicos
Atualizar com Automação do Azure
Adicionar uma entidade de serviço à função de administrador do servidor
Automatizar tarefas de conjunto de dados e workspace do Power BI Premium com entidades de serviço