Ekinlikler
17 Mar 23 - 21 Mar 23
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Hemen kaydolunBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Azure DevOps Services
büyük bir
PAT Lifecycle Management API'si sayesinde, otomatik işlemleri kullanarak kurumunuzla ilişkili PAT’leri kolayca yönetebilirsiniz. Bu zengin API kümesi, PAT'lerinizi yönetmenize olanak tanıyarak yeni PAT'ler oluşturmanıza ve mevcut PAT'leri yenilemenize veya süresinin dolmasına olanak tanır.
Önemli
Bu makalede, bir Microsoft Entra belirteci ile kimlik doğrulaması yapan ve PAT Yaşam Döngüsü API'siyle çağrı yapan bir uygulamanın nasıl yapılandırıldığını göstereceğiz.
Önemli
HIZMET sorumlularını veya yönetilen kimlikleri, PAT'leri oluşturmak veya iptal etmek için kullanamazsınız.
Kategori | Gereksinimler |
---|---|
Diğer Azure DevOps Services API'lerinden farklı olarak, kullanıcıların bu API'yi kullanmak için bir Microsoft Entra erişim belirteci sağlaması gerekir. Bu API'nin PAT oluşturma ve iptal etme özelliği göz önünde bulundurulduğunda, bu tür güçlü işlevlerin yalnızcadaha güvenli |
Microsoft Entra erişim belirteçlerini almak ve yenilemek için:
Önemli
"Uygulama adına" çözümleri ("istemci kimlik bilgileri" akışı gibi) ve Microsoft Entra erişim belirteci vermeyen herhangi bir kimlik doğrulama akışı bu API ile kullanım için geçerli değildir. Microsoft Entra kiracınızda çok faktörlü kimlik doğrulaması etkinleştirildiyse,
Microsoft Entra belirteçlerini işlemek için çalışan bir kimlik doğrulama akışına sahip bir uygulamanız olduğunda, PAT Yaşam Döngüsü Yönetimi API'sine çağrı yapmak için bu belirteçleri kullanabilirsiniz.
API'yi doğrudan çağırmak için, isteğinizin üst bilgisinde Bearer
belirteç olarak bir Authorization
Microsoft Entra erişim belirteci sağlayın.
Daha fazla bilgi ve kullanılabilir isteklerin tam listesi için PAT API başvurusuna bakın.
Aşağıdaki bölümde, Microsoft Entra erişim belirteci ile kullanıcının kimliğini doğrulayan bir uygulamanın nasıl oluşturulacağını göstereceğiz. Uygulama, Microsoft Authentication Library (MSAL) kullanır ve PAT Yaşam Döngüsü Yönetimi API'mizi çağırır.
Bu API için GitHub'dan indirebileceğiniz ve Microsoft Entra kiracınız ve Azure DevOps kuruluşunuzla kullanmak üzere yapılandırabileceğiniz örnek bir Python Flask web uygulaması sağladık. Örnek uygulama, Microsoft Entra erişim belirtecini almak için MSAL yetkilendirme kodu akışı kullanır.
Önemli
GitHub'da örnek Python Flask web uygulamasını kullanmaya başlamanızı öneririz, ancak farklı bir dil veya uygulama türü kullanmayı tercih ediyorsanız, eşdeğer bir test uygulamasını yeniden oluşturmak için Hızlı Başlangıç seçeneğini kullanın.
Örnek uygulamayı kopyaladıktan sonra deponun BENİOKU başlığındaki yönergeleri izleyin. README, bir uygulamayı Microsoft Entra kiracınıza kaydetmeyi, örneği Microsoft Entra kiracınızı kullanacak şekilde yapılandırmayı ve kopyalanan uygulamanızı çalıştırmayı açıklar.
Bunun yerine, Azure portalındaki uygulamanın sayfasındaki Hızlı Başlangıç seçeneğini kullanarak oluşturulan MSAL koduyla örnek bir uygulama oluşturabilirsiniz. Hızlı Başlangıç test uygulaması yetkilendirme kodu akışını izler, ancak bunu bir Microsoft Graph API uç noktasıyla yapar. Kullanıcıların PAT Yaşam Döngüsü Yönetimi API'sinin uç noktasına işaret etmek için uygulamanın yapılandırmasını güncelleştirmeleri gerekir.
Bu yaklaşımı izlemek için Microsoft Entra ID Develop docs giriş sayfasında seçtiğiniz uygulama türüne yönelik Hızlı Başlangıç yönergelerini izleyin. Python Flask Hızlı Başlangıç uygulamasıyla aşağıdaki örneği inceleyeceğiz.
Uygulamanızı etkin bir Azure aboneliğine sahip bir Microsoft Entra kiracısına kaydettikten sonra, Azure portalında> -Uygulama Kayıtları altında tescilli uygulamanıza gidin.
Uygulamanızı seçin ve API İzinleri'ne gidin.
İzin ekle'yi seçin ve Azure DevOps'u seçin -> ihtiyacınız olan uygun kapsamları seçin. Bu durumda, PAT Yaşam Döngüsü Yönetimi API'leri yalnızca
Hızlı Başlangıç'ı seçin.
Uygulama türünüzü seçin: Python Flask için Web uygulaması'yı seçin.
Uygulama platformunuzu seçin. Bu öğretici için Python'ı seçin.
Gerekli önkoşulları karşıladığınızdan emin olun, ardından Azure portalının uygulamanızı yapılandırmak için gerekli değişiklikleri yapmasına izin verin. Yanıt URL'si, uygulama oluşturma + "/getAToken" sırasında ayarlanan yeniden yönlendirme URL'sidir.
Hızlı Başlangıç uygulamasını indirin ve dosyaları ayıklayın.
Tüm gerekli bağımlılıklara sahip olduğunuzdan emin olmak için uygulama gereksinimlerini yükleyin ve uygulamayı çalıştırın. Uygulama başlangıçta Microsoft Graph API'sindeki bir uç noktaya isabet etmek üzere yapılandırılır. Aşağıdaki bölümde yer alan yapılandırma yönergelerini izleyerek bu uç noktayı PAT Yaşam Döngüsü Yönetimi API'sinin temel uç noktası olarak değiştirmeyi öğrenin.
Kullanıcı Hızlı Başlangıç uygulamasını indirip yükledikten sonra, Microsoft Graph'tan bir test API uç noktası kullanacak şekilde yapılandırılır. Oluşturulan yapılandırma dosyasını, bunun yerine PAT Yaşam Döngüsü Yönetimi API'sini çağıracak şekilde değiştirin.
İpucu
Koleksiyonu ve kuruluşu bu belgelerde birbirinin yerine kullanırız. Bir yapılandırma değişkeninin koleksiyon adına ihtiyacı varsa, lütfen bunu kuruluşunuzun adıyla değiştirin.
Aşağıdaki görevleri gerçekleştirin:
Aşağıdaki örnekte, önceki bölümde Azure portalı aracılığıyla oluşturduğumuz Hızlı Başlangıç Python Flask uygulaması için bu yapılandırmayı nasıl yaptığımız gösterilmektedir.
İlk olarak uygulama yapılandırma dosyasına düz metin olarak eklenen istemci gizli dizinizin güvenliğini sağlamak için yönergeleri izlediğinizden emin olun. En iyi yöntem olarak, yapılandırma dosyasından düz metin değişkenini kaldırın ve bir ortam değişkeni veya Azure KeyVault kullanarak uygulamanın gizli dizisini koruyun.
Bunun yerine, istemci gizli dizisi yerine sertifika kullanmayı seçebilirsiniz. Uygulama üretimde kullanılıyorsa, sertifikaların kullanılması önerilen seçenektir. Sertifika kullanma yönergeleri, Hızlı Başlangıç uygulaması kurulumunun son adımında bulunabilir.
Dikkat
Üretim uygulama kodunda hiçbir zaman düz metin istemci gizli dizisi bırakmayın.
Hızlı Başlangıç uygulamanızı indirdikten, bağımlılıklarını yükledikten ve ortamınızda çalıştığını test ettikten sonra dosyayı istediğiniz düzenleyicide açın app_config.py
. Dosya aşağıdaki kod parçacığına benzemelidir; Netlik sağlamak için, varsayılan Microsoft Graph API yapılandırmasına başvuran açıklamalar kaldırıldı:
import os
CLIENT_ID = "YOUR_CLIENT_ID_HERE"
# Application (client) ID of app registration
CLIENT_SECRET = "YOUR_CLIENT_SECRET_HERE"
# Placeholder - for use ONLY during testing.
# In a production app, we recommend you use a more secure method of storing your secret,
# like Azure Key Vault. Or, use an environment variable as described in Flask's documentation:
# https://flask.palletsprojects.com/en/1.1.x/config/#configuring-from-environment-variables
# CLIENT_SECRET = os.getenv("CLIENT_SECRET")
# if not CLIENT_SECRET:
# raise ValueError("Need to define CLIENT_SECRET environment variable")
AUTHORITY = "https://login.microsoftonline.com/YOUR_AAD_TENANT_ID_HERE" # For multi-tenant app
# AUTHORITY = "https://login.microsoftonline.com/Enter_the_Tenant_Name_Here"
REDIRECT_PATH = "/getAToken"
# Used for forming an absolute URL to your redirect URI.
# The absolute URL must match the redirect URI you set
# in the app's registration in the Azure portal.
ENDPOINT = 'https://graph.microsoft.com/v1.0/users'
SCOPE = ["User.ReadBasic.All"]
SESSION_TYPE = "filesystem"
# Specifies the token cache should be stored in server-side session
Uygulama kaydınızın istemci kimliği ve istemci gizli anahtarı ile uygulamanıza istemci kimliğini veya gizli dizisini güncelleştirin. Üretim sırasında, bir ortam değişkeni olan Azure KeyVault'ı kullanarak veya bir sertifikaya geçerek istemci gizli dizisinin güvenliğini sağladığından emin olun.
CLIENT_ID = "YOUR_CLIENT_ID_HERE"
# Application (client) ID of app registration
CLIENT_SECRET = "YOUR_CLIENT_SECRET_HERE"
# Placeholder - for use ONLY during testing.
# In a production app, we recommend you use a more secure method of storing your secret.
Değişkenini ENDPOINT
Azure DevOps koleksiyon URL'niz ve API uç noktanızla değiştirin. Örneğin, "testCollection" adlı bir koleksiyon için değer şöyle olacaktır:
# Fill in the url to the user's ADO collection + the PAT lifecycle management API endpoint here
ENDPOINT = 'https://vssps.dev.azure.com/{YOUR_COLLECTION_NAME_HERE}/_apis/Tokens/Pats?api-version=6.1-preview'
"testCollection" adlı bir koleksiyon için bu uç nokta şöyle olacaktır:
ENDPOINT = 'https://vssps.dev.azure.com/testCollection/_apis/Tokens/Pats?api-version=6.1-preview'
Değişkenini SCOPE
Azure DevOps API kaynağına başvuracak şekilde değiştirin; karakter dizesi Azure DevOps API'sinin kaynak kimliğidir ve kapsam bu kaynak kimliğinin .default
tüm kapsamlarını ifade eder.
SCOPE = ["499b84ac-1321-427f-aa17-267ca6975798/.default"]
Uygulamanız belirli bir kiracı için yapılandırılmışsa (çok kiracılı yapılandırma yerine), değişken için AUTHORITY
alternatif değeri kullanın ve "Enter_the_Tenant_Name_Here" alanına belirli kiracı adını ekleyin.
# For single-tenant app:
AUTHORITY = "https://login.microsoftonline.com/YOUR_AAD_TENANT_ID_HERE"
# For multi-tenant app:
AUTHORITY = "https://login.microsoftonline.com/Enter_the_Tenant_Name_Here"
Son app_config.py
dosyanın aşağıdakiyle eşleşip eşleşmediğini CLIENT_ID, kiracı kimliğiniz ve koleksiyon URL'nizle doğrulayın. Güvenlik nedeniyle, CLIENT_SECRET bir ortam değişkenine (Azure KeyVault) taşındığından veya kayıtlı uygulamanız için bir sertifikayla değiştirildiğinden emin olun:
import os
CLIENT_ID = "YOUR_CLIENT_ID_HERE"
# Application (client) ID of app registration
# Note that the CLIENT_SECRET has been removed and moved to an environment variable or Azure KeyVault
AUTHORITY = "https://login.microsoftonline.com/YOUR_AAD_TENANT_ID_HERE" # For multi-tenant app
# AUTHORITY = "https://login.microsoftonline.com/Enter_the_Tenant_Name_Here"
REDIRECT_PATH = "/getAToken"
# Used for forming an absolute URL to your redirect URI.
# The absolute URL must match the redirect URI you set in the app's registration in the Azure portal.
ENDPOINT = 'https://vssps.dev.azure.com/testCollection/_apis/Tokens/Pats?api-version=6.1-preview'
# Used to configure user's collection URL and the desired API endpoint
SCOPE = ["499b84ac-1321-427f-aa17-267ca6975798/.default"]
# Means "All scopes for the Azure DevOps API resource"
SESSION_TYPE = "filesystem"
# Specifies the token cache should be stored in server-side session
İstekte bulunan kullanıcının tüm PAT belirteçlerini alabildiğinizi test etmek için uygulamayı yeniden çalıştırın. Doğrulandıktan sonra, PAT yaşam döngüsü yönetimi API uç noktalarının geri kalanına istek göndermeyi desteklemek için ve 'app.py'
dizinin içeriğini 'ms-identity-python-webapp-master\templates'
değiştirebilirsiniz. Tüm PAT yaşam döngüsü yönetimi API uç noktalarına yönelik istekleri destekleyecek şekilde değiştirilmiş bir Python Flask Hızlı Başlangıç uygulaması örneği için GitHub'da bu örnek depoya bakın.
Uygulama doğru yapılandırıldıktan ve kullanıcı bir erişim belirteci aldıktan sonra belirteç bir saate kadar kullanılabilir. Önceki her iki örnekte de sağlanan MSAL kodu, süresi dolduğunda belirteci otomatik olarak yeniler. Belirtecin yenilenmesi, kullanıcının yeniden oturum açması ve yeni bir yetkilendirme kodu almasına gerek duymasını önler. Ancak, yenileme belirtecinin süresi dolduktan sonra kullanıcıların 90 gün sonra yeniden oturum açması gerekebilir.
Bir örnek için bir isteğiniz varsa, başka birinin paylaşacak bir örneği olup olmadığını görmek için Geliştirme Topluluğumuza gidin. Daha büyük Azure DevOps hedef kitlesiyle paylaşmak istediğiniz örnek bir uygulamanız varsa bize bildirin ve bu belgelerde daha geniş bir şekilde dolaşıma sokabiliriz!
Bu belirteç API'sini ve belirteç yöneticisi API'sini, benzer şekilde farklı kullanım örneklerine ve hedef kitlelere hizmet eder:
Kullanıcı arabiriminde bulunan 'Yeniden Oluştur' işlevi aslında API aracılığıyla tamamen çoğaltılabilir birkaç eylem gerçekleştirir.
PAT'nizi döndürmek için aşağıdaki adımları uygulayın:
Kiracınızın, uygulamanıza kuruluştaki kaynaklara erişim izinleri verilmesini gerektiren güvenlik ilkeleri var gibi görünüyor. Şu anda, bu uygulamayı bu kiracıda kullanmaya devam etmenin tek yolu, kullanmadan önce yöneticiden uygulamaya izin vermesini istemektir.
Y: Hizmet Sorumlularına ve Yönetilen Kimliklere izin verilmez. Bu API'nin PAT oluşturma ve iptal etme özelliği göz önünde bulundurulduğunda, bu tür güçlü işlevlerin yalnızca izin verilen kullanıcılara verildiğinden emin olmak istiyoruz.
Ekinlikler
17 Mar 23 - 21 Mar 23
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Hemen kaydolunEğitim
Öğrenme yolu
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization
Sertifikasyon
Microsoft Sertifikalı: Kimlik ve Erişim Yöneticisi İş Ortağı - Certifications
Kimlik çözümlerini modernleştirmek, karma çözümleri uygulamak ve kimlik idaresini uygulamak için Microsoft Entra ID'nin özelliklerini gösterin.
Belgeler
Microsoft Entra ID erişim belirteçleriyle Azure DevOps'ta kimlik doğrulaması - Azure DevOps
Azure DevOps Services'e erişmek için Microsoft Entra kimlik doğrulamasını kullanın.
OAuth 2.0 ile REST API’lere erişimi yetkilendirme - Azure DevOps
Azure DevOps Services REST API'lerini kullanmaya başlamak için OAuth 2.0 kimlik doğrulamasını kullanın.
Azure DevOps’a erişmek için diğer hizmetleri yetkilendirme - Azure DevOps
Diğer hizmetleri Azure DevOps Services ile çalışacak şekilde yetkilendirmeyi öğrenin.
Kimlik doğrulaması kılavuzu - Azure DevOps
Azure DevOps ile kimlik doğrulaması kılavuzu