Automazione con le entità servizio

Le entità servizio sono una risorsa di un’applicazione Microsoft Entra creata all'interno del tenant per l'esecuzione automatica di operazioni a livello di servizio e di risorsa. Sono un tipo univoco di identità utente con un ID applicazione e una password o un certificato. Un'entità servizio ha solo le autorizzazioni necessarie per eseguire le attività definite dai ruoli e le autorizzazioni per le quali viene assegnata.

In Analysis Services le entità servizio vengono usate con Automazione di Azure, la modalità automatica di PowerShell, le applicazioni client personalizzate e le app Web per automatizzare le attività comuni. Ad esempio, il provisioning dei server, la distribuzione di modelli, l'aggiornamento dei dati, l'aumento/riduzione delle prestazioni e la sospensione/ripresa possono essere automatizzati usando le entità servizio. Le autorizzazioni vengono assegnate alle entità servizio tramite l'appartenenza a un ruolo, in modo analogo ai normali account UPN di Microsoft Entra.

Analysis Services non supportale operazioni eseguite dalle identità gestite tramite entità servizio. Per altre informazioni, vedere Identità gestite per le risorse di Azure e Servizi di Azure che supportano l'autenticazione di Microsoft Entra.

Creare entità servizio

Le entità servizio possono essere create nel portale di Azure oppure con PowerShell. Per altre informazioni, vedere:

Creare un'entità servizio - Portale di Azure
Creare un'entità servizio - PowerShell

Archiviare gli asset di tipo certificato e credenziale in Automazione di Azure

I certificati e le credenziali delle entità servizio possono essere archiviati in modo sicuro in Automazione di Azure per le operazioni dei runbook. Per altre informazioni, vedere:

Asset credenziali in Automazione di Azure
Asset di tipo certificato in Automazione di Azure

Aggiungere le entità servizio al ruolo di amministratore del server

Prima di poter usare un'entità servizio per le operazioni di gestione del server Analysis Services, è necessario aggiungerla al ruolo di amministratore del server. Le entità servizio devono essere aggiunte direttamente al ruolo di amministratore del server. L'aggiunta di un'entità servizio a un gruppo di sicurezza e l'aggiunta di tale gruppo di sicurezza al ruolo di amministratore del server non è supportata. Per altre informazioni, vedere Aggiungere un'entità servizio al ruolo di amministratore del server.

Entità servizio nelle stringhe di connessione

L'ID app e la password o il certificato dell'entità servizio possono essere usati nelle stringhe di connessione in modo molto simile a un nome dell'entità utente.

PowerShell

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

Uso del modulo Az.AnalysisServices

Quando si usa un'entità servizio per le operazioni di gestione delle risorse con il modulo Az.AnalysisServices, usare il cmdlet Connect-AzAccount.

Nell'esempio seguente vengono usati un ID app e una password per eseguire operazioni del piano di controllo per la sincronizzazione con repliche di sola lettura e la scalabilità verticale/orizzontale:

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

Uso del modulo SQLServer

Nell'esempio seguente vengono usati l'ID app e una password per eseguire un'operazione di aggiornamento del database modello:

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

Quando ci si connette ad applicazioni client e app Web, i pacchetti installabili delle librerie client AMO e ADOMD versione 15.0.2 e successive di NuGet supportano le entità servizio nelle stringhe di connessione con la sintassi seguente: app:AppID e password o cert:thumbprint.

Nell'esempio seguente vengono usati appID e una password per eseguire un'operazione di aggiornamento del database modello:

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

Passaggi successivi

Accedere con Azure PowerShell
Eseguire l'aggiornamento con App per la logica
Eseguire l'aggiornamento con Automazione di Azure
Aggiungere un'entità servizio al ruolo di amministratore del server
Automatizzare attività dell'area di lavoro e del set di dati di Power BI Premium con entità servizio