Felügyelt privát végpontok létrehozása és használata
A Microsoft Fabric-munkaterület rendszergazdai engedélyekkel rendelkező felhasználói felügyelt privát végpontokat hozhatnak létre, tekinthetnek meg és törölhetnek a Fabric portálról a munkaterület beállításain keresztül.
A felhasználó a felügyelt privát végpontok állapotát és jóváhagyási folyamatát is figyelheti a munkaterület beállításainak Hálózati biztonsági szakaszából.
A felhasználó a Fabric Spark számítási feladataiból a privát végpont nevével érheti el az adatforrásokat.
Felügyelt privát végpont létrehozása
Egy Háló munkaterületen keresse meg a munkaterület beállításait, válassza a Hálózatbiztonság lapot, majd válassza a Létrehozás lehetőséget a Felügyelt privát végpont szakaszban.
Megnyílik a Felügyelt magánvégpont létrehozása párbeszédpanel.
Adja meg a privát végpont nevét, és másolja az Azure-erőforrás erőforrás-azonosítójában. Az erőforrás-azonosító az Azure Portal tulajdonságok lapján található.
Feljegyzés
A teljes tartománynévvel (FQDN) rendelkező felügyelt privát végpont létrehozása nem támogatott.
Ha elkészült, válassza a Létrehozás lehetőséget.
A felügyelt privát végpont kiépítésekor az aktiválás állapota sikeres lesz.
Emellett a rendszer elküldi a privát végpont hozzáférésére vonatkozó kérést az adatforrásnak. Az adatforrás-rendszergazdák értesítést kapnak az Azure Portal erőforrásoldalain az adatforrásaikról. Itt egy függőben lévő hozzáférési kérés jelenik meg a kérés üzenetével.
Ha például az SQL Servert használja, a felhasználók az Azure Portalra lépve megkereshetik az "SQL Server" erőforrást.
Az Erőforrás lapon válassza a Navigációs menü Hálózatkezelés elemét, majd a Privát hozzáférés lapot.
Az adatforrás-rendszergazdáknak meg kell tudniuk tekinteni az aktív privát végpontkapcsolatokat és az új kapcsolatkéréseket.
A rendszergazdák üzleti indoklással jóváhagyhatják vagy elutasíthatják azokat.
Miután az adatforrás rendszergazdája jóváhagyta vagy elutasította a kérést, az állapot frissítéskor frissül a Háló munkaterület beállításai lapon.
Ha az állapot jóváhagyásra módosult, a végpont használható jegyzetfüzetekben vagy Spark-feladatdefiníciókban az adatforrásban tárolt adatok eléréséhez a Fabric-munkaterületről.
Felügyelt privát végpontok használata a Fabricben
A Microsoft Fabric-jegyzetfüzetek támogatják a biztonságos hálózatok mögötti adatforrásokkal való zökkenőmentes interakciót felügyelt privát végpontok használatával az adatok feltárásához és feldolgozásához. A jegyzetfüzeteken belül a felhasználók számos fájlformátumban gyorsan olvashatják az adatokat a védett adatforrásaikból (és visszaírhatják az adatokat a tójukba).
Ez az útmutató kódmintákat tartalmaz, amelyek segítenek a saját jegyzetfüzetekben való első lépésekben az adatforrásokból, például az SQL DB-ből származó adatok felügyelt privát végpontokon keresztüli eléréséhez.
Előfeltételek
Hozzáférés az adatforráshoz. Ez a példa az Azure SQL Servert és az Azure SQL Database-t vizsgálja.
Jelentkezzen be a Microsoft Fabricbe és az Azure Portalra.
Lépjen az Azure SQL Server erőforráslapjára az Azure Portalon, és válassza a Tulajdonságok menüt . Másolja ki annak az SQL Servernek az erőforrás-azonosítóját, amelyhez csatlakozni szeretne a Microsoft Fabricből.
A Felügyelt privát végpont létrehozása című témakörben felsorolt lépésekkel hozza létre a felügyelt privát végpontot a Fabric Network biztonsági beállítások lapján.
Miután az SQL Server adatforrás-rendszergazdája jóváhagyta az új privát végpont kapcsolatkérését, használhatja az újonnan létrehozott felügyelt privát végpontot.
Csatlakozás az adatforráshoz jegyzetfüzetekből
A Microsoft Fabric-munkaterületen a kezdőlap bal oldalán található élménykapcsolóval váltson a Synapse adatmérnök ing felületre.
Válassza a Létrehozás és új jegyzetfüzet létrehozása lehetőséget.
A jegyzetfüzetben az SQL-adatbázis nevének és kapcsolati tulajdonságainak megadásával csatlakozhat a felügyelt privát végpontkapcsolaton keresztül, amely be van állítva az adatbázis tábláinak olvasására és a Microsoft Fabricben lévő tóházba való írására.
Az alábbi PySpark-kód bemutatja, hogyan csatlakozhat sql-adatbázishoz.
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")
Most, hogy létrejött a kapcsolat, a következő lépés egy adatkeret létrehozása, amely beolvassa a táblát az SQL Database-ben.
Támogatott adatforrások
A Microsoft Fabric több mint 26 adatforrást támogat a felügyelt privát végpontokhoz való csatlakozáshoz. A felhasználóknak meg kell adniuk az erőforrás-azonosítót, amely az adatforrás Tulajdonságok beállításai lapján található az Azure Portalon. Győződjön meg arról, hogy az erőforrás-azonosító formátuma követi az alábbi táblázatban látható módon.
Szolgáltatás | Erőforrás-azonosító formátuma |
---|---|
Cognitive Services | /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} |
Azure Database for MariaDB | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMariaDB/servers/{server-name} |
Azure Database for MySQL | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMySQL/servers/{server-name} |
Azure Database for PostgreSQL | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{server-name} |
Azure Cosmos DB a MongoDB-hez | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name} |
Azure Cosmos DB for NoSQL | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name} |
Azure Monitor Private Link-hatókörök | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Insights/privateLinkScopes/{scope-name} |
Azure Key Vault | /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} |
Azure SQL Database | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/servers/{server-name} |
Azure SQL Database (Felügyelt Azure SQL-példány) | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/managedInstances/{instance-name} |
Azure Blob Storage | /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} |
Azure File Storage | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name} |
Azure Queue Storage | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name} |
Azure Table Storage | /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 (összetevők) | /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} |
Azure-eseményközpontok | /subscriptions/{subscription-id}/resourcegroups/{resource-group-name}/providers/Microsoft.EventHub/namespaces/{namespace-name} |
Azure IoT Hub | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Devices/IotHubs/{iothub-name} |