Automatisering med tjänsters huvudnamn

Tjänstens huvudnamn är en Microsoft Entra-programresurs som du skapar i din klientorganisation för att utföra obevakade åtgärder på resurs- och tjänstnivå. De är en unik typ av användaridentitet med ett program-ID och lösenord eller certifikat. Ett huvudnamn för tjänsten har endast de behörigheter som krävs för att utföra uppgifter som definieras av de roller och behörigheter som det tilldelas till.

I Analysis Services används tjänstens huvudnamn med Azure Automation, obevakat PowerShell-läge, anpassade klientprogram och webbappar för att automatisera vanliga uppgifter. Etableringsservrar, distribution av modeller, datauppdatering, upp-/nedskalning och paus/återuppta kan till exempel automatiseras med hjälp av tjänstens huvudnamn. Behörigheter tilldelas till tjänstens huvudnamn via rollmedlemskap, ungefär som vanliga Microsoft Entra UPN-konton.

Analysis Services stöder inte åtgärder som utförs av hanterade identiteter med hjälp av tjänsthuvudnamn. Mer information finns i Hanterade identiteter för Azure-resurser och Azure-tjänster som stöder Microsoft Entra-autentisering.

Skapa tjänsthuvudnamn

Tjänstens huvudnamn kan skapas i Azure-portalen eller med hjälp av PowerShell. Mer information finns i:

Skapa tjänstens huvudnamn – Azure Portal
Skapa tjänstens huvudnamn – PowerShell

Lagra autentiseringsuppgifter och certifikattillgångar i Azure Automation

Autentiseringsuppgifter och certifikat för tjänstens huvudnamn kan lagras på ett säkert sätt i Azure Automation för runbook-åtgärder. Mer information finns i:

Autentiseringsuppgiftstillgångar i Azure Automation
Certifikattillgångar i Azure Automation

Lägga till tjänstens huvudnamn i serveradministratörsrollen

Innan du kan använda tjänstens huvudnamn för Analysis Services-serverhanteringsåtgärder måste du lägga till det i serveradministratörsrollen. Tjänstens huvudnamn måste läggas till direkt i serveradministratörsrollen. Det går inte att lägga till ett tjänsthuvudnamn i en säkerhetsgrupp och sedan lägga till säkerhetsgruppen i serveradministratörsrollen. Mer information finns i Lägga till ett huvudnamn för tjänsten till serveradministratörsrollen.

Tjänstens huvudnamn i anslutningssträng

AppID och lösenord eller certifikat för tjänstens huvudnamn kan användas i anslutningssträng ungefär samma som ett UPN.

PowerShell

Kommentar

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Använda Modulen Az.AnalysisServices

När du använder tjänstens huvudnamn för resurshanteringsåtgärder med modulen Az.AnalysisServices använder du Connect-AzAccount cmdlet.

I följande exempel används appID och ett lösenord för att utföra kontrollplansåtgärder för synkronisering till skrivskyddade repliker och skala upp/ut:

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

Använda SQLServer-modulen

I följande exempel används appID och ett lösenord för att utföra en uppdateringsåtgärd för modelldatabasen:

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

När du ansluter med klientprogram och webbappar stöder AMO- och ADOMD-klientbibliotek version 15.0.2 och senare installationsbara paket från NuGet tjänstens huvudnamn i anslutningssträng med hjälp av följande syntax: app:AppID och lösenord eller cert:thumbprint.

I följande exempel appID används en password för att utföra en uppdateringsåtgärd för modelldatabasen:

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

Nästa steg

Logga in med Azure PowerShell
Uppdatera med Logic Apps
Uppdatera med Azure Automation
Lägga till tjänstens huvudnamn i serveradministratörsrollen
Automatisera Power BI Premium-arbetsytor och datauppsättningsuppgifter med tjänstens huvudnamn