Saltar al contenido

Concesión de acceso

En este artículo se describe el método para usar la entidad de servicio y el identificador de aplicación para el análisis incrustado de Power BI, centrándose en la autenticación mediante el identificador de aplicación y el secreto.

Paso 1: Creación de una aplicación de Azure AD

Nube: la aplicación de Azure AD debe estar ya configurada. Si olvidó el nombre de la aplicación de Azure AD, puede ir a la página Configuración del módulo en Business Central para averiguar el nombre.

OnPrem: configure una aplicación de Azure AD a través de Azure Portal o PowerShell. Obtenga el ID de la aplicación y la creación de la publicación secreta. El proceso implica el registro de la aplicación, la configuración de certificados y secretos, y el registro del identificador de cliente y los detalles de la entidad de servicio (si se usa PowerShell).

Paso 2: Creación de un grupo de seguridad de Azure AD

Para conceder a la entidad de servicio acceso al contenido y las API de Power BI, cree un grupo de seguridad en Azure AD y agregue la entidad de servicio a este grupo. Esto se puede hacer manualmente en Azure o mediante PowerShell.

Info

Si desea habilitar el acceso a la entidad de servicio para toda la organización, omita este paso.

Hay dos maneras de crear un grupo de seguridad de Azure AD:

  • Uso de PowerShell

Creación de un grupo de seguridad mediante PowerShell

El siguiente script de ejemplo crea un nuevo grupo de seguridad. También agrega la entidad de servicio que creó anteriormente al nuevo grupo de seguridad.

  • Antes de ejecutar el script, reemplaza <app-client-ID> por el ID de cliente que registraste anteriormente para la nueva aplicación.
  • Después de ejecutar el script, anote el ID de objeto del nuevo grupo de seguridad, que puede encontrar en la salida del script.
Powershell
# Sign in as an admin.
Connect-MgGraph -Scopes "Application.ReadWrite.All"

# Get the service principal that you created earlier.
$servicePrincipal = Get-MgServicePrincipal -Filter "AppId eq '<app-client-ID>'"

# Create an Azure AD security group.
$group = New-MgGroup -DisplayName "securitygroup1" -SecurityEnabled -MailEnabled:$False -MailNickName "notSet"
Write-Host "Object ID of new security group: " $($group.Id)

# Add the service principal to the group.
New-MgGroupMember -GroupId $($group.Id) -DirectoryObjectId $($servicePrincipal.Id)

Paso 3: Habilitar la configuración de administración del servicio Power BI

El administrador de Power BI debe habilitar la configuración que permite que la aplicación de Azure AD acceda al contenido y las API de Power BI. Esto se puede configurar en el portal de administración de Power BI, en la sección Configuración de inquilinos > Configuración del desarrollador.

Para que una aplicación de Azure AD acceda al contenido y las API de Power BI, un administrador de Power BI debe habilitar la siguiente configuración:

  • Permitir que las entidades de servicio usen las API de Power BI

En el portal de administración de Power BI, vaya a Configuración de inquilinos y desplácese hacia abajo hasta Configuración de desarrolladores.

Habilite Permitir que las entidades de servicio usen las API de Power BI para toda la organización o para el grupo de seguridad específico que creó en Azure AD.

Warning

  • Las entidades de servicio tienen acceso a cualquier configuración de inquilino para la que estén habilitadas. En función de la configuración del administrador, esto incluye grupos de seguridad específicos o toda la organización.
  • Para restringir el acceso de la entidad de servicio a una configuración de inquilino específica, permita el acceso solo a grupos de seguridad específicos. Como alternativa, puede crear un grupo de seguridad dedicado para las entidades de servicio y excluirlo de la configuración de inquilino deseada.

Paso 4: Agregar la entidad de servicio al área de trabajo

Conceda a la aplicación de Azure AD acceso al área de trabajo de Power BI agregando la entidad de servicio o su grupo de seguridad al área de trabajo como miembro o administrador. Esto se puede hacer manualmente, a través de PowerShell o mediante la API.

Hay tres maneras de agregar una entidad de servicio o su grupo de seguridad al área de trabajo:

  • Usar la API Grupos: agregar usuario de grupo

Adición manual de una entidad de servicio o un grupo de seguridad

  • En el servicio Power BI, desplácese hasta el área de trabajo para la que desea habilitar el acceso. En el menú Más, seleccione Acceso al espacio de trabajo. En el panel Acceso, en Agregar administradores, miembros o colaboradores, agregue una de las siguientes opciones:
  • La entidad de servicio. El nombre de la entidad de servicio es el nombre para mostrar de la aplicación de Azure AD, tal como aparece en la pestaña de información general de la aplicación de Azure AD.
  • El grupo de seguridad que incluye la entidad de servicio.

  • En el menú desplegable, selecciona Miembro o Administrador.

  • Seleccione Agregar.

Incorporación de una entidad de servicio como miembro del área de trabajo mediante PowerShell

En el siguiente script se agrega una entidad de servicio como miembro del área de trabajo. Antes de ejecutar el script:

  • Reemplace &lt;service-principal-object-ID> por el identificador de objeto que registró anteriormente para la nueva entidad de servicio.
  • Reemplace &lt;workspace-name&gt; por el nombre del área de trabajo a la que desea conceder acceso a la entidad de servicio.
Powershell
# Sign in to Power BI.
Login-PowerBI

# Set up the service principal ID.
$SPObjectID = "<service-principal-object-ID>"

# Get the workspace.
$pbiWorkspace = Get-PowerBIWorkspace -Filter "name eq '<workspace-name>'"

# Add the service principal to the workspace.
Add-PowerBIWorkspaceUser -Id $($pbiWorkspace.Id) -AccessRight Member -PrincipalType App -Identifier $($SPObjectID)

Consideraciones y limitaciones

  • Se requieren permisos específicos para su uso con el origen de datos de Azure Analysis Services.