Öğretici: Yönetilen kimlik kullanarak gizli diziler olmadan App Service'ten Azure veritabanlarına bağlanma
Makale
App Service, Azure’da yüksek oranda ölçeklenebilen, kendi kendine düzeltme eki uygulayan bir web barındırma hizmeti sunar. Ayrıca uygulamanız için yönetilen bir kimlik sağlar. Bu, aşağıdakiler dahil olmak üzere Azure veritabanlarına erişimi güvenli hale getirmek için anahtar teslimi bir çözümdür:
App Service içindeki yönetilen kimlikler, bağlantı dizelerindeki kimlik bilgileri gibi uygulamanızdaki gizli dizileri ortadan kaldırarak uygulamanızı daha güvenli hale getirir. Bu öğreticide, yönetilen kimlikleri kullanarak App Service'ten yukarıda bahsedilen veritabanlarına nasıl bağlanabileceğiniz gösterilir.
Öğreneceğiniz şeyler:
Microsoft Entra kullanıcısını Azure veritabanınız için yönetici olarak yapılandırın.
Veritabanınıza Microsoft Entra kullanıcısı olarak bağlanın.
App Service uygulaması için sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliği yapılandırın.
App Service'te .NET, Node.js, Python veya Java tabanlı bir uygulama oluşturun.
Azure SQL Veritabanı, MySQL için Azure Veritabanı veya PostgreSQL için Azure Veritabanı ile bir veritabanı sunucusu oluşturun.
Standart bağlantı desenini (kullanıcı adı ve parola ile) tanımanız ve App Service uygulamanızdan tercih ettiğiniz veritabanınıza başarıyla bağlanabilmeniz gerekir.
Ortamınızı Azure CLI için hazırlayın.
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
1. Hizmet Bağlayıcısı parolasız uzantısını yükleyin
Azure CLI için en son Hizmet Bağlayıcısı parolasız uzantısını yükleyin:
az extension add --name serviceconnector-passwordless --upgrade
Not
komutunu çalıştırarak az version"serviceconnector-passwordless" sürümünün "2.0.2" veya üzeri olduğunu denetleyin. Uzantı sürümünü yükseltmek için önce Azure CLI'yi yükseltmeniz gerekebilir.
2. Parolasız bağlantı oluşturma
Ardından, Service Connector ile parolasız bir bağlantı oluşturun.
İpucu
Azure portalı aşağıdaki komutları oluşturmanıza yardımcı olabilir. Azure portalında Azure Uygulaması Hizmeti kaynağınıza gidin, sol menüden Hizmet Bağlayıcısı'nı seçin ve Oluştur'u seçin. Formu tüm gerekli parametrelerle doldurun. Azure, CLI'da kullanmak veya Azure Cloud Shell'de yürütmek üzere kopyalayabileceğiniz bağlantı oluşturma komutunu otomatik olarak oluşturur.
Ardından, Hizmet Bağlayıcısı'nı kullanmadan önce PostgreSQL esnek sunucusunda tablolar ve diziler oluşturduysanız, sahip olarak bağlanmanız ve Hizmet Bağlayıcısı tarafından oluşturulma izni <aad-username> vermeniz gerekir. Hizmet Bağlayıcısı tarafından ayarlanan bağlantı dizesi veya yapılandırmadaki kullanıcı adı gibi aad_<connection name>görünmelidir. Azure portalını kullanıyorsanız sütunun yanındaki Service Type genişlet düğmesini seçin ve değeri alın. Azure CLI kullanıyorsanız CLI komut çıkışını denetleyin configurations .
Ardından, izin vermek için sorguyu yürütür
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>\";"
<owner-username> ve<owner-password>, başkalarına izin verebilen mevcut tablonun sahibidir. <aad-username> , Service Connector tarafından oluşturulan kullanıcıdır. Bunları gerçek değerle değiştirin.
Sonucu şu komutla doğrulayın:
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
Bu Hizmet Bağlayıcısı komutu arka planda aşağıdaki görevleri tamamlar:
Sistem tarafından atanan yönetilen kimliği etkinleştirin veya Azure Uygulaması Hizmeti tarafından barındırılan uygulama <server-name> için bir kullanıcı kimliği atayın.
Microsoft Entra yöneticisini geçerli oturum açmış kullanıcı olarak ayarlayın.
Sistem tarafından atanan yönetilen kimlik veya kullanıcı tarafından atanan yönetilen kimlik için veritabanı kullanıcısı ekleyin. Veritabanının <database-name> tüm ayrıcalıklarını bu kullanıcıya verin. Kullanıcı adı, önceki komut çıkışındaki bağlantı dizesi bulunabilir.
veritabanı türüne göre , AZURE_POSTGRESQL_CONNECTIONSTRINGveya AZURE_SQL_CONNECTIONSTRING adlı AZURE_MYSQL_CONNECTIONSTRINGyapılandırmaları Azure kaynağına ayarlayın.
App Service için yapılandırmalar Uygulama Ayarları dikey penceresinde ayarlanır.
Bağlantı oluştururken herhangi bir sorunla karşılaşırsanız yardım için Sorun giderme bölümüne bakın.
Service Connector tarafından eklenen ortam değişkeninden Azure SQL Veritabanı bağlantı dizesi alın.
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();
Service Connector tarafından eklenen ortam değişkeninden Azure SQL Veritabanı bağlantı yapılandırmalarını alın. Kullanmak istediğiniz kimlik doğrulama türü için kod parçacığının bölümünü açıklamayı kaldırın.
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)
Hizmet Bağlayıcısı tarafından eklenen ortam değişkenlerinden Azure SQL Veritabanı bağlantı yapılandırmalarını alın. Kullanmak istediğiniz kimlik doğrulama türü için kod parçacığının bölümünü açıklamayı kaldırın.
Daha fazla bilgi için bkz . Microsoft SQL Server'da istemci programlama için Giriş sayfası.
Daha fazla kod örneği için bkz . Service Connector aracılığıyla veritabanı hizmetine parolasız bağlantı oluşturma.
Kodunuzdaki MySQL için Azure Veritabanı bağlantı, tüm dil yığınları için deseni izlerDefaultAzureCredential. DefaultAzureCredential hem geliştirme ortamına hem de Azure ortamına uyum sağlayacak kadar esnektir. Yerel olarak çalışırken, oturum açmış Azure kullanıcısını istediğiniz ortamdan (Visual Studio, Visual Studio Code, Azure CLI veya Azure PowerShell) alabilir. Azure'da çalışırken yönetilen kimliği alır. Bu nedenle hem geliştirme zamanında hem de üretimde veritabanı bağlantısına sahip olmak mümkündür. Desen aşağıdaki gibidir:
Azure Identity istemci kitaplığından bir DefaultAzureCredential örneği oluşturun. Kullanıcı tarafından atanan bir kimlik kullanıyorsanız, kimliğin istemci kimliğini belirtin.
MySQL için Azure Veritabanı için erişim belirteci alın: https://ossrdbms-aad.database.windows.net/.default.
.NET için, Azure.Identity gibi bir istemci kitaplığını kullanarak yönetilen kimlik için erişim belirteci alın. Ardından veritabanına bağlanmak için erişim belirtecini parola olarak kullanın. Aşağıdaki kodu kullanırken, kod parçacığının kullanmak istediğiniz kimlik doğrulama türüne karşılık gelen bölümünü açıklamayı kaldırdığınızdan emin olun.
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
pom.xml dosyanıza aşağıdaki bağımlılıkları ekleyin:
Kitaplıktan bir erişim belirteci ile kimlik doğrulaması.azure-identity Service Connector tarafından eklenen ortam değişkeninden bağlantı bilgilerini alın. Aşağıdaki kodu kullanırken, kod parçacığının kullanmak istediğiniz kimlik doğrulama türüne karşılık gelen bölümünü açıklamayı kaldırdığınızdan emin olun.
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()
Service Connector tarafından eklenen ortam değişkenlerinden ve Azure MySQL veritabanı bilgilerini kullanarak @azure/identity bir erişim belirteci alın. Aşağıdaki kodu kullanırken, kod parçacığının kullanmak istediğiniz kimlik doğrulama türüne karşılık gelen bölümünü açıklamayı kaldırdığınızdan emin olun.
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');
});
Daha fazla kod örneği için bkz . Service Connector aracılığıyla veritabanı hizmetine parolasız bağlantı oluşturma.
Kodunuzdaki PostgreSQL için Azure Veritabanı bağlantı, tüm dil yığınları için deseni izlerDefaultAzureCredential. DefaultAzureCredential hem geliştirme ortamına hem de Azure ortamına uyum sağlayacak kadar esnektir. Yerel olarak çalışırken, oturum açmış Azure kullanıcısını istediğiniz ortamdan (Visual Studio, Visual Studio Code, Azure CLI veya Azure PowerShell) alabilir. Azure'da çalışırken yönetilen kimliği alır. Bu nedenle hem geliştirme zamanında hem de üretimde veritabanı bağlantısına sahip olmak mümkündür. Desen aşağıdaki gibidir:
Azure Identity istemci kitaplığından bir DefaultAzureCredential örneği oluşturun. Kullanıcı tarafından atanan bir kimlik kullanıyorsanız, kimliğin istemci kimliğini belirtin.
PostgreSQL için Azure Veritabanı için erişim belirteci alın: https://ossrdbms-aad.database.windows.net/.default.
.NET için, Azure.Identity gibi bir istemci kitaplığını kullanarak yönetilen kimlik için erişim belirteci alın. Ardından veritabanına bağlanmak için erişim belirtecini parola olarak kullanın. Aşağıdaki kodu kullanırken, kod parçacığının kullanmak istediğiniz kimlik doğrulama türüne karşılık gelen bölümünü açıklamayı kaldırdığınızdan emin olun.
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();
}
pom.xml dosyanıza aşağıdaki bağımlılıkları ekleyin:
Kitaplıktan azure-identity bir erişim belirteci ile kimlik doğrulaması yapın ve belirteci parola olarak kullanın. Hizmet Bağlayıcısı tarafından eklenen ortam değişkenlerinden bağlantı bilgilerini alın. Aşağıdaki kodu kullanırken, kod parçacığının kullanmak istediğiniz kimlik doğrulama türüne karşılık gelen bölümünü açıklamayı kaldırdığınızdan emin olun.
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)
Daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın:
Kodda, Service Connector hizmeti tarafından eklenen ortam değişkenlerinden ve PostgreSQL bağlantı bilgileri aracılığıyla @azure/identity erişim belirtecini alın. Bağlantıyı kurmak için bunları birleştirin. Aşağıdaki kodu kullanırken, kod parçacığının kullanmak istediğiniz kimlik doğrulama türüne karşılık gelen bölümünü açıklamayı kaldırdığınızdan emin olun.
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();
})();
Daha fazla kod örneği için bkz . Service Connector aracılığıyla veritabanı hizmetine parolasız bağlantı oluşturma.
4. Geliştirme ortamınızı ayarlama
Bu örnek kod, Microsoft Entra Id'den Azure veritabanınız için kullanılabilir bir belirteç almak için kullanır DefaultAzureCredential ve ardından bunu veritabanı bağlantısına ekler. 'yi özelleştirebilirsiniz DefaultAzureCredentialancak varsayılan olarak çok yönlü bir seçenektir. Geliştirme ortamınızda veya App Service'te yerel olarak çalıştırmanıza bağlı olarak oturum açmış Microsoft Entra kullanıcısından veya yönetilen kimlikten bir belirteç alır.
Daha fazla değişiklik yapılmadan kodunuz Azure'da çalıştırılmaya hazırdır. Ancak kodunuzun hatalarını yerel olarak ayıklamak için geliştirme ortamınızın oturum açmış bir Microsoft Entra kullanıcısı olması gerekir. Bu adımda, Microsoft Entra kullanıcınızla oturum açarak tercih ettiğiniz ortamı yapılandıracaksınız.
Windows için Visual Studio, Microsoft Entra kimlik doğrulamasıyla tümleşiktir. Visual Studio'da geliştirme ve hata ayıklamayı etkinleştirmek için, menüden Dosya>Hesabı Ayarları'nı seçerek Microsoft Entra kullanıcınızı Visual Studio'ya ekleyin ve Oturum aç veya Ekle'yi seçin.
Azure hizmet kimlik doğrulaması için Microsoft Entra kullanıcısını ayarlamak için menüden Araçlar>Seçenekleri'ni ve ardından Azure Hizmet Kimlik Doğrulama>Hesabı Seçimi'ni seçin. Eklediğiniz Microsoft Entra kullanıcısını seçin ve Tamam'ı seçin.
Microsoft Entra kullanıcınızı kullanarak aşağıdaki komutla Azure CLI'da oturum açın:
az login --allow-no-subscriptions
Visual Studio Code, Azure uzantısı aracılığıyla Microsoft Entra kimlik doğrulamasıyla tümleşiktir. Visual Studio Code'da Azure Araçları uzantısını yükleyin.
Visual Studio Code'daki Etkinlik Çubuğu'nda Azure logosunu seçin.
App Service gezgininde Azure'da oturum aç... öğesini seçin ve yönergeleri izleyin.
Daha sonra kullanacağınız Azure Identity istemci kitaplığı, Azure CLI'dan belirteçleri kullanabilir. Komut satırı tabanlı geliştirmeyi etkinleştirmek için yerel makinenize Azure CLI yükleyin.
Microsoft Entra kullanıcınızı kullanarak aşağıdaki komutla Azure'da oturum açın:
Microsoft Entra kullanıcınızı kullanarak aşağıdaki cmdlet ile Azure CLI'da oturum açın:
Connect-AzAccount
Microsoft Entra kimlik doğrulaması için geliştirme ortamınızı ayarlama hakkında daha fazla bilgi için bkz . .NET için Azure Identity istemci kitaplığı.
Artık Microsoft Entra kimlik doğrulamasını kullanarak arka uç olarak SQL Veritabanı uygulamanızı geliştirmeye ve hatalarını ayıklamaya hazırsınız.
5. Test edin ve yayımlayın
Kodunuzu geliştirme ortamınızda çalıştırın. Kodunuz arka uç veritabanına bağlanmak için ortamınızdaki oturum açmış Microsoft Entra kullanıcısını kullanır. Veritabanı için Microsoft Entra yöneticisi olarak yapılandırıldığından kullanıcı veritabanına erişebilir.
Tercih edilen yayımlama yöntemini kullanarak kodunuzu Azure'da yayımlayın. App Service'te kodunuz arka uç veritabanına bağlanmak için uygulamanın yönetilen kimliğini kullanır.
App Service kimlik doğrulamasında veya ilişkili uygulama kaydında değişiklikler yaptım. Neden hala eski belirteci alıyorum?
Yönetilen kimliklerin arka uç hizmetleri, hedef kaynağın belirtecini yalnızca süresi dolduğunda güncelleştiren bir belirteç önbelleği de tutar. Uygulamanızla belirteç almaya çalıştıktan sonra yapılandırmayı değiştirirseniz, önbelleğe alınan belirtecin süresi dolana kadar güncelleştirilmiş izinlere sahip yeni bir belirteç almazsınız. Bu sorunu geçici olarak gidermenin en iyi yolu, değişikliklerinizi yeni bir InPrivate (Edge)/private (Safari)/Incognito (Chrome) penceresiyle test etmektir. Bu şekilde, yeni bir kimliği doğrulanmış oturumdan başlayacağınızdan emin olursunuz.
Yönetilen kimliği bir Microsoft Entra grubuna eklemek Nasıl yaparım??
İsterseniz, kimliği bir Microsoft Entra grubuna ekleyebilir ve ardından kimlik yerine Microsoft Entra grubuna erişim vekleyebilirsiniz. Örneğin, aşağıdaki komutlar önceki adımdaki yönetilen kimliği myAzureSQLDBAccessGroup adlı yeni bir gruba ekler:
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
Bir Microsoft Entra grubu için veritabanı izinleri vermek için ilgili veritabanı türünün belgelerine bakın.
hatasını SSL connection is required. Please specify SSL options and retryalıyorum.
Azure veritabanına bağlanmak için ek ayarlar gerekir ve bu öğreticinin kapsamı dışındadır. Daha fazla bilgi için aşağıdaki bağlantılardan birine bakın:
Uygulamamı Web Uygulaması + Veritabanı şablonuyla oluşturdum ve şimdi Hizmet Bağlayıcısı komutları ile yönetilen kimlik bağlantısı yapılandıramıyorum.
Hizmet Bağlayıcısı,uygulama kimliğine erişim vermek için veritabanına ağ erişimine ihtiyaç duyar. Web App + Veritabanı şablonuyla Azure portalında varsayılan olarak güvenli bir uygulama ve veritabanı mimarisi oluşturduğunuzda, mimari veritabanına ağ erişimini kilitler ve yalnızca sanal ağ içinden bağlantılara izin verir. Azure Cloud Shell için de geçerlidir. Ancak, Cloud Shell'i sanal ağda dağıtabilir ve ardından bu Cloud Shell'de Hizmet Bağlayıcısı komutunu çalıştırabilirsiniz.
Sonraki adımlar
Öğrendikleriniz:
Microsoft Entra kullanıcısını Azure veritabanınız için yönetici olarak yapılandırın.
Veritabanınıza Microsoft Entra kullanıcısı olarak bağlanın.
App Service uygulaması için sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliği yapılandırın.