Automatyzacja przy użyciu jednostek usługi

Jednostki usługi to zasób aplikacji Firmy Microsoft Entra tworzony w ramach dzierżawy w celu wykonywania nienadzorowanych operacji na poziomie zasobów i usług. Są one unikatowym typem tożsamości użytkownika z identyfikatorem aplikacji i hasłem lub certyfikatem. Jednostka usługi ma tylko te uprawnienia niezbędne do wykonywania zadań zdefiniowanych przez role i uprawnienia, do których jest przypisywana.

W usługach Analysis Services jednostki usługi są używane z usługą Azure Automation, trybem nienadzorowanym programu PowerShell, niestandardowymi aplikacjami klienckimi i aplikacjami internetowymi w celu zautomatyzowania typowych zadań. Na przykład aprowizowanie serwerów, wdrażanie modeli, odświeżanie danych, skalowanie w górę/w dół i wstrzymywanie/wznawianie może być zautomatyzowane przy użyciu jednostek usługi. Uprawnienia są przypisywane do jednostek usługi za pośrednictwem członkostwa w rolach, podobnie jak zwykłe konta nazw UPN firmy Microsoft.

Usługi Analysis Services nie obsługują operacji wykonywanych przez tożsamości zarządzane przy użyciu nazw głównych usługi. Aby dowiedzieć się więcej, zobacz Tożsamości zarządzane dla zasobów platformy Azure i usługi platformy Azure, które obsługują uwierzytelnianie usługi Microsoft Entra.

Tworzenie jednostek usługi

Jednostki usługi można utworzyć w witrynie Azure Portal lub przy użyciu programu PowerShell. Aby dowiedzieć się więcej, zobacz:

Tworzenie jednostki usługi — Azure Portal
Tworzenie jednostki usługi — PowerShell

Przechowywanie zasobów poświadczeń i certyfikatów w usłudze Azure Automation

Poświadczenia i certyfikaty jednostki usługi mogą być bezpiecznie przechowywane w usłudze Azure Automation na potrzeby operacji elementu Runbook. Aby dowiedzieć się więcej, zobacz:

Zasoby poświadczeń w usłudze Azure Automation
Zasoby certyfikatów w usłudze Azure Automation

Dodawanie jednostek usługi do roli administratora serwera

Aby można było użyć jednostki usługi dla operacji zarządzania serwerem usług Analysis Services, należy dodać ją do roli administratorów serwera. Nazwy główne usługi należy dodawać bezpośrednio do roli administratora serwera. Dodanie jednostki usługi do grupy zabezpieczeń, a następnie dodanie tej grupy zabezpieczeń do roli administratora serwera nie jest obsługiwane. Aby dowiedzieć się więcej, zobacz Dodawanie jednostki usługi do roli administratora serwera.

Jednostki usługi w parametry połączenia

Identyfikator aplikacji jednostki usługi i hasło lub certyfikat można używać w parametry połączenia znacznie tak samo jak nazwa UPN.

PowerShell

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Korzystanie z modułu Az.AnalysisServices

W przypadku korzystania z jednostki usługi na potrzeby operacji zarządzania zasobami za pomocą modułu Az.AnalysisServices użyj Connect-AzAccount polecenia cmdlet .

W poniższym przykładzie identyfikator appID i hasło są używane do wykonywania operacji płaszczyzny sterowania na potrzeby synchronizacji replik tylko do odczytu i skalowania w górę/w poziomie:

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

Korzystanie z modułu SQLServer

W poniższym przykładzie identyfikator appID i hasło są używane do wykonywania operacji odświeżania bazy danych modelu:

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

Podczas nawiązywania połączenia z aplikacjami klienckimi i aplikacjami internetowymi biblioteki klienckie AMO i ADOMD w wersji 15.0.2 i nowszej z możliwością instalacji z jednostek usługi NuGet w parametry połączenia przy użyciu następującej składni: app:AppID i hasła lub cert:thumbprint.

W poniższym przykładzie appID element i element password służą do wykonywania operacji odświeżania bazy danych modelu:

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

Następne kroki

Logowanie się w programie Azure PowerShell
Odświeżanie za pomocą usługi Logic Apps
Odświeżanie za pomocą usługi Azure Automation
Dodawanie jednostki usługi do roli administratora serwera
Automatyzowanie zadań obszaru roboczego i zestawu danych usługi Power BI Premium przy użyciu jednostek usługi