Uso de etiquetas de servicio con Power BI

Puede usar etiquetas de servicio de Azure con Power BI para habilitar una instancia de Azure SQL Managed Instance a fin de permitir conexiones entrantes desde el servicio Power BI. En Azure, una etiqueta de servicio es un grupo definido de direcciones IP que puede configurar para administrarse automáticamente, como grupo, a fin de minimizar la complejidad de las actualizaciones o los cambios en las reglas de seguridad de red. Usando etiquetas de servicio con Power BI puede habilitar una instancia de SQL Managed Instance para permitir conexiones entrantes desde el servicio Power BI.

Las configuraciones siguientes son necesarias a fin de habilitar correctamente los puntos de conexión para su uso en el servicio Power BI:

  1. Habilite un punto de conexión público en la SQL Managed Instance.
  2. Cree una regla de Grupo de seguridad de red para permitir el tráfico entrante.
  3. Introduzca las credenciales en Power BI.

En las siguientes secciones se examina, uno por uno, cada uno de estos pasos.

Habilitación de un punto de conexión público

La primera parte del proceso es habilitar un punto de conexión público en SQL Managed Instance. Siga estos pasos.

  1. Inicie sesión en el Azure Portal y vaya a SQL Managed Instance.

  2. En el lado izquierdo de la página, seleccione Redes.

  3. Deslice el punto de conexión público (datos) en Habilitar y establezca la Versión mínima de TLS en 1.2. En la imagen siguiente se muestra la pantalla en Azure Portal.

    Screenshot of Azure portal to enable public endpoints.

  4. Haga clic en Guardar para guardar la configuración.

Creación de una regla de grupo de seguridad de red

Para la colección siguiente de pasos es necesario crear una regla de grupo de seguridad de red (NSG) a fin de permitir el tráfico entrante para el servicio Power BI. Esta acción se puede completar en Azure Portal aprovechando la "Etiqueta de servicio de origen" de Power BI o mediante la interfaz de la línea de comandos (CLI) o PowerShell.

Nota:

La prioridad de la regla que establezca debe ser mayor que la regla deny_all_inbound 4096, lo que significa que el valor de prioridad debe ser inferior a 4096. En el ejemplo siguiente, se usa un valor de prioridad de 400.

El script de la CLI siguiente se proporciona como ejemplo de referencia. Para obtener más información, consulte la reglaaz network nsg. Es posible que tenga que cambiar varios valores para que el ejemplo funcione correctamente en su situación. Posteriormente se proporciona un script de PowerShell.

#login to azure
az login

#set subscription that contains SQL MI instance
$subname = "mysubscriptionname"
az account set --subscription $subname

#set NSG rule for inbound PowerBI traffic

#update $RG to your resource group name
$rg = 'myresourcegroup'
#update $nsg to your Network Security Group name
$nsg = 'nsgresourcename'
# Name the NSG rule
$rule = 'allow_inbound_PowerBI'
#set the priority - this must be higher priority (lower number) than the deny_all_inbound rule
$priority = 400
#specifiy the service tag to use
$servicetag = 'PowerBI'
#specify the public endpoint port defined in step 1
$port = 3342
#set the rule to inbound direction
$direction = 'Inbound'
#set the access type to "Allow"
$access = 'Allow'
#Set the protocol as TCP
$protocol = 'tcp'
#Provide a description for the rule
$desc = 'Allow PowerBI Access to SQL MI for Direct Query or Data Refresh.'
 
#create the NSG rule
az network nsg rule create -g $rg \
--nsg-name $nsg -n $rule --priority $priority \
--source-address-prefixes $servicetag --destination-address-prefixes '*' \
--destination-port-ranges $port --direction $direction --access $access \
--protocol $protocol --description $desc

El script de PowerShell siguiente se proporciona como otra referencia para crear la regla de NSG. Para obtener más información, consulte Incorporación de una regla de grupo de seguridad de red en PowerShell. Es posible que tenga que cambiar varios valores para que el ejemplo funcione correctamente en su situación.

#login to azure
Login-AzAccount

#get your subscription ID
Get-AzSubscription

####
#Script to create Network Security Group Rule
###

#enter your subscription ID
Set-AzContext -SubscriptionId "yoursubscriptionID" 

#Provide the resource group for your Network Security Group
$RGname="yourRG"
#Enter the port for the SQL Managed Instance Public Endpoint
$port=3342
#name the NSG rule
$rulename="allow_inbound_PowerBI"
#provide the name of the Network Security Group to add the rule to
$nsgname="yourNSG"
#set direction to inbound to allow PowerBI to access SQL MI
$direction ="Inbound"
#set the priority of the rule. Priority must be higher (ie. lower number) than the deny_all_inbound (4096)
$priority=400
#set the service tags for the source to \u201cPowerBI\u201d
$serviceTag = "PowerBI"

# Get the NSG resource
$nsg = Get-AzNetworkSecurityGroup -Name $nsgname -ResourceGroupName $RGname

# Add the inbound security rule.
$nsg | Add-AzNetworkSecurityRuleConfig -Name $rulename -Description "Allow app port" -Access Allow `
    -Protocol * -Direction $direction -Priority $priority -SourceAddressPrefix $serviceTag -SourcePortRange * `
    -DestinationAddressPrefix * -DestinationPortRange $port

# Update the NSG.
$nsg | Set-AzNetworkSecurityGroup 

Introducir las credenciales en Power BI

La última parte del proceso es escribir las credenciales en el servicio Power BI.

  1. Inicie sesión en el servicio Power BI y vaya al área de trabajo que contiene los conjuntos de datos que usan SQL Managed Instance. En el ejemplo siguiente, esa área de trabajo se denomina ASAdataset y el conjunto de datos se llama Contoso SQL MI Demo.

  2. Seleccione Configuración en la esquina superior derecha y, después, elija Configuración en el menú desplegable.

    Screenshot of the settings dropdown menu.

  3. En Conjuntos de datos, expanda la sección Credenciales del origen de datos.

    Screenshot of the edit credentials option in the Datasets tab.

  4. Seleccione el vínculo Editar credenciales. En el cuadro de diálogo que aparece, escriba credenciales válidas.

Guarde la configuración y salga. Su instancia de SQL Managed Instance está configurada para permitir las conexiones entrantes desde el servicio Power BI.