Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Aracılı kimlik doğrulaması, bir uygulamanın kimliğini doğrulamak için sistem kimlik doğrulama aracısını kullanarak kullanıcı kimlik bilgilerini toplar. Sistem kimlik doğrulama aracısı, kullanıcının makinesinde çalışan ve tüm bağlı hesaplar için kimlik doğrulama el sıkışmalarını ve belirteç bakımını yöneten bir uygulamadır.
Aracılı kimlik doğrulaması aşağıdaki avantajları sunar:
- Tek Sign-On (SSO) etkinleştirir: Uygulamaların kullanıcıların Microsoft Entra ID ile kimlik doğrulamasını basitleştirmesini sağlar ve Microsoft Entra ID yenileme belirteçlerini sızdırma ve kötüye kullanıma karşı korur.
- Gelişmiş güvenlik: Birçok güvenlik geliştirmesi, uygulama mantığını güncelleştirmeye gerek kalmadan aracıyla birlikte sunulur.
- Gelişmiş özellik desteği: Geliştiriciler, aracı yardımıyla zengin işletim sistemi ve hizmet özelliklerine erişebilir.
- Sistem tümleştirmesi: Yerleşik hesap seçicisi ile aracı tak çalıştır özelliğini kullanan uygulamalar, kullanıcının aynı kimlik bilgilerini tekrar kullanmak yerine mevcut bir hesabı hızla seçmesine olanak tanır.
- Belirteç Koruması: Yenileme belirteçlerinin cihaza bağlı olmasını sağlar ve uygulamaların cihaza bağlı erişim belirteçleri almasını sağlar. Bkz. Belirteç Koruması.
Windows , Web Hesabı Yöneticisi (WAM) adlı bir kimlik doğrulama aracısı sağlar. WAM, Microsoft Entra ID gibi kimlik sağlayıcılarının işletim sistemine yerel olarak bağlanmasını ve uygulamalara güvenli oturum açma hizmetleri sağlamasını sağlar. Aracılı kimlik doğrulaması, etkileşimli oturum açma kimlik bilgileri tarafından izin verilen tüm işlemler için uygulamayı etkinleştirir.
Kişisel Microsoft hesapları ve iş veya okul hesapları desteklenir. Desteklenen Windows sürümlerinde, varsayılan tarayıcı tabanlı kullanıcı arabirimi, yerleşik Windows uygulamalarına benzer şekilde daha sorunsuz bir kimlik doğrulama deneyimiyle değiştirilir.
macOS yerel olarak yerleşik bir kimlik doğrulama aracısı içermez. Azure Identity istemci kitaplığı platforma özgü mekanizmalar kullanarak aracılı kimlik doğrulama özellikleri uygular ve cihazlar yönetildiğinde Microsoft Şirket Portalı gibi uygulamalarla tümleştirilebilir. Daha fazla bilgi için bkz. Apple cihazları için Microsoft Enterprise SSO eklentisi.
Linux, kimlik doğrulama aracısı olarak Linux için Microsoft çoklu oturum açma özelliğini kullanır.
Aracılı kimlik doğrulaması için uygulamayı yapılandırma
Uygulamanızda aracılı kimlik doğrulamasını etkinleştirmek için şu adımları izleyin:
Azure portalındaMicrosoft Entra Id'ye gidin ve sol taraftaki menüden Uygulama kayıtları'nı seçin.
Uygulamanızın kaydını ve ardından Kimlik Doğrulaması'nı seçin.
Bir platform yapılandırması aracılığıyla uygulama kaydınıza uygun yeniden yönlendirme URI'sini ekleyin:
Platform yapılandırmaları'nın altında + Platform ekle'yi seçin.
Platformları yapılandır'ın altında, mobil ve masaüstü uygulamaları gibi ayarlarını yapılandırmak için uygulama türünüz (platform) kutucuğunu seçin.
Özel yeniden yönlendirme URI'leri bölümüne platformunuz için aşağıdaki yeniden yönlendirme URI'sini girin:
Platform Yeniden yönlendirme URI'si Windows 10+ veya WSL ms-appx-web://Microsoft.AAD.BrokerPlugin/{your_client_id}macOS msauth.com.msauth.unsignedapp://authimzasız uygulamalar için
msauth.{bundle_id}://authimzalı uygulamalar içinLinux işletim sistemi https://login.microsoftonline.com/common/oauth2/nativeclient{your_client_id}veya{bundle_id}yerine, uygulama kaydının Genel Bakış bölmesindeki Uygulama (istemci) kimliğini koyun.'i seçin ve'i yapılandırın.
Daha fazla bilgi edinmek için bkz. Uygulama kaydına yeniden yönlendirme URI'sini ekleme.
Kimlik Doğrulaması bölmesindeki Gelişmiş ayarlar'ın altında Genel istemci akışlarına izin ver için Evet'i seçin.
Değişiklikleri uygulamak için Kaydet'i seçin.
Uygulamayı belirli kaynaklar için yetkilendirmek için söz konusu kaynağa gidin, API İzinleri'ni seçin ve Microsoft Graph'ı ve erişmek istediğiniz diğer kaynakları etkinleştirin.
Önemli
Ayrıca, ilk kez oturum açtığınızda uygulamanıza onay vermek için kiracınızın yöneticisi olmanız gerekir.
Rol atayın
Uygulama kodunuzu aracılı kimlik doğrulamasıyla başarıyla çalıştırmak için Azure rol tabanlı erişim denetimi (RBAC) kullanarak kullanıcı hesabınıza izin verin. İlgili Azure hizmeti için kullanıcı hesabınıza uygun bir rol atayın. Örneğin:
- Azure Blob Depolama: Depolama Hesabı Veri Katkıcısı rolünü atayın.
- Azure Key Vault: Key Vault Sırları Görevlisi rolünü atayın.
Bir uygulama belirtilirse, User_impersonation Access Azure Depolama için API izinlerinin ayarlanmış olması gerekir (önceki bölümde 6. adım). Bu API izni, oturum açma sırasında onay verildikten sonra uygulamanın oturum açmış kullanıcı adına Azure depolamaya erişmesine olanak tanır.
Kodu uygulama
Aşağıdaki örnekte ile kimlik doğrulaması yapmak için bir InteractiveBrowserBrokerCredential kullanımı gösterilmektedir BlobServiceClient:
Paketleri yükleyin.
pywin32, Windows'ta şu anda ön planda olan pencereyi almak için kullanılır.pip install azure-identity-broker pywin32Ana pencerenin üzerinde gösterilmesi gereken hesap seçici iletişim kutusu için bir öncelik alın. Aşağıdaki kod örneğinde bu satır olacaktır:
current_window_handle = win32gui.GetForegroundWindow()Ana pencere referansını geçirerek bir
InteractiveBrowserBrokerCredentialörneği oluşturun. Son kod örneğinde bu satır olacaktır:credential = InteractiveBrowserBrokerCredential(parent_window_handle=current_window_handle)Bu örnekte Blob Depolama olan Azure hizmetine erişmek için öğesini
credentialkullanın.
İşte son kod örneği:
import win32gui
from azure.identity.broker import InteractiveBrowserBrokerCredential
from azure.storage.blob import BlobServiceClient
# Get the handle of the current window
current_window_handle = win32gui.GetForegroundWindow()
# To authenticate and authorize with an app, use the following line to get a credential and
# substitute the <app_id> and <tenant_id> placeholders with the values for your app and tenant.
# credential = InteractiveBrowserBrokerCredential(parent_window_handle=current_window_handle, client_id=<app_id>, tenant_id=<tenant_id>)
credential = InteractiveBrowserBrokerCredential(parent_window_handle=current_window_handle)
client = BlobServiceClient("https://<storage-account-name>.blob.core.windows.net/", credential=credential)
# Prompt for credentials appears on first use of the client
for container in client.list_containers():
print(container.name)
Daha kesin bir denetim için, zaman aşımı ayarlamak gibi, InteractiveBrowserBrokerCredential'e timeout gibi belirli argümanlar sağlayabilirsiniz.
Kodun başarıyla çalışması için kullanıcı hesabınıza depolama hesabında Depolama Hesabı Verileri Katkıda Bulunanı gibi blob kapsayıcılarına erişim izni veren bir Azure rolü atanmalıdır. Bir uygulama belirtilirse, User_impersonation Access Azure Depolama için API izinlerinin ayarlanmış olması gerekir (önceki bölümde 6. adım). Bu API izni, oturum açma sırasında onay verildikten sonra uygulamanın oturum açmış kullanıcı adına Azure depolamaya erişmesine olanak tanır.
Aşağıdaki ekran görüntüsünde alternatif etkileşimli, aracılı kimlik doğrulama deneyimi gösterilmektedir:
Önemli
macOS desteği 1.3.0 ve sonraki sürümlerde azure-identity-broker mevcuttur.
Aşağıdaki örnek, BlobServiceClient ile kimlik doğrulaması yapmak için InteractiveBrowserBrokerCredential kullanımını göstermektedir.
Paketleri yükleyin.
msal(Microsoft Authentication Library) parametresi için bir sabit sağlamak içinparent_window_handlekullanılır.pip install azure-identity-broker msalAna pencere başvurusunu aktararak
InteractiveBrowserBrokerCredentialörneği oluşturun. Bunun için,msalmodülü tarafından sağlanan, hesap seçici iletişim kutusunun görüneceği üst düzey pencereye bir referans almanız gerekir. Aşağıdaki kod örneğinde bu satır olacaktır:credential = InteractiveBrowserBrokerCredential( parent_window_handle=msal.PublicClientApplication.CONSOLE_WINDOW_HANDLE )Bu örnekte Blob Depolama olan Azure hizmetine erişmek için öğesini
credentialkullanın.
İşte son kod örneği:
from azure.identity.broker import InteractiveBrowserBrokerCredential
from azure.storage.blob import BlobServiceClient
import msal
credential = InteractiveBrowserBrokerCredential(
parent_window_handle=msal.PublicClientApplication.CONSOLE_WINDOW_HANDLE
)
client = BlobServiceClient("https://<storage-account-name>.blob.core.windows.net/", credential=credential)
# Prompt for credentials appears on first use of the client
for container in client.list_containers():
print(container.name)
mSAL Python'ı macOS'ta kimlik doğrulama aracılarıyla kullanma hakkında daha fazla bilgi için bkz. mSAL Python'ı macOS'ta Kimlik Doğrulama Aracısı ile kullanma.
Daha kesin bir denetim için, zaman aşımı ayarlamak gibi, InteractiveBrowserBrokerCredential'e timeout gibi belirli argümanlar sağlayabilirsiniz.
Kodun başarıyla çalışması için kullanıcı hesabınıza depolama hesabında Depolama Hesabı Verileri Katkıda Bulunanı gibi blob kapsayıcılarına erişim izni veren bir Azure rolü atanmalıdır. Bir uygulama belirtilirse, User_impersonation Access Azure Depolama için API izinlerinin ayarlanmış olması gerekir (önceki bölümde 6. adım). Bu API izni, oturum açma sırasında onay verildikten sonra uygulamanın oturum açmış kullanıcı adına Azure depolamaya erişmesine olanak tanır.
Aşağıdaki ekran görüntüsünde alternatif etkileşimli, aracılı kimlik doğrulama deneyimi gösterilmektedir:
Önemli
Linux desteği 1.3.0 ve sonraki sürümlerde azure-identity-broker mevcuttur.
Aşağıdaki örnekte ile kimlik doğrulaması yapmak için bir InteractiveBrowserBrokerCredential kullanımı gösterilmektedir BlobServiceClient:
Paketleri yükleyin.
msal(Microsoft Authentication Library) parametresi için bir sabit sağlamak içinparent_window_handlekullanılır.pip install azure-identity-broker msalEbeveyn pencere referansı geçirilerek
InteractiveBrowserBrokerCredentialörneği oluşturun. Üstünde hesap seçici iletişim kutusunun görünmesi gereken üst pencereye (modül tarafındanmsalsağlanır) bir referans almanız gerekir. Aşağıdaki kod örneğinde bu satır olacaktır:credential = InteractiveBrowserBrokerCredential( parent_window_handle=msal.PublicClientApplication.CONSOLE_WINDOW_HANDLE )Bu örnekte Blob Depolama olan Azure hizmetine erişmek için öğesini
credentialkullanın.
İşte son kod örneği:
from azure.identity.broker import InteractiveBrowserBrokerCredential
from azure.storage.blob import BlobServiceClient
import msal
credential = InteractiveBrowserBrokerCredential(
parent_window_handle=msal.PublicClientApplication.CONSOLE_WINDOW_HANDLE
)
client = BlobServiceClient("https://<storage-account-name>.blob.core.windows.net/", credential=credential)
# Prompt for credentials appears on first use of the client
for container in client.list_containers():
print(container.name)
Bu kod örneğini çalıştırmadan önce Linux dağıtımınızda Linux bağımlılıklarının yüklü olduğundan emin olun. Ayrıca, dağıtıma bağlı olarak WSL için ayrı yönergeler vardır.
Daha kesin bir denetim için, zaman aşımı ayarlamak gibi, InteractiveBrowserBrokerCredential'e timeout gibi belirli argümanlar sağlayabilirsiniz.
Kodun başarıyla çalışması için kullanıcı hesabınıza depolama hesabında Depolama Hesabı Verileri Katkıda Bulunanı gibi blob kapsayıcılarına erişim izni veren bir Azure rolü atanmalıdır. Bir uygulama belirtilirse, User_impersonation Access Azure Depolama için API izinlerinin ayarlanmış olması gerekir (önceki bölümde 6. adım). Bu API izni, oturum açma sırasında onay verildikten sonra uygulamanın oturum açmış kullanıcı adına Azure depolamaya erişmesine olanak tanır.
Aşağıdaki videoda alternatif etkileşimli, aracılı kimlik doğrulama deneyimi gösterilmektedir: