Bruk av tjenestemerker med Power BI

Du kan bruke Azure-tjenestemerker med Power BI til å aktivere en Azure SQL administrert forekomst (MI) til å tillate innkommende tilkoblinger fra Power BI tjenesten. I Azure er et tjenestemerke en definert gruppe med IP-adresser som du kan konfigurere til å administreres automatisk, som en gruppe, for å minimere kompleksiteten av oppdateringer eller endringer i nettverkssikkerhetsregler. Ved å bruke tjenestemerker med Power BI, kan du aktivere en SQL administrert forekomst å tillate innkommende tilkoblinger fra Power BI tjenesten.

Følgende konfigurasjoner er nødvendige for å kunne aktivere endepunktene for bruk i Power BI tjenesten:

  1. Aktiver et offentlig endepunkt i SQL administrert forekomst
  2. Opprett en regel for nettverkssikkerhetsgruppen for å tillate innkommende trafikk
  3. Angi legitimasjonen i Power BI

Inndelingene nedenfor tar for seg hvert av disse trinnene.

Aktiver et offentlig endepunkt

Den første delen av prosessen er å aktivere et offentlig endepunkt iSQL administrert forekomst . Gjør følgende:

  1. Gå til SQL administrert forekomst på Azure Portal.

  2. Nettverk-bladet skyver du Det offentlige endepunktet (data) til Aktiver. Bildet nedenfor viser skjermen i Azure Portal.

    Skjermbilde av Azure Portal for å aktivere offentlige endepunkter

  3. Angi Minimum TLS-versjon til 1.2

  4. Velg Lagre for å lagre innstillingene.

Opprett en regel for nettverkssikkerhetsgruppen

Den neste samlingen av trinn krever at du oppretter en NSG-regel (Network Security Group) for å tillate innkommende trafikk for Power BI tjenesten. Dette kan for øyeblikket ikke gjøres i Azure Portal, og må i stedet gjøres ved hjelp av enten kommandolinjegrensesnittet (CLI) eller ved hjelp av PowerShell.

Obs!

Prioriteten til regelen du angir, må være høyere enn regelen 4096 deny_all_inbound, noe som betyr at prioritetsverdien må være lavere enn 4096. I eksemplet nedenfor brukes en prioritetsverdi på 400.

Følgende CLI-skript leveres som et referanseeksempel. Se az network nsg-regel for mer informasjon. Du må kanskje endre flere verdier for at eksemplet skal fungere ordentlig i din situasjon. Et PowerShell-skript leveres etterpå.

#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

Følgende PowerShell-skript leveres som en annen referanse for å opprette NSG-regelen (Network Security Group). Se Legge til en regel for nettverkssikkerhetsgruppen i PowerShell for mer informasjon. Du må kanskje endre flere verdier for at eksemplet skal fungere ordentlig i din situasjon.

#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 

Angi legitimasjonen i Power BI tjenesten

Den siste delen av prosessen er å angi legitimasjonen i Power BI tjenesten. Logg deg Power BI og naviger til arbeidsområdet som inneholder datasettene som bruker SQL administrert forekomst. I eksemplet nedenfor kalles dette arbeidsområdet ASAdataset, og datasettet kalles Contoso SQL MI Demo. Gjør følgende for å fullføre prosessen:

  1. Gå til Datasettinnstillinger.

  2. Utvid inndelingen Legitimasjon for datakilde, som vist i illustrasjonen nedenfor. Skjermbilde av rediger legitimasjon

  3. Velg koblingen Rediger legitimasjon. Angi gyldig legitimasjon i dialogboksen som vises.

Lagre innstillingene, og avslutt. Kontoen SQL administrert forekomst er nå konfigurert til å tillate innkommende tilkoblinger fra Power BI tjenesten.

Neste trinn