Compartir a través de


Automatización con entidades de servicio

Los principales de servicio son un recurso de aplicación de Microsoft Entra que usted crea en su inquilino para realizar operaciones de recursos y de servicio automáticas. Son un tipo único de identidad de usuario con un identificador de aplicación y una contraseña o certificado. Un servicio principal solo tiene los permisos necesarios para realizar tareas definidas por los roles y permisos a los cuales está asignada.

En Analysis Services, los principales de servicio se utilizan con Azure Automation, el modo desatendido de PowerShell, las aplicaciones cliente personalizadas y las aplicaciones web para automatizar tareas comunes. Por ejemplo, el aprovisionamiento de servidores, la implementación de modelos, la actualización de datos, el escalado horizontal/vertical, y la pausa/reanudación pueden automatizarse mediante entidades de servicio. Los permisos se asignan a las entidades de servicio a través de la pertenencia a roles, de forma muy similar a las cuentas de UPN normales de Microsoft Entra.

Analysis Services no admite operaciones realizadas por identidades administradas mediante entidades de servicio. Para más información, consulte Identidades administradas para recursos de Azure y servicios de Azure que admiten la autenticación de Microsoft Entra.

Creación de entidades de servicio

Las entidades de servicio se pueden crear en el portal de Azure o usando PowerShell. Para más información, consulte:

Creación de una entidad de servicio: Azure Portal
Creación de una entidad de servicio: PowerShell

Almacenamiento de recursos de credenciales y certificados en Azure Automation

Las credenciales y certificados de la entidad de servicio se pueden almacenar de forma segura en Azure Automation para las operaciones de runbook. Para más información, consulte:

Recursos de credenciales en Azure Automation
Recursos de certificados en Azure Automation

Añadir entidades de servicio al rol de administrador del servidor

Antes de poder utilizar una entidad de servicio para las operaciones de gestión del servidor de Analysis Services, debe añadirla al rol de administradores del servidor. Las entidades de servicio deben agregarse directamente al rol Administrador del servidor. La incorporación de una entidad de servicio a un grupo de seguridad y, posteriormente, de ese grupo de seguridad al rol Administrador del servidor, no se admite. Para obtener más información, consulte Incorporación de una entidad de servicio al rol de administrador del servidor.

Principales de servicio en cadenas de conexión

ID de aplicación del principal de servicio y contraseña o certificado se pueden usar en cadenas de conexión de la misma manera que un UPN.

PowerShell

Nota:

Se recomienda usar el módulo de PowerShell de Azure Az para interactuar con Azure. Para empezar, consulte Instalación de Azure PowerShell. Para obtener información sobre cómo migrar al módulo Az PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Uso del módulo Az.AnalysisServices

Al usar una entidad de servicio para operaciones de gestión de recursos con el módulo Az.AnalysisServices, use Connect-AzAccount cmdlet.

En el ejemplo siguiente, se utilizan appID y una contraseña para llevar a cabo operaciones en el plano de control, destinadas a la sincronización con réplicas de solo lectura, así como para escalar en extensión y capacidad.

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

Uso del módulo SQLServer

En el ejemplo siguiente, appID y una contraseña se usan para realizar una operación de actualización de base de datos de modelo:

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

Al conectarse con aplicaciones cliente y aplicaciones web, las bibliotecas cliente de AMO y ADOMD versión 15.0.2 y posteriores paquetes instalables desde NuGet admiten entidades de servicio en cadenas de conexión con la siguiente sintaxis: app:AppID y contraseña o cert:thumbprint.

En el ejemplo siguiente, appID y password se usan para realizar una operación de actualización de base de datos de modelo:

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

Pasos siguientes

Inicio de sesión con Azure PowerShell
Actualización con Logic Apps
Actualización con Azure Automation
Añadir un principal de servicio en el rol de administrador del servidor
Automatiza tareas de conjuntos de datos y áreas de trabajo de Power BI Premium con entidades de servicio