Servicetags gebruiken met Power BI

U kunt Azure-servicetags met Power BI gebruiken om een Azure SQL Managed Instance (MI) in te schakelen om binnenkomende verbindingen vanuit de Power BI-service toe te staan. In Azure is een servicetag een gedefinieerde groep IP-adressen die u kunt configureren om automatisch te worden beheerd, als groep, om de complexiteit van updates of wijzigingen in netwerkbeveiligingsregels te minimaliseren. Door servicetags met Power BI te gebruiken, kunt u een SQL Managed Instance zo instellen dat binnenkomende verbindingen van de Power BI service worden toegestaan.

De volgende configuraties zijn nodig om de eindpunten in te schakelen voor gebruik in de Power BI-service:

  1. Schakel een openbaar eindpunt in het beheerde SQL-exemplaar in.
  2. Maak een regel voor netwerkbeveiligingsgroepen om binnenkomend verkeer toe te staan.
  3. Voer de referenties in Power BI in.

In de volgende secties ziet u elk van deze stappen op zijn beurt.

Een openbaar eindpunt inschakelen

Het eerste deel van het proces is het inschakelen van een openbaar eindpunt in het beheerde SQL-exemplaar. Voer de volgende stappen uit:

  1. Meld u aan bij Azure Portal en navigeer naar uw met SQL beheerde exemplaar.

  2. Selecteer Netwerken aan de linkerkant van de pagina.

  3. Openbaar eindpunt (gegevens) van dia om in te schakelen en stel vervolgens de minimale TLS-versiein op 1.2. In de volgende afbeelding ziet u het scherm in Azure Portal.

    Screenshot of Azure portal to enable public endpoints.

  4. Selecteer Opslaan om uw instellingen op te slaan.

Regel voor netwerkbeveiligingsgroep maken

Voor de volgende verzameling stappen moet u een NSG-regel (Network Security Group) maken om binnenkomend verkeer voor de Power BI-service toe te staan. Deze actie kan worden voltooid in Azure Portal door gebruik te maken van de bronservicetag van Power BI of door de opdrachtregelinterface (CLI) of PowerShell te gebruiken.

Notitie

De prioriteit van de regel die u instelt, moet hoger zijn dan de regel 4096 deny_all_inbound , wat betekent dat de prioriteitswaarde lager moet zijn dan 4096. In het volgende voorbeeld wordt een prioriteitswaarde van 400 gebruikt.

Het volgende CLI-script wordt geleverd als referentievoorbeeld. Zie az network nsg rule voor meer informatie. Mogelijk moet u meerdere waarden voor het voorbeeld wijzigen om goed te kunnen werken in uw situatie. Daarna wordt een PowerShell-script opgegeven.

#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

Het volgende PowerShell-script wordt geleverd als een andere verwijzing om de NSG-regel te maken. Zie Een regel voor netwerkbeveiligingsgroepen toevoegen in PowerShell voor meer informatie. Mogelijk moet u meerdere waarden voor het voorbeeld wijzigen om goed te kunnen werken in uw situatie.

#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 

Voer de referenties in Power BI in

Het laatste deel van het proces is het invoeren van de referenties in de Power BI-service.

  1. Meld u aan bij de Power BI-service en navigeer naar de werkruimte met de gegevensset(s) die gebruikmaken van SQL Managed Instance. In het volgende voorbeeld wordt die werkruimte ASAdataset genoemd en wordt de gegevensset Contoso SQL MI Demo genoemd.

  2. Selecteer Instellingen in de rechterbovenhoek en kies vervolgens Instellingen in de vervolgkeuzelijst.

    Screenshot of the settings dropdown menu.

  3. Vouw onder Gegevenssets de sectie Gegevensbronreferenties uit.

    Screenshot of the edit credentials option in the Datasets tab.

  4. Selecteer de koppeling Referenties bewerken. Voer in het dialoogvenster dat wordt weergegeven geldige referenties in.

Sla uw instellingen op en sluit af. Uw met SQL beheerde exemplaar is nu geconfigureerd om binnenkomende verbindingen vanuit de Power BI-service toe te staan.