Aracılığıyla paylaş


Azure Data Studio - Azure bağlantısı

Azure Data Studio, Microsoft Entra Id'den erişim belirteci almak için varsayılan olarak Microsoft Kimlik Doğrulama Kitaplığı'nı (MSAL) kullanır. Microsoft Entra kimlik doğrulaması için geçerli olan ayarlar ve yaygın olarak gözlemlenen sorunlar ve çözümleri ele alınıyor.

Dekont

Azure Active Directory'nin (Azure AD) yeni adı Microsoft Entra Id olsa da, mevcut ortamların kesintiye uğramasını önlemek için Azure AD yine de kullanıcı arabirimi alanları, bağlantı sağlayıcıları, hata kodları ve cmdlet'ler gibi bazı sabit kodlanmış öğelerde kalır. Bu makalede, iki ad birbirinin yerine kullanılabilir.

Azure: Kimlik doğrulama kitaplığı

Bu ayar yalnızca Azure Data Studio 1.41 ile 1.45 arasında kullanılabilir. Artık Azure Data Studio 1.46 ve sonraki sürümlerde kullanılamaz.

Bu ayar, Microsoft Entra hesabı eklerken Azure Data Studio tarafından kullanılan kimlik doğrulama kitaplığını denetler. Microsoft Authentication Library (MSAL), standart uyumlu OAuth 2.0 ve OpenID Bağlan (OIDC) 1.0 uygulamalarını kullanarak kimlik doğrulama ve yetkilendirme hizmetleri sunar. Microsoft Kimlik Doğrulama Kitaplığı (MSAL) hakkında daha fazla bilgi edinin. Azure Data Studio 1.46 ve sonraki sürümlerinde, ADAL (Active Directory Kimlik Doğrulama Kitaplığı) kullanım dışı olduğundan MSAL, kullanımdaki tek kitaplıktır.

Azure kimlik doğrulama yöntemi

Azure Data Studio, aşağıdaki modları kullanarak Microsoft Entra çok faktörlü kimlik doğrulamasını (MFA) destekler:

  • Kod Verme kimlik doğrulamayı kullanma (varsayılan olarak etkindir)
  • Cihaz Kodu kimlik doğrulamayı kullanma

Azure > Kimlik Doğrulaması Hesapları>: Kod Verme

Settings.json

"accounts.azure.auth.codeGrant": true

Screenshot of Azure authentication Code Grant option.

Kod Verme yöntemi denetlendiğinde, kullanıcılardan tarayıcı tabanlı kimlik doğrulamasıyla kimlik doğrulaması istenir. Bu seçenek varsayılan olarak etkindir.

Azure > Kimlik Doğrulaması Hesapları>: Cihaz Kodu

Settings.json

"accounts.azure.auth.deviceCode": true

Screenshot of Azure authentication Device Code option.

Cihaz Kodu yöntemi etkinleştirildiğinde, kullanıcılara giriş yapmak için kullanılabilecek bir kod ve url sağlanır.

Her iki seçenek de işaretlendiğinde, kullanıcılardan Microsoft Entra hesabı eklerken iki kimlik doğrulama modundan birini seçmeleri istenir.

Azure bulut yapılandırması

Azure Data Studio, ulusal bulutlarla Microsoft Entra kimlik doğrulamayı destekler. Azure Genel Bulutu varsayılan olarak etkindir, ancak kullanıcılar gerektiğinde diğer ulusal bulutları etkinleştirebilir:

Settings.json

"accounts.azure.cloud.enableChinaCloud": false,
"accounts.azure.cloud.enablePublicCloud": true,
"accounts.azure.cloud.enableUsGovCloud": false

Screenshot of Azure authentication National Clouds.

Özel bulut uç noktaları da tanımlanabilir. Bkz . Özel bulut uç noktalarını yapılandırma.

Azure kaynak yapılandırması

Bu ayarlar, Azure kaynaklarına ve kiracılarına filtre uygular.

  • Kaynak Yapılandırma filtresi: Görüntülenmesi gereken kaynaklara ekleme filtresi uygular.
  • Kiracı Yapılandırması filtresi: Yoksayılması gereken kiracılara dışlama filtresi uygular.

Settings.json

"azure.resource.config.filter": [],
"azure.tenant.config.filter": [
    "313b5f9e-9b92-414c-8d87-a317e42d0222"
]

Screenshot of Azure authentication resource configuration options.

Microsoft Entra kimlik doğrulaması için ara sunucu kurulumu

Ara sunucunun arkasında Azure Data Studio kullanılıyorsa, kullanıcıların dış uç noktalarla iletişim kurmak için Azure Data Studio için ara sunucu ayarlarını belirtmesi gerekir. Azure Data Studio'ya proxy ayarlarını sağlamanın iki yolu vardır:

  • Azure Data Studio'da ara sunucu yapılandırmasını ayarlama (Ayarlar > Http: Proxy Ayarlar)
  • Ara sunucu yapılandırması için ortam değişkenlerini ayarlama

Azure Data Studio ayarları ortam değişkenlerinden önceliklidir.

Azure Data Studio proxy ayarları

Aşağıdaki ayarlar Azure Data Studio'da kullanılabilir:

Settings.json

"http.proxy": "https://userName@fqdn:yourPassword@yourProxyURL.com:8080",
"http.proxyStrictSSL": true,
"http.proxyAuthorization": "",
"http.proxySupport" : "override"

Screenshot of Azure authentication proxy settings.

Proxy için desteklenen ortam değişkenleri

  • 'HTTP_PROXY': 'http://userName@fqdn:yourPassword@yourProxyURL.com:8080'
  • 'HTTPS_PROXY': 'https://userName@fqdn:yourPassword@yourProxyURL.com:8080'

İzin Verilenler Listesi URL'leri

Ara sunucu ortamında, kullanıcı uygulamalarının Azure Data Studio tarafından kullanılan belirli etki alanlarına izin vermeleri gerekebilir. İletişime ihtiyaç duyabileceğiniz veya izin vermek isteyebileceğiniz ana bilgisayar adları şunlardır:

Azure Genel

  • https://management.azure.com
  • https://login.microsoftonline.com/

Azure (ABD Kamu)

  • https://management.core.usgovcloudapi.net/
  • https://login.microsoftonline.us/

21Vianet tarafından sağlanan Azure

  • https://management.core.chinacloudapi.cn/
  • https://login.partner.microsoftonline.cn/

İzin verebileceğiniz URL'ler bazen büyük/küçük harfe göre farklılık gösterebilir. Herhangi bir URL'nin geçişini engellemediğinizden emin olmak için Geliştirici Araçları'nı Açma/Kapatma Yardımı'na > gidin ve Ağ sekmesini seçin. Engellenen TÜM URL'ler listelenir ve bu URL'lerin hesabınızı başarıyla eklemesine izin vermeniz gerekebilir.

Özel bulut uç noktalarını yapılandırma

Azure Data Studio 1.46, abonelik dışı bulutlar için özel uç noktalar ekleme desteği sunar.

Özel bulut uç noktaları ekleme

Azure Data Studio'da (Ctrl/Cmd + Shift + P) Ayarlar açın ve Azure: Özel Sağlayıcı Ayarlar girin, ardından dosyayı otomatik olarak açıp settings.json ekleyen azure.customProviderSettingssettings.json dosyasında Düzenle'yi seçin:

Screenshot of azure.customProviderSettings added to settings.json file.

Uç noktanın çalışması için aşağıdaki girdiler gereklidir:

  • host
  • clientId
  • scopes
  • sqlResource
  • microsoftResource
  • armResource
  • graphResource
  • azureStorageResource

Bir sağlayıcı için örnek bir JSON girişi kılavuz olarak sunulur:

"azure.customProviderSettings": [
    {
        "name": "Azure Custom",
        "settings": {
            "metadata": {
                "displayName": "Azure Custom Cloud",
                "id": "azure_customCloud",
                "endpoints": {
                    "host": "https://hostendpoint.com/",
                    "clientId": "test",
                    "microsoftResource": "https://microsoftresource.com/",
                    "graphResource": "https://graphresource.com/",
                    "msGraphResource": "https://msgraphresource.com/",
                    "armResource": "https://armresource.com/",
                    "sqlResource": "https://sqlresource.net/",
                    "azureKeyVaultResource": "https://azurekeyvault.net/",
                    "azureLogAnalyticsResource": "https://azure.loganalytic.io/",
                    "azureStorageResource": {
                        "endpoint": "",
                        "endpointSuffix": ".azurestorage.net/"
                    },
                    "azureKustoResource": "https://kusto.net/",
                    "powerBiResource": "https://powerbi.net/",
                    "scopes": "https://management.net/scopes",
                    "portalEndpoint": "https://portal.azure.com"
                }
            }
        }
    }
]

Uç noktayı ekledikten sonra dosyayı kaydedin settings.json . Azure Data Studio, uygulamayı yeniden yüklemenizi bildirir. Yeniden yüklendikten sonra özel uç noktaların yüklendiği bildirilir:

Screenshot after reloading Azure Data Studio indicating custom endpoints have been loaded.

Bu ileti görünmüyorsa, uç nokta için tüm girdilerin mevcut olup olmadığını ve doldurulup doldurulmadığını denetleyin.

Özel bulut ekledikten sonra Azure Bağlı hesaplar bölmesini açtığınızda özel bulut görünümü görüntülenir. Hesap ekle'yi seçin ve istenirse kimlik doğrulama modunu seçin. Kimlik doğrulaması yapmak için konak uç noktasına yönlendirilirsiniz.

Screenshot of a custom cloud provider in the Azure accounts pane.

Birden çok özel bulut sağlayıcısı

Dosyaya settings.json aynı biçim kullanılarak ek bulut sağlayıcıları eklenebilir.

"azure.customProviderSettings": [
    {
        "name": "Azure Custom",
        "settings": {
            "metadata": {
                "displayName": "Azure Custom Cloud",
                "id": "azure_customCloud",
                "endpoints": {
                    "host": "https://hostendpoint.com/",
                    "clientId": "test",
                    "microsoftResource": "https://microsoftresource.com/",
                    "graphResource": "https://graphresource.com/",
                    "msGraphResource": "https://msgraphresource.com/",
                    "armResource": "https://armresource.com/",
                    "sqlResource": "https://sqlresource.net/",
                    "azureKeyVaultResource": "https://azurekeyvault.net/",
                    "azureLogAnalyticsResource": "https://azure.loganalytic.io/",
                    "azureStorageResource": {
                        "endpoint": "",
                        "endpointSuffix": ".azurestorage.net/"
                    },
                    "azureKustoResource": "https://kusto.net/",
                    "powerBiResource": "https://powerbi.net/",
                    "scopes": "https://management.net/scopes",
                    "portalEndpoint": "https://portal.azure.com"
                }
            }
        }
    },
    {
        "name": "Azure Custom 2",
        "settings": {
            "metadata": {
                "displayName": "Azure Custom Cloud 2",
                "id": "azure_customCloud2",
                "endpoints": {
                    "host": "https://hostendpoint.com/",
                    "clientId": "test",
                    "microsoftResource": "https://microsoftresource.com/",
                    "graphResource": "https://graphresource.com/",
                    "msGraphResource": "https://msgraphresource.com/",
                    "armResource": "https://armresource.com/",
                    "sqlResource": "https://sqlresource.net/",
                    "azureKeyVaultResource": "https://azurekeyvault.net/",
                    "azureLogAnalyticsResource": "https://azure.loganalytic.io/",
                    "azureStorageResource": {
                        "endpoint": "",
                        "endpointSuffix": ".azurestorage.net/"
                    },
                    "azureKustoResource": "https://kusto.net/",
                    "powerBiResource": "https://powerbi.net/",
                    "scopes": "https://management.net/scopes",
                    "portalEndpoint": "https://portal.azure.com"
                }
            }
        }
    }
]

Yaygın kimlik doğrulama sorunları

Azure hesabı eklerken karşılaşılan olası sorunlar ve çözümler ele alınıyor.

Sorun: localhost sayfasında SSL Hatası (ERR_SSL_PROTOCOL_ERROR)

Kullanıcılar hesaplarında oturum açarken ssl hatası görebilir. Bu akış, normalde kullanıcılardan standart Microsoft kimlik doğrulaması istemleri aracılığıyla oturum açmalarını isteyen bir dış web sayfası localhostaçar. Bu sayfanın URL'si şuna benzer: http://localhost:50055/signin?nonce=...

Bazı tarayıcılar, web sayfasına hizmet veren yerel sunucu https'yi desteklemediğinden bu işlemi bozan tüm http bağlantıları httpsotomatik olarak öğesine yönlendirecek şekilde ayarlanabilir. Adres çubuğundaki bağlantı ile httpsbaşlıyorsa ssl hatası alırsınız ve sayfa yüklenemez. Bu durumda, burada listelenen geçici çözümler sorunu çözebilir.

URL'yi http olarak değiştirme

İlk olarak, URL'yi https://http://olarak el ile değiştirin. Tarayıcı yeniden https olarak değiştirebilir, bu durumda başka bir seçenek denemek gerekir.

HSTS'yi devre dışı bırakma (HTTP Katı Aktarım Güvenliği)

Edge/Chrome tarayıcıları için localhost için HSTS'yi devre dışı bırakabilirsiniz.

  1. Edge/Chrome'ı açın ve adres çubuğuna (veya chrome://net-internals/#hsts Chrome için) yazın edge://net-internals/#hsts .
  2. Sayfanın en altına kaydırın ve Delete domain security policies bölümünde girin localhost ve tuşuna basın Delete.

İşlem tamamlandıktan sonra oturum açabilmeniz ve tarayıcının bağlantılarınızı localhost otomatik olarak adresine yönlendirmesini httpssağlamamalısınız.

Sorun: Proxy'nin arkasına hesap eklenemiyor

Kullanıcı uygulaması bir ara sunucu arkasındaki bir ortamda çalışıyorsa, kullanıcı kimlik doğrulaması tamamlanmayabilir ve bu adımlar sorunu çözmek için kullanılabilir.

  1. Azure Data Studio'da ortam değişkenlerini ve http.proxy ayarlarını yeniden denetleyin. Ara sunucu kullanıcı kimlik doğrulaması gerektiriyorsa http.proxy URL'sinde kullanıcı adı/parola sağlanması kimlik doğrulama sorunlarını çözebilir; aksi takdirde Azure Data Studio oturum açmış kullanıcı kimlik bilgilerini okuyamaz. Alternatif olarak, proxy ile ilgili kimlik doğrulama sorunlarını çözmeye yardımcı olabileceği için Azure Data Studio'yu farklı bir kullanıcı olarak çalıştırmayı deneyebilirsiniz. Ancak, ikincisi yalnızca bazı senaryolarda çalışır.

  2. İzin verebileceğiniz URL'ler büyük/küçük harfe göre farklılık gösterebilir. Herhangi bir URL'nin geçişini engellemediğinizden emin olmak için Geliştirici Araçları'nı Açma/Kapatma Yardımı'na > gidin ve Ağ sekmesini seçin. Burada, hesabınızı başarıyla eklemek için izin vermeniz gerekebilecek engellenen URL'leri görürsünüz.

  3. Http: Proxy Katı SSL'nin işaretini kaldırın. Proxy sertifikasının güvenilen CA'lar listesinde doğrulanamıyor olması mümkündür. Katı SSL'nin devre dışı bırakılması, proxy sertifikasını bir sorun olarak eleyebilir.

Sonuca varmak için:

Platformlar arası bir uygulama olarak Azure Data Studio proxy çözümlemesi, ara sunucuyu uygulama içindeki ayardan veya ortam değişkenleri aracılığıyla getirir. Amaç, farklı işletim sistemlerinde önemli ölçüde farklılık gösterebilen sistem ayarlarıyla etkileşimden kaçınmaktır.

Sorun: Azure Core uzantısı devre dışı bırakıldı

Azure Core uzantısı, Azure Data Studio'da yerleşik bir uzantıdır. Devre dışı bırakılmadığından veya yanlışlıkla kaldırılmadığından emin olun. Bu uzantı, Microsoft Entra hesaplarının kimliğini doğrulamak ve MFA kullanarak kaynaklara bağlanmak için gereklidir.

Screenshot of built-in Azure Core extension.

Sorun: Sistem CA sertifikalarının süresi doldu

Azure Data Studio'nun varsayılan davranışı, HTTPS Protokolü kullanarak REST API çağrıları yaparken sistemin kök CA sertifikalarını doğrulamayı içerir. Doğrulama, varsayılan olarak etkin olan ayar ile http:systemCertificates denetlendi:

Screenshot of system certificates setting.

"http.systemCertificates": true

Bir sistemin kök CA sertifikasının süresi dolduysa, Microsoft Entra Id kimlik doğrulaması istekleri başarısız olur ve Azure hesap günlüklerinde bir hata yakalanır:

error: certificate is expired

Bu hatayı azaltmak için süresi dolan Kök CA Sertifikalarını kaldırmanız veya sistem sertifikalarını doğrulamama ayarını devre dışı bırakmanız gerekir.

Azure kimlik doğrulaması için günlükleri yakalama

Azure Data Studio varsayılan olarak Microsoft Entra hesabı etkinliği için Hata olaylarını yakalar. Daha ayrıntılı izlemeleri etkinleştirmek için kullanıcılar şu ayarları değiştirebilir:

Azure: Günlük düzeyi

Bu ayar, Azure Data Studio'da yakalanabilecek Azure çekirdek bilgileri için günlük düzeyini yapılandırır. Kimlik doğrulama hatalarını tanılamak için yararlı olabilecek ayrıntılı günlükleri yakalamak için Ayrıntılı veya Tümü olarak değiştirin. Daha fazla bilgi için günlük bilgilerini yakalamayı öğrenmek için bkz . Azure Data Studio günlükleri ve konumu .

Settings.json

"azure.loggingLevel": "Verbose"

Screenshot of Azure authentication logging Level configuration.

Azure: PII günlüğü

Kullanıcılar yerel test ve hata ayıklama amacıyla PII (Kişisel Bilgiler) günlüğünü etkinleştirebilir. Bu ayar, kimlik doğrulama işleminin daha kapsamlı bir şekilde günlüğe kaydedilmesini sağlar, ancak Microsoft Entra Id ile kimlik doğrulaması yaparken erişim belirteçleri veya kullanıcı kimlikleri gibi hassas bilgiler içerebilir. Bu günlük, hassas bilgileri yakaladığından şunların kullanılması önerilir:

  • Özellikle GitHub sorunlarına günlük eklerken bu günlükleri başkalarıyla paylaşmayın
  • Gerekli bilgiler toplandıktan sonra ayarı devre dışı bırakın
  • Ayar devre dışı bırakıldıktan sonra günlük dosyalarını silme

Settings.json

"azure.piiLogging": true

Screenshot of Azure authentication PII logging option.

Azure: Sistem anahtarlığı yok

Bu ayar, macOS'ta yinelenen anahtarlık erişim istemlerini önlemek için sistem anahtar zinciri tümleştirmesini devre dışı bırakır. Kullanıcı Kimlik Bilgileri alternatif olarak kullanıcının giriş dizinindeki düz bir dosyada depolanır.

Settings.json

"azure.noSystemKeychain": true

Screenshot of Azure authentication keychain configuration.

Microsoft Entra hesap belirteci önbelleğini temizleme

Azure Data Studio, belirteç isteklerinin Microsoft Entra Id'ye daraltılmasını önlemek için erişim belirteçlerinin önbelleğini tutar. Azure Data Studio'nun belirteç önbelleği eski olabilir ve bu da süresi dolan erişim belirteçlerinin uygulama önbelleğinden temizlenmesini gerektirir.

Bağlı Microsoft Entra hesaplarının erişim belirteçlerini temizlemek için komut paletinden (Ctrl/CMD + Shift + P) bu komutu yürütür:

Azure Accounts: Clear Azure Account Token Cache (accounts.clearTokenCache)

Kaydedilen tüm Microsoft Entra hesaplarını temizle

Bu komutu Komut Paleti'nden (Ctrl/CMD + Shift + P) yürüterek tüm bağlı Microsoft Entra hesaplarını Azure Data Studio'dan kaldırın:

Tüm kayıtlı hesapları temizle (clearSavedAccounts)