Usare i tag del servizio con Power BI

È possibile usare i tag del servizio di Azure con Power BI per abilitare un Istanza gestita di SQL di Azure (MI) per consentire le connessioni in ingresso dalla servizio Power BI. In Azure un tag di servizio è un gruppo definito di indirizzi IP che è possibile configurare per essere gestito automaticamente, come gruppo, per ridurre al minimo la complessità degli aggiornamenti o delle modifiche alle regole di sicurezza di rete. Usando i tag di servizio con Power BI, è possibile abilitare un'istanza gestita di SQL per consentire le connessioni in ingresso dal servizio Power BI.

Per abilitare correttamente gli endpoint da usare nella servizio Power BI sono necessarie le configurazioni seguenti:

  1. Abilitare un endpoint pubblico nella Istanza gestita di SQL.
  2. Creare una regola del gruppo di sicurezza di rete per consentire il traffico in ingresso.
  3. Immettere le credenziali in Power BI.

Le sezioni seguenti esaminano ognuno di questi passaggi.

Abilitare un endpoint pubblico

La prima parte del processo consiste nell'abilitare un endpoint pubblico nel Istanza gestita di SQL. Seguire questa procedura:

  1. Accedere al portale di Azure e passare al Istanza gestita di SQL.

  2. Sul lato sinistro della pagina selezionare Rete.

  3. Scorrere l'endpoint pubblico (dati) su Abilita, quindi impostare La versione minima di TLS su 1.2. L'immagine seguente mostra la schermata nella portale di Azure.

    Screenshot of Azure portal to enable public endpoints.

  4. Per salvare le impostazioni, fare clic su Save (Salva).

Creare una regola del gruppo di sicurezza di rete

La raccolta successiva di passaggi richiede la creazione di una regola del gruppo di sicurezza di rete (NSG) per consentire il traffico in ingresso per il servizio Power BI. Questa azione può essere completata nella portale di Azure sfruttando il "tag del servizio di origine" di Power BI o usando l'interfaccia della riga di comando o PowerShell.

Nota

La priorità della regola impostata deve essere superiore alla regola di deny_all_inbound 4096, ovvero il valore di priorità deve essere inferiore a 4096. Nell'esempio seguente viene usato un valore di priorità pari a 400.

Lo script dell'interfaccia della riga di comando seguente viene fornito come esempio di riferimento. Per altre informazioni, vedere az network nsg rule. Potrebbe essere necessario modificare più valori affinché l'esempio funzioni correttamente nella situazione. In seguito viene fornito uno script di 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

Lo script di PowerShell seguente viene fornito come un altro riferimento per creare la regola del gruppo di sicurezza di rete. Per altre informazioni, vedere Aggiungere una regola del gruppo di sicurezza di rete in PowerShell. Potrebbe essere necessario modificare più valori affinché l'esempio funzioni correttamente nella situazione.

#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 

Immettere le credenziali in Power BI

L'ultima parte del processo sta immettendo le credenziali nel servizio Power BI.

  1. Accedere al servizio Power BI e passare all'area di lavoro contenente i set di dati che usano Istanza gestita di SQL. Nell'esempio seguente l'area di lavoro è denominata ASAdataset e il set di dati è denominato Contoso SQL MI Demo.

  2. Selezionare Impostazioni nell'angolo in alto a destra, quindi scegliere Impostazioni dal menu a discesa.

    Screenshot of the settings dropdown menu.

  3. In Set di dati espandere la sezione Credenziali origine dati.

    Screenshot of the edit credentials option in the Datasets tab.

  4. Selezionare il collegamento Modifica credenziali . Nella finestra di dialogo visualizzata immettere credenziali valide.

Salvare le impostazioni e uscire. Il Istanza gestita di SQL è ora configurato per consentire le connessioni in ingresso dalla servizio Power BI.