Compartilhar via


Crie e use pontos de extremidade privados gerenciados

Usuários com permissões de administrador para um espaço de trabalho do Microsoft Fabric podem criar, exibir e excluir pontos de extremidade privados gerenciados do portal do Fabric por meio das configurações do espaço de trabalho.

  • O usuário também pode monitorar o status e o processo de aprovação dos pontos de extremidade privados gerenciados na seção Segurança de rede das configurações do espaço de trabalho.

  • O usuário pode acessar as fontes de dados usando o nome do ponto de extremidade privado das cargas de trabalho do Fabric Spark.

Pré-requisitos

Um provedor de recursos Microsoft.Network precisa ser registrado na assinatura do Azure

Criar um ponto de extremidade privado gerenciado

  1. Em um espaço de trabalho do Fabric, navegue até as configurações do espaço de trabalho, selecione a guia Segurança de rede e selecione a opção Criar na seção Ponto de extremidade privado gerenciado.

    Captura de tela da guia Segurança de redes nas configurações do espaço de trabalho.

    A caixa de diálogo Criar ponto de extremidade privado gerenciado é aberta.

    Captura de tela da guia Segurança de rede nas configurações do espaço de trabalho.

  2. Especifique um nome para o ponto de extremidade privado e copie no identificador de recurso para o recurso do Azure. O identificador de recurso pode ser encontrado na tab Propriedades na página do portal do Azure.

    Observação

    Não há suporte para a criação de um ponto de extremidade privado gerenciado com um nome de domínio totalmente qualificado (FQDN).

    Ao terminar, selecione Criar.

  3. Quando o ponto de extremidade privado gerenciado tiver sido provisionado, o status de ativação será alterado para Bem-sucedido.

    Captura de tela da indicação de êxito do provisionamento de ponto de extremidade privado gerenciado na guia Rede.

    Além disso, a solicitação para o acesso de ponto de extremidade privado é enviada para a fonte de dados. Os administradores da fonte de dados são notificados nas páginas de recursos do portal do Azure para as fontes de dados. Lá, eles verão uma solicitação de acesso pendente com a mensagem de solicitação.

Usando o SQL Server como exemplo, os usuários podem navegar até o portal do Azure e localizar o recurso "SQL Server".

  1. Na página Recurso, escolha Sistema de rede no menu de navegação e, em seguida, a tab Acesso privado.

    Captura de tela que mostra a guia Acesso privado na página Rede de um recurso no portal do Azure.

  2. Os administradores de fonte de dados devem ser capazes de exibir as conexões de ponto de extremidade privadas ativas e as novas solicitações de conexão.

    Captura de tela que mostra solicitações pendentes na guia Acesso privado.

  3. Os administradores podem Aprovar ou Rejeitar fornecendo uma justificativa comercial.

    Captura de tela que mostra o formulário de aprovação.

  4. Depois que a solicitação for aprovada ou rejeitada pelo administrador da fonte de dados, o status será atualizado na página Configurações do espaço de trabalho do Fabric após a atualização.

    Captura de tela que mostra o ponto de extremidade privado gerenciado no estado aprovado.

  5. Quando o status for alterado para aprovado, o ponto de extremidade poderá ser usado em notebooks ou definições de trabalho do Spark para acessar os dados armazenados na fonte de dados do espaço de trabalho do Fabric.

Use pontos de extremidade privados gerenciados no Fabric

Os notebooks do Microsoft Fabric oferecem suporte à interação perfeita com fontes de dados por trás de redes seguras usando pontos de extremidade privados gerenciados para exploração e processamento de dados. Em um notebook, os usuários podem fazer uma leitura rápida dos dados a partir de fontes de dados seguras (e gravar dados novamente) em lakehouses em uma variedade de formatos de arquivo.

Este guia fornece exemplos de código para ajudar você a iniciar em seus próprios notebooks a acessar dados de fontes de dados, como o BD SQL, por meio de pontos de extremidade privados gerenciados.

Pré-requisitos

  1. Acesso a fonte de dados. Este exemplo analisa o Azure SQL Server e a base de dados SQL do Azure.

  2. Entre no Microsoft Fabric e no portal do Azure.

  3. Navegue até a página de recursos do SQL Server do Azure no portal do Azure e selecione o menu Propriedades. Copie a ID do recurso para o SQL Server ao qual você gostaria de se conectar a partir do Microsoft Fabric.

  4. Usando as etapas listadas em Criar um ponto de extremidade privado gerenciado, crie o ponto de extremidade privado gerenciado na página Configurações de segurança da rede do Fabric.

  5. Depois que o administrador da fonte de dados do SQL Server aprovar a nova solicitação de conexão de ponto de extremidade privado, você poderá usar o ponto de extremidade privado gerenciado recém-criado.

Conectar-se à fonte de dados de notebooks

  1. Entre no portal do Microsoft Fabric.

  2. Use o comutador de experiência no lado esquerdo da página inicial para alternar a experiência de Desenvolvimento.

    Captura de tela que mostra como entrar na experiência de engenharia de dados no Fabric.

  3. Navegue até o workspace desejado ou crie um novo, se necessário.

  4. Para criar um notebook, selecione Novo item no espaço de trabalho e escolha Notebook.

  5. Agora, no notebook, especificando o nome do banco de dados SQL e as propriedades de conexão, você pode se conectar por meio da conexão do ponto de extremidade privado gerenciado que foi configurada para fazer a leitura das tabelas no banco de dados e gravá-las na lakehouse no Microsoft Fabric.

  6. O código PySpark a seguir mostra informações para configurar o Banco de Dados SQL.

serverName = "<server_name>.database.windows.net"
database = "<database_name>"
dbPort = 1433
dbUserName = "<username>"
dbPassword = “<db password> or reference based on Keyvault>”

from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .appName("Example") \
    .config("spark.jars.packages", "com.microsoft.azure:azure-sqldb-spark:1.0.2") \
    .config("spark.sql.catalogImplementation", "com.microsoft.azure.synapse.spark") \
    .config("spark.sql.catalog.testDB", "com.microsoft.azure.synapse.spark") \
    .config("spark.sql.catalog.testDB.spark.synapse.linkedServiceName", "AzureSqlDatabase") \ .config("spark.sql.catalog.testDB.spark.synapse.linkedServiceName.connectionString", f"jdbc:sqlserver://{serverName}:{dbPort};database={database};user={dbUserName};password={dbPassword}") \ .getOrCreate()

    
jdbcURL = "jdbc:sqlserver://{0}:{1};database={2}".format(serverName,dbPort,database)
connection = {"user":dbUserName,"password":dbPassword,"driver": "com.microsoft.sqlserver.jdbc.SQLServerDriver"}

df = spark.read.jdbc(url=jdbcURL, table = "dbo.Employee", properties=connection)
df.show()
display(df)

# Write the dataframe as a delta table in your lakehouse
df.write.mode("overwrite").format("delta").saveAsTable("Employee")

# You can also specify a custom path for the table location
# df.write.mode("overwrite").format("delta").option("path", "abfss://yourlakehouse.dfs.core.windows.net/Employee").saveAsTable("Employee")

Agora que a conexão foi estabelecida, a próxima etapa é criar um quadro de dados para fazer a leitura da tabela no Banco de dados SQL.

Fontes de dados com suporte

O Microsoft Fabric é compatível com mais de 26 fontes de dados para conexão usando pontos de extremidade privados gerenciados. Os usuários precisam especificar o identificador de recurso, que pode ser encontrado na página Configurações de propriedades da fonte de dados no portal do Azure. Verifique se o formato do ID do recurso é seguido conforme mostrado na tabela a seguir.

Serviço Formato da ID do recurso
Serviços Cognitivos /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.CognitiveServices/accounts/{resource-name}
Azure Databricks /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Databricks/workspaces/{workspace-name}
Banco de Dados do Azure para MariaDB /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMariaDB/servers/{server-name}
Banco de Dados do Azure para MySQL /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMySQL/servers/{server-name}
Banco de Dados do Azure para PostgreSQL /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{server-name}
Azure Cosmos DB for MongoDB /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name}
Azure Cosmos DB para NoSQL /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name}
Escopos de Link Privado do Azure Monitor /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Insights/privateLinkScopes/{scope-name}
Cofre de Chave do Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{vault-name}
Azure Data Explorer (Kusto) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Kusto/clusters/{cluster-name}
Azure Machine Learning /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name}
Microsoft Purview /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Purview/accounts/{account-name}
Azure Search /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Search/searchServices/{service-name}
Banco de Dados SQL do Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/servers/{server-name}
Banco de Dados SQL do Azure (Instância Gerenciada de SQL do Azure) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/managedInstances/{instance-name}
Armazenamento do Blobs do Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Azure Data Lake Storage Gen2 /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Armazenamento de Arquivos do Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Armazenamento de Filas do Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Armazenamento de Tabelas do Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Azure Synapse Analytics /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Synapse/workspaces/{workspace-name}
Azure Synapse Analytics (Artifacts) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Synapse/workspaces/{workspace-name}
Azure Functions subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Web/sites/{function-app-name}
Hubs de eventos do Azure /subscriptions/{subscription-id}/resourcegroups/{resource-group-name}/providers/Microsoft.EventHub/namespaces/{namespace-name}
Hub IoT do Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Devices/IotHubs/{iothub-name}