Otomatisasi dengan perwakilan layanan

Perwakilan layanan adalah sumber daya aplikasi Microsoft Entra yang Anda buat dalam penyewa Anda untuk melakukan operasi sumber daya dan tingkat layanan tanpa pengawas. Perwakilan layanan adalah jenis identitas pengguna unik dengan ID dan kata sandi atau sertifikat aplikasi. Perwakilan layanan hanya memiliki izin yang diperlukan untuk melakukan tugas yang ditentukan oleh peran dan izin yang ditetapkan.

Pada Analysis Services, perwakilan layanan digunakan dengan Azure Automation, mode tanpa pengawasan PowerShell, aplikasi klien kustom, dan aplikasi web untuk mengotomatiskan tugas umum. Contohnya, memprovisikan server, menyebarkan model, refresh data, meningkatkan/menurunkan skala, dan menjeda/melanjutkan, semuanya dapat diotomatiskan menggunakan perwakilan layanan. Izin ditetapkan ke perwakilan layanan melalui keanggotaan peran, seperti akun UPN Microsoft Entra reguler.

Analysis Services tidak mendukung operasi yang dilakukan oleh identitas terkelola menggunakan prinsipal layanan. Untuk mempelajari lebih lanjut, lihat Identitas terkelola untuk sumber daya Azure dan Layanan Azure yang mendukung autentikasi Microsoft Entra.

Membuat prinsipal layanan

Perwakilan layanan dapat dibuat di portal Azure atau menggunakan PowerShell. Untuk mempelajari selengkapnya, lihat:

Membuat perwakilan layanan - portal Azure
Membuat perwakilan layanan - PowerShell

Menyimpan aset info masuk dan sertifikat di Azure Automation

Info masuk dan sertifikat perwakilan layanan dapat disimpan dengan aman di Azure Automation untuk operasi runbook. Untuk mempelajari selengkapnya, lihat:

Aset info masuk di Azure Automation
Aset sertifikat di Azure Automation

Menambahkan perwakilan layanan ke peran admin server

Sebelum Anda dapat menggunakan perwakilan layanan untuk operasi manajemen server Analysis Services, Anda harus menambahkannya ke peran administrator server. Prinsipal layanan harus ditambahkan langsung ke peran administrator server. Menambahkan perwakilan layanan ke kelompok keamanan, lalu menambahkan kelompok keamanan tersebut ke peran administrator server tidak didukung. Untuk mempelajari lebih lanjut, lihat Tambahkan perwakilan layanan ke peran administrator server.

Perwakilan layanan dalam string koneksi

AppID dan kata sandi atau sertifikat perwakilan layanan dapat digunakan dalam string koneksi, mirip dengan UPN.

PowerShell

Catatan

Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Menggunakan modul Az.AnalysisServices

Ketika menggunakan perwakilan layanan untuk operasi manajemen sumber daya dengan modul Az.AnalysisServices, gunakan cmdlet Connect-AzAccount.

Dalam contoh berikut, appID dan kata sandi digunakan untuk melakukan operasi sarana kontrol untuk sinkronisasi ke replika baca-saja dan meningkatkan/memperluas skala:

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

Menggunakan modul SQLServer

Dalam contoh berikut, appID dan kata sandi digunakan untuk melakukan operasi refresh database model:

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

Ketika menyambungkan dengan aplikasi dan aplikasi web klien, pustaka klien AMO dan ADOMD versi 15.0.2 dan paket yang dapat diinstal yang lebih tinggi dari NuGet mendukung perwakilan layanan pada string koneksi menggunakan sintaks berikut: app:AppID dan kata sandi atau cert:thumbprint.

Dalam contoh berikut, appID dan password digunakan untuk melakukan operasi refresh database model:

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

Langkah berikutnya

Masuk dengan Azure PowerShell
Refresh dengan Logic Apps
Menyegarkan ulang dengan Azure Automation
Menambahkan perwakilan layanan ke peran administrator server
Mengotomatiskan ruang kerja Power BI Premium dan tugas himpunan data dengan perwakilan layanan