Hizmet sorumluları ile otomasyon

Hizmet sorumluları, katılımsız kaynak ve hizmet düzeyi işlemleri gerçekleştirmek için kiracınızda oluşturduğunuz bir Microsoft Entra uygulama kaynağıdır. Bunlar, uygulama kimliği ve parolası veya sertifikası olan benzersiz bir kullanıcı kimliği türüdür. Hizmet sorumlusu yalnızca atandığı roller ve izinler tarafından tanımlanan görevleri gerçekleştirmek için gereken izinlere sahiptir.

Analysis Services'te hizmet sorumluları, yaygın görevleri otomatikleştirmek için Azure Otomasyonu, PowerShell katılımsız modu, özel istemci uygulamaları ve web uygulamaları ile birlikte kullanılır. Örneğin sunucuları sağlama, modelleri dağıtma, veri yenileme, ölçeği artırma/azaltma ve duraklatma/sürdürme işlemleri hizmet sorumluları kullanılarak otomatikleştirilebilir. İzinler, normal Microsoft Entra UPN hesapları gibi rol üyeliği aracılığıyla hizmet sorumlularına atanır.

Analysis Services, hizmet sorumluları kullanılarak yönetilen kimlikler tarafından gerçekleştirilen işlemleri desteklemez . Daha fazla bilgi edinmek için bkz. Azure kaynakları için yönetilen kimlikler ve Microsoft Entra kimlik doğrulamasını destekleyen Azure hizmetleri.

Hizmet sorumlusu oluşturma

Hizmet sorumluları Azure portalında veya PowerShell kullanılarak oluşturulabilir. Daha fazla bilgi edinmek için şu makalelere bakın:

Hizmet sorumlusu oluşturma - Azure portalı
Hizmet sorumlusu oluşturma - PowerShell

Kimlik bilgilerini ve sertifika varlıklarını Azure Otomasyonu

Hizmet sorumlusu kimlik bilgileri ve sertifikaları, runbook işlemleri için Azure Otomasyonu güvenli bir şekilde depolanabilir. Daha fazla bilgi edinmek için şu makalelere bakın:

Azure Otomasyonu'ndaki kimlik bilgileri varlıkları
Azure Otomasyonu'ndaki sertifika varlıkları

Sunucu yöneticisi rolüne hizmet sorumluları ekleme

Analysis Services sunucu yönetimi işlemleri için bir hizmet sorumlusu kullanabilmeniz için önce bunu sunucu yöneticileri rolüne eklemeniz gerekir. Hizmet sorumluları doğrudan sunucu yöneticisi rolüne eklenmelidir. Bir güvenlik grubuna hizmet sorumlusu ekleme ve ardından bu güvenlik grubunu sunucu yöneticisi rolüne ekleme desteklenmez. Daha fazla bilgi edinmek için bkz . Sunucu yöneticisi rolüne hizmet sorumlusu ekleme.

bağlantı dizesi'lerdeki hizmet sorumluları

Hizmet sorumlusu appID ve parola veya sertifika, bağlantı dizesi'lerde UPN ile çok aynı şekilde kullanılabilir.

PowerShell

Dekont

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Az.AnalysisServices modülünü kullanma

Az.AnalysisServices modülüyle kaynak yönetimi işlemleri için hizmet sorumlusu kullanırken cmdlet'ini kullanınConnect-AzAccount.

Aşağıdaki örnekte appID ve parola, salt okunur çoğaltmalara eşitleme için denetim düzlemi işlemleri gerçekleştirmek ve ölçeği artırmak/genişletmek için kullanılır:

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 modülünü kullanma

Aşağıdaki örnekte, model veritabanı yenileme işlemini gerçekleştirmek için appID ve parola kullanılır:

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

İstemci uygulamaları ve web uygulamalarıyla bağlanırken, AMO ve ADOMD istemci kitaplıkları sürüm 15.0.2 ve nuGet'ten daha yüksek yüklenebilir paketler aşağıdaki söz dizimini kullanarak bağlantı dizesi'lerdeki hizmet sorumlularını destekler: app:AppID ve parola veya cert:thumbprint.

Aşağıdaki örnekte appID ve password model veritabanı yenileme işlemi gerçekleştirmek için kullanılır:

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

Sonraki adımlar

Azure PowerShell ile oturum açma
Logic Apps ile yenileme
Azure Otomasyonu ile yenileme
Sunucu yöneticisi rolüne hizmet sorumlusu ekleme
Hizmet sorumlularıyla Power BI Premium çalışma alanı ve veri kümesi görevlerini otomatikleştirme