Automatisering med tjänstens huvudnamn

Tjänstens huvudnamn är en programresurs för Azure Active Directory som du skapar i din klient 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 har tilldelats.

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. Till exempel kan etableringsservrar, distribuera modeller, datauppdatering, skala upp/ned och pausa/återuppta automatiseras med hjälp av tjänstens huvudnamn. Behörigheter tilldelas till tjänstens huvudnamn via rollmedlemskap, ungefär som vanliga Azure AD UPN-konton.

Analysis Services också stöd för åtgärder som utförs av hanterade identiteter med hjälp av tjänstens huvudnamn. Mer information finns i Hanterade identiteter för Azure-resurser och Azure-tjänster som stöder Azure AD-autentisering.

Skapa tjänsthuvudnamn

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

Skapa tjänstens huvudnamn – Azure-portalen
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 Azure Automation för runbook-åtgärder. Mer information finns i:

Autentiseringstillgå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 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 huvudnamn för tjänsten 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 i serveradministratörsrollen.

Tjänstens huvudnamn i anslutningssträngar

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

PowerShell

Anteckning

I den här artikeln används Azure Az PowerShell-modulen, som är den rekommenderade PowerShell-modulen för att interagera med Azure. För att komma igång med Az PowerShell kan du läsa artikeln om att installera Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Använda Az.AnalysisServices-modulen

Använd cmdleten när du använder tjänstens huvudnamn för resurshanteringsåtgärder med modulen Az.AnalysisServices. Connect-AzAccount

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"

# Syncronize 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 har AMO- och ADOMD-klientbibliotek version 15.0.2 och senare installerbara paket från NuGet stöd för tjänstens huvudnamn i anslutningssträngar med hjälp av följande syntax: app:AppID och lösenord eller cert:thumbprint.

I följande exempel används appID och 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 ett huvudnamn för tjänsten i serveradministratörsrollen
Automatisera Power BI Premium arbetsyte- och datauppsättningsuppgifter med tjänstens huvudnamn