Verwenden von Diensttags mit Power BI
Sie können Azure-Diensttags mit Power BI verwenden, um eine Azure SQL Managed Instance (MI) zu aktivieren, um eingehende Verbindungen von der Power BI-Dienst zuzulassen. In Azure ist ein Diensttag eine definierte Gruppe von IP-Adressen, die Sie für die automatische Verwaltung als Gruppe konfigurieren können, um die Komplexität von Updates oder Änderungen an Netzwerksicherheitsregeln zu minimieren. Mithilfe von Diensttags mit Power BI können Sie eine SQL Managed Instance aktivieren, um eingehende Verbindungen von dem Power BI-Dienst zuzulassen.
Die folgenden Konfigurationen sind erforderlich, um die Endpunkte erfolgreich für die Verwendung im Power BI-Dienst zu aktivieren:
- Aktivieren Sie einen öffentlichen Endpunkt in SQL Managed Instance.
- Erstellen Sie eine Regel für eine Netzwerksicherheitsgruppe, um eingehenden Datenverkehr zuzulassen.
- Geben Sie die Anmeldeinformationen in Power BI ein.
In den folgenden Abschnitten werden diese Schritte beschrieben.
Aktivieren des öffentlichen Endpunkts
Im ersten Teil des Vorgangs wird ein öffentlicher Endpunkt in SQL Managed Instance aktiviert. Führen Sie die folgenden Schritte aus:
Melden Sie sich beim Azure-Portal an, und navigieren Sie zu Ihrer SQL Managed Instance.
Wählen Sie links auf der Seite die Option Netzwerk aus.
Ziehen Sie Öffentlicher Endpunkt (Daten) zu Aktivieren, und legen Sie dann die TLS-Mindestversion auf 1.2 fest. Die folgende Abbildung zeigt die Liste der Abonnements im Azure-Portal.
Klicken Sie auf Save (Speichern), um Ihre Einstellungen zu speichern.
Erstellen einer Netzwerksicherheitsgruppen-Regel
Für die nächste Sammlung von Schritten müssen Sie eine NSG-Regel (Netzwerksicherheitsgruppe) erstellen, um eingehenden Datenverkehr für den Power BI-Dienst zuzulassen. Diese Aktion kann im Azure-Portal mithilfe des „Quelldiensttags“ von Power BI oder mithilfe der Befehlszeilenschnittstelle (CLI) bzw. PowerShell durchgeführt werden.
Hinweis
Die Priorität der Regel, die Sie festlegen, muss höher als die 4096 deny_all_inbound-Regel sein. Dies bedeutet, dass der Prioritätswert niedriger als 4096 sein muss. Im folgenden Beispiel wird der Prioritätswert 400 verwendet.
Das folgende CLI-Skript wird als Referenzbeispiel bereitgestellt. Weitere Informationen finden Sie unter az network nsg rule. Möglicherweise müssen Sie mehrere Werte ändern, damit das Beispiel in Ihrer Situation ordnungsgemäß funktioniert. Anschließend wird ein PowerShell-Skript bereitgestellt.
#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
Das folgende PowerShell-Skript wird als weitere Referenz zum Erstellen der NSG-Regel bereitgestellt. Weitere Informationen finden Sie unter Hinzufügen einer Netzwerksicherheitsgruppe-Regel in PowerShell. Möglicherweise müssen Sie mehrere Werte ändern, damit das Beispiel in Ihrer Situation ordnungsgemäß funktioniert.
#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
Eingeben von Anmeldeinformationen in Power BI
Der letzte Teil des Prozesses ist die Eingabe der Anmeldeinformationen im Power BI-Dienst.
Melden Sie sich beim Power BI-Dienst an, und navigieren Sie zu dem Arbeitsbereich, der die Datasets enthält, die SQL Managed Instance nutzen. Im folgenden Beispiel heißt dieser Arbeitsbereich ASAdataset, und das Dataset heißt Contoso SQL MI Demo.
Wählen Sie in der oberen rechten Ecke Einstellungen und dann im Dropdownmenü Einstellungen aus.
Erweitern Sie unter Datasets den Bereich Datenquellen-Anmeldeinformationen.
Wählen Sie den Link Anmeldeinformationen bearbeiten aus. Geben Sie im angezeigten Dialogfeld gültige Anmeldeinformationen ein.
Speichern Sie Ihre Einstellungen und beenden Sie den Vorgang. Ihr SQL Managed Instance ist jetzt so konfiguriert, dass sie eingehende Verbindungen vom Power BI-Dienst zulässt.