Oktatóanyag: Azure-adatbázisokhoz való csatlakozás az App Service-ből titkos kulcsok nélkül felügyelt identitás használatával
Cikk
Az App Service egy hatékonyan méretezhető, önjavító webes üzemeltetési szolgáltatás az Azure-ban. Emellett egy felügyelt identitást is biztosít az alkalmazás számára, amely kulcsrakész megoldás az Azure-adatbázisokhoz való hozzáférés biztosításához, beleértve a következőket:
Az App Service-ben található felügyelt identitások biztonságosabbá teszik alkalmazását a titkos kódok, pl. a kapcsolati sztringekben lévő hitelesítő adatok szükségességének megszüntetésével. Ez az oktatóanyag bemutatja, hogyan csatlakozhat a fent említett adatbázisokhoz az App Service-ből felügyelt identitások használatával.
A következő tudnivalókat fogja elsajátítani:
Microsoft Entra-felhasználó konfigurálása rendszergazdaként az Azure-adatbázishoz.
Csatlakozzon az adatbázishoz Microsoft Entra-felhasználóként.
Konfiguráljon egy rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitást egy App Service-alkalmazáshoz.
Adatbázis-hozzáférés biztosítása a felügyelt identitáshoz.
Csatlakozzon az Azure-adatbázishoz a kódból (.NET-keretrendszer 4.8, .NET 6, Node.js, Python, Java) egy felügyelt identitás használatával.
Csatlakozzon az Azure-adatbázishoz a fejlesztői környezetből a Microsoft Entra-felhasználóval.
Alkalmazás létrehozása az App Service-ben .NET, Node.js, Python vagy Java alapján.
Adatbázis-kiszolgáló létrehozása az Azure SQL Database, az Azure Database for MySQL vagy az Azure Database for PostgreSQL használatával.
Ismernie kell a szabványos kapcsolati mintát (felhasználónévvel és jelszóval), és sikeresen csatlakoznia kell az App Service-alkalmazásból a választott adatbázishoz.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
1. A Service Connector jelszó nélküli bővítményének telepítése
Telepítse a service connector legújabb jelszó nélküli bővítményét az Azure CLI-hez:
az extension add --name serviceconnector-passwordless --upgrade
Feljegyzés
Futtassa a "serviceconnector-passwordless" bővítmény "2.0.2" vagy újabb az versionverzióját. Előfordulhat, hogy előbb frissítenie kell az Azure CLI-t a bővítményverzió frissítéséhez.
2. Jelszó nélküli kapcsolat létrehozása
Ezután hozzon létre egy jelszó nélküli kapcsolatot a Service Connector használatával.
Tipp.
Az Azure Portal segítségével megírhatja az alábbi parancsokat. Az Azure Portalon nyissa meg a Azure-alkalmazás szolgáltatás erőforrását, válassza a Szolgáltatás-összekötő lehetőséget a bal oldali menüből, és válassza a Létrehozás lehetőséget. Töltse ki az űrlapot az összes szükséges paraméterrel. Az Azure automatikusan létrehozza a kapcsolatlétrehozási parancsot, amelyet a parancssori felületen való használatra másolhat, vagy végrehajthat az Azure Cloud Shellben.
A rugalmas Azure Database for MySQL-kiszolgáló esetében először manuálisan kell beállítania a Microsoft Entra-hitelesítést, amelyhez külön felhasználó által hozzárendelt felügyelt identitásra és meghatározott Microsoft Graph-engedélyekre van szükség. Ez a lépés nem automatizálható.
Ezután, ha a Service Connector használata előtt táblákat és szekvenciákat hozott létre a Rugalmas PostgreSQL-kiszolgálón, tulajdonosként kell csatlakoznia, és engedélyt kell adnia a Service Connector általi létrehozásra <aad-username> . A Service Connector által beállított kapcsolati sztring vagy konfigurációs csoport felhasználónevének a következőképpen aad_<connection name>kell kinéznie. Ha az Azure Portalt használja, válassza az oszlop melletti Service Type kibontás gombot, és kérje le az értéket. Ha az Azure CLI-t használja, ellenőrizze configurations a PARANCSSOR parancs kimenetét.
Ezután hajtsa végre a lekérdezést az engedély megadásához
az extension add --name rdbms-connect
az postgres flexible-server execute -n <postgres-name> -u <owner-username> -p "<owner-password>" -d <database-name> --querytext "GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO \"<aad-username>\";GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO \"<aad username>\";"
A <owner-username> meglévő tábla tulajdonosa, <owner-password> amely engedélyeket adhat másoknak. <aad-username> a Service Connector által létrehozott felhasználó. Cserélje le őket a tényleges értékre.
Ellenőrizze az eredményt a következő paranccsal:
az postgres flexible-server execute -n <postgres-name> -u <owner-username> -p "<owner-password>" -d <database-name> --querytext "SELECT distinct(table_name) FROM information_schema.table_privileges WHERE grantee='<aad-username>' AND table_schema='public';" --output table
Ez a Service Connector-parancs a következő feladatokat hajtja végre a háttérben:
Engedélyezze a rendszer által hozzárendelt felügyelt identitást, vagy rendeljen hozzá egy felhasználói identitást a Azure-alkalmazás Service által üzemeltetett alkalmazáshoz<server-name>.
Állítsa a Microsoft Entra rendszergazdát az aktuális bejelentkezett felhasználóra.
Adjon hozzá egy adatbázis-felhasználót a rendszer által hozzárendelt felügyelt identitáshoz vagy a felhasználó által hozzárendelt felügyelt identitáshoz. Adja meg az adatbázis <database-name> összes jogosultságát ennek a felhasználónak. A felhasználónév az előző parancskimenet kapcsolati sztring található.
Állítsa be a névvel ellátott AZURE_MYSQL_CONNECTIONSTRINGAZURE_POSTGRESQL_CONNECTIONSTRINGkonfigurációkat vagy AZURE_SQL_CONNECTIONSTRING az Azure-erőforrást az adatbázis típusa alapján.
App Service esetén a konfigurációk az Alkalmazásbeállítások panelen vannak beállítva.
Ha probléma merül fel a kapcsolat létrehozásakor, segítségért tekintse meg a hibaelhárítást .
Kérje le az Azure SQL Database kapcsolati sztring a Service Connector által hozzáadott környezeti változóból.
using Microsoft.Data.SqlClient;
// AZURE_SQL_CONNECTIONSTRING should be one of the following:
// For system-assigned managed identity:"Server=tcp:<server-name>.database.windows.net;Database=<database-name>;Authentication=Active Directory Default;TrustServerCertificate=True"
// For user-assigned managed identity: "Server=tcp:<server-name>.database.windows.net;Database=<database-name>;Authentication=Active Directory Default;User Id=<client-id-of-user-assigned-identity>;TrustServerCertificate=True"
string connectionString =
Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
Kérje le az Azure SQL Database kapcsolatkonfigurációit a Service Connector által hozzáadott környezeti változóból. A használni kívánt hitelesítési típus kódrészletének kibontása.
import os;
import pyodbc
server = os.getenv('AZURE_SQL_SERVER')
port = os.getenv('AZURE_SQL_PORT')
database = os.getenv('AZURE_SQL_DATABASE')
authentication = os.getenv('AZURE_SQL_AUTHENTICATION') # The value should be 'ActiveDirectoryMsi'
# Uncomment the following lines according to the authentication type.
# For system-assigned managed identity.
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server={server},{port};Database={database};Authentication={authentication};Encrypt=yes;'
# For user-assigned managed identity.
# client_id = os.getenv('AZURE_SQL_USER')
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server={server},{port};Database={database};UID={client_id};Authentication={authentication};Encrypt=yes;'
conn = pyodbc.connect(connString)
Kérje le az Azure SQL Database kapcsolatkonfigurációit a Service Connector által hozzáadott környezeti változókból. A használni kívánt hitelesítési típus kódrészletének kibontása.
Az Azure Database for MySQL-hez való csatlakozás a kódban az DefaultAzureCredential összes nyelvi verem mintáját követi. DefaultAzureCredential elég rugalmas ahhoz, hogy mind a fejlesztési környezethez, mind az Azure-környezethez alkalmazkodjon. Helyi futtatáskor lekérheti a bejelentkezett Azure-felhasználót a választott környezetből (Visual Studio, Visual Studio Code, Azure CLI vagy Azure PowerShell). Az Azure-ban való futtatáskor lekéri a felügyelt identitást. Így fejlesztési időben és éles környezetben is lehet kapcsolatot létesíteni az adatbázissal. A minta a következő:
Példányosítás az DefaultAzureCredential Azure Identity-ügyfélkódtárból. Ha felhasználó által hozzárendelt identitást használ, adja meg az identitás ügyfél-azonosítóját.
Hozzáférési jogkivonat beszerzése az Azure Database for MySQL-hez: https://ossrdbms-aad.database.windows.net/.default.
A .NET-hez szerezze be a felügyelt identitás hozzáférési jogkivonatát egy ügyfélkódtár, például az Azure.Identity használatával. Ezután jelszóként használja a hozzáférési jogkivonatot az adatbázishoz való csatlakozáshoz. Az alábbi kód használatakor mindenképpen törölje a kódrészlet azon részét, amely megfelel a használni kívánt hitelesítési típusnak.
using Azure.Core;
using Azure.Identity;
using MySqlConnector;
// Uncomment the following lines according to the authentication type.
// For system-assigned managed identity.
// var credential = new DefaultAzureCredential();
// For user-assigned managed identity.
// var credential = new DefaultAzureCredential(
// new DefaultAzureCredentialOptions
// {
// ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_MYSQL_CLIENTID");
// });
var tokenRequestContext = new TokenRequestContext(
new[] { "https://ossrdbms-aad.database.windows.net/.default" });
AccessToken accessToken = await credential.GetTokenAsync(tokenRequestContext);
// Open a connection to the MySQL server using the access token.
string connectionString =
$"{Environment.GetEnvironmentVariable("AZURE_MYSQL_CONNECTIONSTRING")};Password={accessToken.Token}";
using var connection = new MySqlConnection(connectionString);
Console.WriteLine("Opening connection using access token...");
await connection.OpenAsync();
// do something
Adja hozzá a következő függőségeket a pom.xml fájlhoz:
Hitelesítés a tárból származó azure-identity hozzáférési jogkivonattal. Kérje le a kapcsolati adatokat a Service Connector által hozzáadott környezeti változóból. Az alábbi kód használatakor mindenképpen törölje a kódrészlet azon részét, amely megfelel a használni kívánt hitelesítési típusnak.
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
import mysql.connector
import os
# Uncomment the following lines according to the authentication type.
# For system-assigned managed identity.
# cred = ManagedIdentityCredential()
# For user-assigned managed identity.
# managed_identity_client_id = os.getenv('AZURE_MYSQL_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# acquire token
accessToken = cred.get_token('https://ossrdbms-aad.database.windows.net/.default')
# open connect to Azure MySQL with the access token.
host = os.getenv('AZURE_MYSQL_HOST')
database = os.getenv('AZURE_MYSQL_NAME')
user = os.getenv('AZURE_MYSQL_USER')
password = accessToken.token
cnx = mysql.connector.connect(user=user,
password=password,
host=host,
database=database)
cnx.close()
Szerezze be a hozzáférési jogkivonatot @azure/identity és az Azure MySQL-adatbázis adatait a Service Connector által hozzáadott környezeti változókból. Az alábbi kód használatakor mindenképpen törölje a kódrészlet azon részét, amely megfelel a használni kívánt hitelesítési típusnak.
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
const mysql = require('mysql2');
// Uncomment the following lines according to the authentication type.
// for system-assigned managed identity
// const credential = new DefaultAzureCredential();
// for user-assigned managed identity
// const clientId = process.env.AZURE_MYSQL_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// acquire token
var accessToken = await credential.getToken('https://ossrdbms-aad.database.windows.net/.default');
const connection = mysql.createConnection({
host: process.env.AZURE_MYSQL_HOST,
user: process.env.AZURE_MYSQL_USER,
password: accessToken.token,
database: process.env.AZURE_MYSQL_DATABASE,
port: process.env.AZURE_MYSQL_PORT,
ssl: process.env.AZURE_MYSQL_SSL
});
connection.connect((err) => {
if (err) {
console.error('Error connecting to MySQL database: ' + err.stack);
return;
}
console.log('Connected to MySQL database');
});
Az Azure Database for PostgreSQL-hez való csatlakozás a kódban az DefaultAzureCredential összes nyelvi verem mintáját követi. DefaultAzureCredential elég rugalmas ahhoz, hogy mind a fejlesztési környezethez, mind az Azure-környezethez alkalmazkodjon. Helyi futtatáskor lekérheti a bejelentkezett Azure-felhasználót a választott környezetből (Visual Studio, Visual Studio Code, Azure CLI vagy Azure PowerShell). Az Azure-ban való futtatáskor lekéri a felügyelt identitást. Így fejlesztési időben és éles környezetben is lehet kapcsolatot létesíteni az adatbázissal. A minta a következő:
Példányosítás az DefaultAzureCredential Azure Identity-ügyfélkódtárból. Ha felhasználó által hozzárendelt identitást használ, adja meg az identitás ügyfél-azonosítóját.
Hozzáférési jogkivonat beszerzése az Azure Database for PostgreSQL-hez: https://ossrdbms-aad.database.windows.net/.default.
A .NET-hez szerezze be a felügyelt identitás hozzáférési jogkivonatát egy ügyfélkódtár, például az Azure.Identity használatával. Ezután jelszóként használja a hozzáférési jogkivonatot az adatbázishoz való csatlakozáshoz. Az alábbi kód használatakor mindenképpen törölje a kódrészlet azon részét, amely megfelel a használni kívánt hitelesítési típusnak.
using Azure.Identity;
using Azure.Core;
using Npgsql;
// Uncomment the following lines according to the authentication type.
// For system-assigned identity.
// var sqlServerTokenProvider = new DefaultAzureCredential();
// For user-assigned identity.
// var sqlServerTokenProvider = new DefaultAzureCredential(
// new DefaultAzureCredentialOptions
// {
// ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_POSTGRESQL_CLIENTID");
// }
// );
// Acquire the access token.
AccessToken accessToken = await sqlServerTokenProvider.GetTokenAsync(
new TokenRequestContext(scopes: new string[]
{
"https://ossrdbms-aad.database.windows.net/.default"
}));
// Combine the token with the connection string from the environment variables provided by Service Connector.
string connectionString =
$"{Environment.GetEnvironmentVariable("AZURE_POSTGRESQL_CONNECTIONSTRING")};Password={accessToken.Token}";
// Establish the connection.
using (var connection = new NpgsqlConnection(connectionString))
{
Console.WriteLine("Opening connection using access token...");
connection.Open();
}
Adja hozzá a következő függőségeket a pom.xml fájlhoz:
Hitelesítés a tárból származó azure-identity hozzáférési jogkivonattal, és használja a jogkivonatot jelszóként. Kérje le a kapcsolati adatokat a Service Connector által hozzáadott környezeti változókból. Az alábbi kód használatakor mindenképpen törölje a kódrészlet azon részét, amely megfelel a használni kívánt hitelesítési típusnak.
from azure.identity import DefaultAzureCredential
import psycopg2
# Uncomment the following lines according to the authentication type.
# For system-assigned identity.
# cred = DefaultAzureCredential()
# For user-assigned identity.
# managed_identity_client_id = os.getenv('AZURE_POSTGRESQL_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# Acquire the access token
accessToken = cred.get_token('https://ossrdbms-aad.database.windows.net/.default')
# Combine the token with the connection string from the environment variables added by Service Connector to establish the connection.
conn_string = os.getenv('AZURE_POSTGRESQL_CONNECTIONSTRING')
conn = psycopg2.connect(conn_string + ' password=' + accessToken.token)
További információt a következő források tartalmaznak:
Kódban kérje le a hozzáférési jogkivonatot @azure/identity a Service Connector szolgáltatás által hozzáadott környezeti változókból és PostgreSQL-kapcsolati információkból. Egyesítse őket a kapcsolat létrehozásához. Az alábbi kód használatakor mindenképpen törölje a kódrészlet azon részét, amely megfelel a használni kívánt hitelesítési típusnak.
import { DefaultAzureCredential, ClientSecretCredential } from "@azure/identity";
const { Client } = require('pg');
// Uncomment the following lines according to the authentication type.
// For system-assigned identity.
// const credential = new DefaultAzureCredential();
// For user-assigned identity.
// const clientId = process.env.AZURE_POSTGRESQL_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// Acquire the access token.
var accessToken = await credential.getToken('https://ossrdbms-aad.database.windows.net/.default');
// Use the token and the connection information from the environment variables added by Service Connector to establish the connection.
(async () => {
const client = new Client({
host: process.env.AZURE_POSTGRESQL_HOST,
user: process.env.AZURE_POSTGRESQL_USER,
password: accesstoken.token,
database: process.env.AZURE_POSTGRESQL_DATABASE,
port: Number(process.env.AZURE_POSTGRESQL_PORT) ,
ssl: process.env.AZURE_POSTGRESQL_SSL
});
await client.connect();
await client.end();
})();
Ez a mintakód egy használható jogkivonat lekérésére szolgál DefaultAzureCredential az Azure-adatbázishoz a Microsoft Entra-azonosítóból, majd hozzáadja azt az adatbázis-kapcsolathoz. Bár testre szabható DefaultAzureCredential, alapértelmezés szerint már sokoldalú. Jogkivonatot kap a bejelentkezett Microsoft Entra-felhasználótól vagy egy felügyelt identitástól attól függően, hogy helyileg futtatja-e a fejlesztői környezetben vagy az App Service-ben.
További módosítások nélkül a kód készen áll az Azure-ban való futtatásra. A kód helyi hibakereséséhez azonban a fejlesztőkörnyezethez egy bejelentkezett Microsoft Entra-felhasználóra van szükség. Ebben a lépésben konfigurálja a választott környezetet a Microsoft Entra-felhasználóval való bejelentkezéssel.
A Windows Visual Studio integrálva van a Microsoft Entra-hitelesítéssel. Ha engedélyezni szeretné a fejlesztést és a hibakeresést a Visual Studióban, vegye fel a Microsoft Entra-felhasználót a Visual Studióba a menü Fájlfiók>beállításai elemével, majd válassza a Bejelentkezés vagy a Hozzáadás lehetőséget.
Ha be szeretné állítani a Microsoft Entra-felhasználót az Azure-szolgáltatáshitelesítéshez, válassza az Eszközök>beállításai lehetőséget a menüből, majd válassza az Azure Service Authentication-fiók>kiválasztását. Válassza ki a hozzáadott Microsoft Entra-felhasználót, és kattintson az OK gombra.
A Visual Studio for Mac nincs integrálva a Microsoft Entra-hitelesítéssel. A később használni kívánt Azure Identity-ügyfélkódtár azonban jogkivonatokat is lekérhet az Azure CLI-ből. Ha engedélyezni szeretné a fejlesztést és a hibakeresést a Visual Studióban, telepítse az Azure CLI-t a helyi gépére.
Jelentkezzen be az Azure CLI-be a következő paranccsal a Microsoft Entra-felhasználóval:
az login --allow-no-subscriptions
A Visual Studio Code integrálva van a Microsoft Entra-hitelesítéssel az Azure-bővítményen keresztül. Telepítse az Azure Tools bővítményt a Visual Studio Code-ban.
A Visual Studio Code tevékenységsávjában válassza ki az Azure-emblémát.
Az App Service Explorerben válassza a Bejelentkezés az Azure-ba lehetőséget, és kövesse az utasításokat.
A később használni kívánt Azure Identity-ügyfélkódtár használhat jogkivonatokat az Azure CLI-ből. A parancssori fejlesztés engedélyezéséhez telepítse az Azure CLI-t a helyi gépen.
Jelentkezzen be az Azure-ba a következő paranccsal a Microsoft Entra-felhasználóval:
az login --allow-no-subscriptions
A később használni kívánt Azure Identity-ügyfélkódtár az Azure PowerShell-jogkivonatokat használhatja. A parancssori fejlesztés engedélyezéséhez telepítse az Azure PowerShellt a helyi gépére.
Jelentkezzen be az Azure CLI-be a következő parancsmaggal a Microsoft Entra-felhasználóval:
Connect-AzAccount
A fejlesztői környezet Microsoft Entra-hitelesítéshez való beállításáról további információt az Azure Identity .NET-hez készült ügyfélkódtárában talál.
Most már készen áll az alkalmazás fejlesztésére és hibakeresésére az SQL Database háttérrendszerrel, a Microsoft Entra-hitelesítés használatával.
5. Tesztelés és közzététel
Futtassa a kódot a fejlesztői környezetben. A kód a környezetben bejelentkezett Microsoft Entra-felhasználót használja a háttéradatbázishoz való csatlakozáshoz. A felhasználó hozzáférhet az adatbázishoz, mert Microsoft Entra-rendszergazdaként van konfigurálva az adatbázishoz.
Tegye közzé a kódot az Azure-ban az előnyben részesített közzétételi módszerrel. Az App Service-ben a kód az alkalmazás felügyelt identitásával csatlakozik a háttéradatbázishoz.
Hibaüzenet jelenik meg Login failed for user '<token-identified principal>'.
A jogkivonatot lekérni kívánt felügyelt identitás nem jogosult az Azure-adatbázis elérésére.
Módosítottam az App Service-hitelesítést vagy a kapcsolódó alkalmazásregisztrációt. Miért kapom meg még mindig a régi jogkivonatot?
A felügyelt identitások háttérszolgáltatásai emellett olyan jogkivonat-gyorsítótárat is fenntartanak, amely csak akkor frissíti a célerőforrás jogkivonatát, ha az lejár. Ha módosítja a konfigurációt , miután megpróbált jogkivonatot lekérni az alkalmazással, akkor valójában nem kap új, frissített engedélyekkel rendelkező jogkivonatot, amíg a gyorsítótárazott jogkivonat le nem jár. Ennek a megoldásnak a legjobb módja, ha egy új InPrivate (Edge)/private (Safari)/Inkognitó (Chrome) ablakkal teszteli a módosításokat. Így biztos, hogy egy új hitelesített munkamenetből indul ki.
Hogyan hozzáadni a felügyelt identitást egy Microsoft Entra-csoporthoz?
Ha szeretné, hozzáadhatja az identitást egy Microsoft Entra-csoporthoz, majd az identitás helyett hozzáférést adhat a Microsoft Entra csoporthoz. Az alábbi parancsok például hozzáadják a felügyelt identitást az előző lépésből egy új, myAzureSQLDBAccessGroup nevű csoporthoz:
groupid=$(az ad group create --display-name myAzureSQLDBAccessGroup --mail-nickname myAzureSQLDBAccessGroup --query objectId --output tsv)
msiobjectid=$(az webapp identity show --resource-group <group-name> --name <app-name> --query principalId --output tsv)
az ad group member add --group $groupid --member-id $msiobjectid
az ad group member list -g $groupid
Ha adatbázis-engedélyeket szeretne adni egy Microsoft Entra-csoporthoz, tekintse meg a megfelelő adatbázistípus dokumentációját.
A hibaüzenetet SSL connection is required. Please specify SSL options and retrykapom.
Az Azure-adatbázishoz való csatlakozás további beállításokat igényel, és meghaladja az oktatóanyag hatókörét. További információkért tekintse meg az alábbi hivatkozások egyikét:
Az alkalmazást a Web App + Adatbázis sablonnal hoztam létre, és most már nem tudok konfigurálni felügyelt identitáskapcsolatot a Service Connector parancsaival.
A Service Connectornak hálózati hozzáférésre van szüksége az adatbázishoz az alkalmazás identitásához való hozzáférés biztosításához. Ha az Azure Portalon a Web App + Adatbázis sablonnal hoz létre egy biztonságosan alapértelmezett alkalmazást és adatbázis-architektúrát, az architektúra zárolja az adatbázishoz való hálózati hozzáférést, és csak a virtuális hálózaton belüli kapcsolatokat engedélyezi. Az Azure Cloud Shellre is igaz. A Cloud Shellt azonban üzembe helyezheti a virtuális hálózaton, majd futtathatja a Service Connector parancsot abban a Cloud Shellben.
Következő lépések
Az alábbiak elvégzését ismerte meg:
Microsoft Entra-felhasználó konfigurálása rendszergazdaként az Azure-adatbázishoz.
Csatlakozzon az adatbázishoz Microsoft Entra-felhasználóként.
Konfiguráljon egy rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitást egy App Service-alkalmazáshoz.
Adatbázis-hozzáférés biztosítása a felügyelt identitáshoz.
Csatlakozzon az Azure-adatbázishoz a kódból (.NET-keretrendszer 4.8, .NET 6, Node.js, Python, Java) egy felügyelt identitás használatával.
Csatlakozzon az Azure-adatbázishoz a fejlesztői környezetből a Microsoft Entra-felhasználóval.