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