Automatisering met service-principals
Service-principals zijn een Microsoft Entra-toepassingsresource die u in uw tenant maakt om bewerkingen zonder toezicht en serviceniveau uit te voeren. Ze zijn een uniek type gebruikersidentiteit met een toepassings-id en wachtwoord of certificaat. Een service-principal heeft alleen de machtigingen die nodig zijn om taken uit te voeren die zijn gedefinieerd door de rollen en machtigingen waaraan deze is toegewezen.
In Analysis Services worden service-principals gebruikt met Azure Automation, de modus zonder toezicht van PowerShell, aangepaste clienttoepassingen en web-apps om algemene taken te automatiseren. Het inrichten van servers, het implementeren van modellen, het vernieuwen van gegevens, omhoog/omlaag schalen en onderbreken/hervatten kan bijvoorbeeld allemaal worden geautomatiseerd met behulp van service-principals. Machtigingen worden toegewezen aan service-principals via rollidmaatschap, net als gewone Microsoft Entra UPN-accounts.
Analysis Services biedt geen ondersteuning voor bewerkingen die worden uitgevoerd door beheerde identiteiten met behulp van service-principals. Raadpleeg Beheerde identiteiten voor Azure-resources en Azure-services die ondersteuning bieden voor Microsoft Entra-verificatie voor meer informatie.
Service-principals maken
Service-principals kunnen worden gemaakt in Azure Portal of met behulp van PowerShell. Raadpleeg voor meer informatie:
Service-principal maken - Azure Portal
Service-principal maken - PowerShell
Referentie- en certificaatassets opslaan in Azure Automation
Referenties en certificaten van de service-principal kunnen veilig worden opgeslagen in Azure Automation voor runbookbewerkingen. Raadpleeg voor meer informatie:
Verbindingsreferentie in Azure Automation
Verbindingsassets in Azure Automation
Service-principals toevoegen aan de serverbeheerdersrol
Voordat u een service-principal kunt gebruiken voor Analysis Services-serverbeheerbewerkingen, moet u deze toevoegen aan de rol serverbeheerders. De service-principals moeten rechtstreeks worden toegevoegd aan de serverbeheerderrol. Het toevoegen van een service-principal aan een beveiligingsgroep en het toevoegen van die beveiligingsgroep aan de serverbeheerdersrol wordt niet ondersteund. Zie Een service-principal toevoegen aan de rol serverbeheerder voor meer informatie.
Service-principals in verbindingsreeks s
Service-principal-appID en wachtwoord of certificaat kunnen worden gebruikt in verbindingsreeks s veel hetzelfde als een UPN.
Powershell
Notitie
Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
Az.AnalysisServices-module gebruiken
Wanneer u een service-principal gebruikt voor resourcebeheerbewerkingen met de Module Az.AnalysisServices , gebruikt u Connect-AzAccount
de cmdlet.
In het volgende voorbeeld worden appID en een wachtwoord gebruikt om besturingsvlakbewerkingen uit te voeren voor synchronisatie naar alleen-lezen replica's en omhoog/uitschalen:
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
SQLServer-module gebruiken
In het volgende voorbeeld worden appID en een wachtwoord gebruikt om een modeldatabasevernieuwingsbewerking uit te voeren:
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 en ADOMD
Wanneer u verbinding maakt met clienttoepassingen en web-apps, ondersteunen AMO- en ADOMD-clientbibliotheken versie 15.0.2 en hoger installeerbare pakketten van NuGet service-principals in verbindingsreeks s met behulp van de volgende syntaxis: app:AppID
en wachtwoord of cert:thumbprint
.
In het volgende voorbeeld appID
worden een password
modeldatabasevernieuwingsbewerking uitgevoerd:
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();
Volgende stappen
Aanmelden met Azure PowerShell
Vernieuwen met Logic Apps
Vernieuwen met Azure Automation
Een service-principal toevoegen aan de rol serverbeheerder
Power BI Premium-werkruimte- en gegevenssettaken automatiseren met service-principals