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.
Doku geliştirici iş yükü örneği arka uç tarafında aşağıdaki kimlik doğrulama akışlarına sahiptir.
Dokudan iş yüküne isteklerin kimlik doğrulaması ve yetkilendirmesi
Yetkilendirme üst bilgisi yapısı
Yetkilendirme üst bilgisi belirli bir belirteç biçimini kullanır:
SubjectAndAppToken1.0 subjectToken="delegated token", appToken="S2S token"
Bu biçim iki ayrı belirteç içerir:
-
subjectToken: İşlemin gerçekleştirilmekte olduğu kullanıcıyı temsil eden bir temsilci belirteci. -
appToken: Doku uygulamasına özgü bir belirteç.
İkili belirteç üst bilgisi kullanmanın ardındaki gerekçe üç kattır:
Doğrulama: İş yükü, doğrulayarak
appTokenisteğin Doku'dan geldiğini doğrulayabilir.Kullanıcı Bağlamı: ,
subjectTokengerçekleştirilen eylem için bir kullanıcı bağlamı sağlar.Hizmetler Arası İletişim: İş yükü, kullanarak
subjectTokenkullanıcı belirteci ile diğer hizmetleri çağırmasına olanak sağlayan bir Ad-Adına (OBO) belirteci alabilir.
Kimlik Doğrulaması
SubjectAndAppToken için gerçekleştirilen ana kimlik doğrulama denetimleri şunlardır:
Yetkilendirme üst bilgisi değerinin doğrulanması ve ayrıştırılması AuthenticateControlPlaneCall yönteminde yapılır. Belirtecin "SubjectAndAppToken1.0" ön eki ile başlaması ve iki belirteç içermesi gerekir:
subjectTokenveappToken.Entra belirteci özellikleri doğrulaması: ValidateAadTokenCommon
subjectTokenhem hem deappTokenortak Microsoft Entra belirteci özellikleri için doğrulanır. Bu özellikler arasında belirteç imzası, belirteç ömrü, belirteç hedef kitlesi (iş yükü uygulaması hedef kitlesi) ve belirteç sürümü (1.0) ve veren bulunur.appToken özellikleri doğrulaması: '
appTokennin birscptalebi olmamalıdır, ancak değer olarak uygulamaidtypbir talep olmalıdır. Ayrıca butidtalebi iş yükü yayımcısı kiracı kimliğinde de denetleriz.Örnek appToken talepleri:
{ "aud": "api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/123", "iss": "https://sts.windows.net/12345678-77f3-4fcc-bdaa-487b920cb7ee/", "iat": 1700047232, "nbf": 1700047232, "exp": 1700133932, "aio": "E2VgYLjBuv2l+c6cmm/iP/bnL2v+AQA=", "appid": "11112222-bbbb-3333-cccc-4444dddd5555" "appidacr": "2", "idp": "https://sts.windows.net/12345678-77f3-4fcc-bdaa-487b920cb7ee/", "idtyp": "app", "oid": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "rh": "0.ACgAGX-u-vN3zE-9qkh7kgy37hQbaU7-v2xFr59O_foS7VLZAAA.", "sub": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "tid": "bbbbcccc-1111-dddd-2222-eeee3333ffff", "uti": "5bgMXs3uMUSAHCruRjACAA", "ver": "1.0" }subjectToken özellikleri doğrulaması: subjectToken öğesinin kapsamına sahip bir talep içerdiğinden
scp, belirteçte herhangi birFabricWorkloadControltalep olmadığındanidtypve içindekiyle aynıappidappTokenolduğundan emin olun.Örnek subjectToken talepleri:
{ "aud": "api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/123", "iss": "https://sts.windows.net/12345678-77f3-4fcc-bdaa-487b920cb7ee/", "iat": 1700050446, "nbf": 1700050446, "exp": 1700054558, "acr": "1", "aio": "ATQAy/8VAAAAUgWRMRnBo4VGHvrKRykUXOXBNKS1cHnBxLrYkZJJGSjAVyJGBecbLdSud1GUakER", "amr": [ "pwd" ], "appid": "11112222-bbbb-3333-cccc-4444dddd5555" "appidacr": "2", "ipaddr": "46.117.19.50", "name": "john doe", "oid": "bbbbbbbb-1111-2222-3333-cccccccccccc", "rh": "0.ASgAGX-u-vN3zE-9qkh7kgy37hQbaU7-v2xFr59O_foS7VLZANQ.", "scp": "FabricWorkloadControl", "sub": "X0Wl85UA-uOmdkQz5MoT-hEgYZXDq9FYdS8g2bFUaZA", "tid": "bbbbcccc-1111-dddd-2222-eeee3333ffff", "unique_name": "user1@constso.com", "upn": "user1@constso.com", "uti": "_llZwmJoSUiHv-kw6tfDAA", "ver": "1.0" }
Not
Örnek kodumuzdaki tüm doğrulamalar sürüm 1.0 belirteçleri içindir.
Yetkilendirme
İsteğin Doku hizmetinden (aracılığıyla appToken) kaynaklandığını onayladıktan sonra Doku, kullanıcının Doku izin meta verilerine bağlı olarak eylemi gerçekleştirmek için gerekli izinlere sahip olduğunu doğruladı.
İş yükünden Dokuya isteklerin kimlik doğrulaması ve yetkilendirmesi
İş yükü denetimi istekleri
İş yükü denetimi API'leri, Yapı öğesi yaşam döngüsü yönetimiyle iş yüklerini destekleyen özel Doku API'leridir. Bu API'ler aynı SubjectAndAppToken1.0 yetkilendirme üst bilgisi biçimini kullanır.
SubjectAndAppToken1.0 subjectToken="delegated token", appToken="S2S token"
İş yükünden gelen çağrılar, aşağıdaki belirteçleri içerir:
subjectToken: İşlemin gerçekleştirilmekte olduğu kullanıcıyı temsil eden kullanıcı tarafından temsil edilen belirteç (OBO akışı aracılığıyla elde edilir). Doku, kullanıcının gerekli eylemi gerçekleştirmek için gerekli izinlere sahip olduğunu doğrular.appToken: İş yükü uygulamasına özgü bir belirteç. Doku, bu belirtecin ilgili Doku öğesinin ait olduğu ve iş yükü yayımcısının kiracısı üzerindeki iş yükünün Microsoft Entra uygulamasından geldiğini denetler.
AuthorizationHandler'daki ValidatePermissionsyöntemine bakın.
Genel API’ler
Public Fabric API'lerini çağırmak için iş yükünün ilgili API kapsamlarına sahip standart bir Microsoft Entra OBO belirteci alması ve isteğin yetkilendirme üst bilgisinde taşıyıcı belirteç olarak geçirmesi gerekir.
Bkz . FabricExtensionController.
İş yükü FE'den iş yükü BE'ye isteklerin kimlik doğrulaması ve yetkilendirmesi
Yetkilendirme üst bilgisi
İş yükü FE'den iş yükü BE'ye gönderilen bir istekteki yetkilendirme üst bilgisi standart taşıyıcı belirteci kullanır.
Kimlik Doğrulaması
Be iş yükündeki AuthenticateControlPlaneCall yöntemi belirteci doğrulamakla sorumludur. Gerçekleştirilen birincil denetimler şunlardır:
Belirteç ömrü: Belirtecin geçerli kullanım süresi içinde olmasını sağlar.
İmza: Belirtecin orijinalliğini doğrular.
hedef kitle: Belirtecin hedef kitlesinin Microsoft Entra iş yükü uygulamasıyla eşleştiklerini denetler.
Veren: Belirtecin verenini doğrular.
İzin verilen kapsamlar: Belirtecin erişmesine izin verilen kapsamları doğrular.
Yetkilendirme, ValidatePermissions yöntemi çağrılarak elde edilir . Bu yöntem, ilgili Doku öğesi için Doku iş yükü denetimi uç noktasındaki API'yi çağırır resolvePermissions ve kullanıcının işlem için gerekli izinlere sahip olduğunu doğrular.
Uzun süre çalışan işlemler - Yenileme Belirteci
Yetkilendirme, ValidatePermissions yöntemi çağrılarak elde edilir . Bu yöntem, ilgili Doku öğesi için Doku iş yükü denetimi uç noktasındaki API'yi çağırır resolvePermissions ve kullanıcının işlem için gerekli izinlere sahip olduğunu doğrular.
İş yükleriniz, örneğin JobScheduler'ın bir parçası olarak uzun süre çalışan işlemler içeriyorsa Belirteç ömrünün yeterli olmadığı bir durumla karşılaşabilirsiniz. Uzun süre çalışan işlemin kimliğini doğrulama hakkında daha fazla bilgi için, Uzun süre çalışan OBO işlemleri.