Usar marcas de serviço com o Power BI

Você pode usar as marcas de serviço do Azure com o Power BI para habilitar uma Instância Gerenciada de SQL do Azure para permitir conexões de entrada do serviço do Power BI. No Azure, uma marca de serviço é um grupo definido de endereços IP que pode ser configurado para ser gerenciado automaticamente, como um grupo, para minimizar a complexidade de atualizações ou as alterações nas regras de segurança de rede. Usando as marcas de serviço com o Power BI, você pode habilitar uma Instância Gerenciada de SQL para permitir as conexões de entrada do serviço do Power BI.

As seguintes configurações são necessárias para habilitar com sucesso os pontos de extremidade para uso no serviço do Power BI:

  1. Habilite um ponto de extremidade público na Instância Gerenciada de SQL.
  2. Crie uma regra de Grupo de Segurança de Rede para permitir o tráfego de entrada.
  3. Insira as credenciais no Power BI.

As seções a seguir examinam cada etapa individualmente.

Habilitar um ponto de extremidade público

A primeira parte do processo é habilitar um ponto de extremidade público na Instância Gerenciada de SQL. Siga estas etapas:

  1. Entre no portal do Azure e navegue até a Instância Gerenciada de SQL.

  2. No lado esquerdo da página, selecione Rede.

  3. Alterne o ponto de extremidade público (dados) para Habilitar e, em seguida, defina a versão mínima do TLS como 1.2. A imagem a seguir mostra a tela no portal do Azure.

    Screenshot of Azure portal to enable public endpoints.

  4. Selecione salvar para salvar suas configurações.

Criar uma regra de grupo de segurança de rede

A próxima coleção de etapas requer a criação de uma regra de NSG (Grupo de Segurança de Rede) para permitir o tráfego de entrada para o serviço do Power BI. Essa ação pode ser concluída no portal do Azure aproveitando a "marca de serviço de origem" do Power BI ou usando a interface de linha de comando (CLI) ou o PowerShell.

Observação

A prioridade da regra definida deve ser maior que a regra deny_all_inbound de 4096, o que significa que o valor de prioridade deve ser inferior a 4096. No exemplo a seguir, é usado o valor de prioridade de 400.

O script da CLI a seguir é fornecido como um exemplo de referência. Para obter mais informações, confira az network nsg rule. Talvez seja necessário alterar vários valores para que o exemplo funcione corretamente no seu caso. Um script do PowerShell é fornecido posteriormente.

#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

O script do PowerShell a seguir é fornecido como outra referência para criar a regra NSG. Para obter mais informações, confira Adicionar uma regra de grupo de segurança de rede no PowerShell. Talvez seja necessário alterar vários valores para que o exemplo funcione corretamente no seu caso.

#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 

Inserir as credenciais no Power BI

A última parte do processo é inserir as credenciais no serviço do Power BI.

  1. Entre no serviço Power BI e navegue até o workspace que contém os conjuntos de dados que estão usando a Instância Gerenciada de SQL. No exemplo a seguir, esse workspace é chamado de ASAdataset e o conjunto de dados é chamado de demonstração de MI do SQL da Contoso.

  2. Selecione Configurações no canto superior direito e escolha Configurações no menu suspenso.

    Screenshot of the settings dropdown menu.

  3. Em Conjuntos de dados, expanda a seção Credenciais da fonte de dados.

    Screenshot of the edit credentials option in the Datasets tab.

  4. Selecione o link Editar credenciais. Na caixa de diálogo exibida, insira as credenciais válidas.

Salve as configurações e saia. A Instância Gerenciada de SQL agora está configurada para permitir as conexões de entrada do serviço do Power BI.