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.
Hoş geldiniz! Bu muhtemelen beklediğiniz sayfa değildir. Bir düzeltme üzerinde çalışırken bu bağlantı sizi doğru makaleye götürmelidir:
Hızlı Başlangıç: Python daemon uygulamasından belirteç alma ve Microsoft Graph'ı çağırma
Bu sorun için özür dileriz ve bu sorunu çözmek için çalışırken sabrınızı takdir ediyoruz.
Bu hızlı başlangıçta, Python uygulamasının Microsoft Graph API'sini çağırmak ve dizindeki kullanıcıların listesini görüntülemek için uygulamanın kimliğini kullanarak nasıl erişim belirteci alabileceğini gösteren bir kod örneği indirip çalıştıracaksınız. Kod örneği, katılımsız bir işin veya Windows hizmetinin kullanıcı kimliği yerine uygulama kimliğiyle nasıl çalışabileceğini gösterir.
Önkoşullar
Bu örneği çalıştırmak için şunları yapmanız gerekir:
Hızlı başlangıç uygulamasını indirme ve yapılandırma
1. Adım: Uygulamanızı Azure portalında yapılandırma
Bu hızlı başlangıçtaki kod örneğinin çalışması için bir istemci sırrı oluşturun ve Graph API'nin User.Read.All uygulama iznini ekleyin.
Uygulamanız bu özniteliklerle yapılandırıldı.
2. Adım: Python projesini indirme
Not
Enter_the_Supported_Account_Info_Here
Standart kullanıcı
Kiracınızın standart kullanıcısıysanız Genel Yöneticiden uygulamanız için yönetici onayı vermesini isteyin. Bunu yapmak için yöneticinize aşağıdaki URL'yi verin:
https://login.microsoftonline.com/Enter_the_Tenant_Id_Here/adminconsent?client_id=Enter_the_Application_Id_Here
4. Adım: Uygulamayı çalıştırma
Bu örneğin bağımlılıklarını bir kez yüklemeniz gerekir.
pip install -r requirements.txt
Ardından, komut istemi veya konsol aracılığıyla uygulamayı çalıştırın:
python confidential_client_secret_sample.py parameters.json
Konsol çıkışında Microsoft Entra dizininizdeki kullanıcıların listesini temsil eden bir Json parçası görmeniz gerekir.
Önemli
Bu hızlı başlangıç uygulaması, kendisini gizli istemci olarak tanımlamak için bir istemci sırrı kullanır. İstemci gizli dizisi proje dosyalarınıza düz metin olarak eklendiğinden, güvenlik nedeniyle, uygulamayı üretim uygulaması olarak değerlendirmeden önce istemci gizli dizisi yerine bir sertifika kullanmanız önerilir. Sertifika kullanma hakkında daha fazla bilgi için bu yönergelere, bu örnek için aynı GitHub deposunda, ikinci klasör olan 2-Call-MsGraph-WithCertificate'te bakın.
Daha Fazla Bilgi
MSAL Python programlama dili
MSAL Python, kullanıcılarda oturum açmak ve Microsoft kimlik platformu tarafından korunan bir API'ye erişmek için kullanılan belirteçleri istemek için kullanılan kitaplıktır. Başlangıçta belirtildiği gibi, bu hızlı başlangıç kılavuzu belirteçleri temsilci izinleri yerine uygulamanın kendi kimliğini kullanarak talep etmektedir. Bu durumda kullanılan kimlik doğrulama akışı, istemci kimlik bilgileri oauth akışı olarak bilinir. MSAL Python'ı daemon uygulamalarıyla kullanma hakkında daha fazla bilgi için bu makaleye bakın.
Aşağıdaki pip komutunu çalıştırarak MSAL Python'ı yükleyebilirsiniz.
pip install msal
MSAL başlatma
Şu kodu ekleyerek MSAL referansını ekleyebilirsiniz:
import msal
Sonra da şu kodu kullanarak MSAL başlatın:
app = msal.ConfidentialClientApplication(
config["client_id"], authority=config["authority"],
client_credential=config["secret"])
Nerede: Açıklama config["secret"]Azure portalında uygulama için oluşturulan istemci anahtarıdır. config["client_id"]Uygulama (istemci) Kimliği, Azure portalda kayıtlı uygulamadır. Bu değeri Azure portalda uygulamanın Genel bakış sayfasında bulabilirsiniz. config["authority"]Kimlik doğrulaması yapılacak kullanıcı için STS uç noktası. Genellikle https://login.microsoftonline.com/{tenant}genel bulut için, burada {tenant} kiracınızın adı veya kiracı kimliğinizdir.
Daha fazla bilgi için lütfen ConfidentialClientApplication başvuru belgelerine bakın.
Jeton talep etme
Uygulamanın kimliğini kullanarak belirteç talep etmek için AcquireTokenForClient yöntemini kullanın.
result = None
result = app.acquire_token_silent(config["scope"], account=None)
if not result:
logging.info("No suitable token exists in cache. Let's get a new one from Azure AD.")
result = app.acquire_token_for_client(scopes=config["scope"])
Nerede: Açıklama config["scope"]İstenen kapsamları içerir. Gizli istemciler için, istenen kapsamların Azure portalında ayarlanan uygulama nesnesinde statik olarak tanımlanan kapsamlar olduğunu belirtmek amacıyla {Application ID URI}/.defaultbenzeri bir format kullanılmalıdır (Microsoft Graph için,{Application ID URI}https://graph.microsoft.comöğesine işaret eder). Özel web API'leri için,{Application ID URI}Azure portalındaki Uygulama kayıtları altındaki API Tanıtımı bölümünde tanımlanır.
Daha fazla bilgi için lütfen AcquireTokenForClient başvuru belgelerine bakın.
Yardım ve destek
Yardıma ihtiyacınız varsa, bir sorunu bildirmek veya destek seçenekleriniz hakkında bilgi edinmek istiyorsanız bkz . Geliştiriciler için yardım ve destek.
Sonraki adımlar
Daemon uygulamaları hakkında daha fazla bilgi edinmek için senaryo giriş sayfasına bakın.