Yüz Tanıma için sınırlı erişim belirteçleri kullanma
Bağımsız yazılım satıcıları (ISV'ler), normalde geçitli Yüz Tanıma özelliklerine erişim izni veren erişim belirteçleri vererek istemcilerinin Yüz Tanıma API'si kullanımını yönetebilir. Bu, istemci şirketlerinin resmi onay sürecinden geçmek zorunda kalmadan Yüz Tanıma API'sini kullanmasına olanak tanır.
Bu kılavuzda erişim belirteçlerinin nasıl oluşturulacağı, onaylanmış bir ISV'yseniz ve istemciyseniz belirteçlerin nasıl kullanılacağı gösterilmektedir.
Sınırlı erişim belirteci özelliği, mevcut Azure AI hizmetleri belirteç hizmetinin bir parçasıdır. Onaylı senaryolar için Sınırlı Erişim geçidini atlamak amacıyla yeni bir işlem ekledik. Bu özelliğe yalnızca gating gereksinimlerini geçen ISV'lere erişim verilir.
Örnek kullanım örneği
Örnek bir şirket, kapı erişim güvenlik sistemlerini çalıştırmak için Azure AI Yüz Tanıma hizmetini kullanan yazılımlar satıyor. Müşterileri, tek tek kapı cihazı üreticileri, yazılıma abone olur ve cihazlarında çalıştırır. Bu istemci şirketler, yüz tanıma gibi Sınırlı Erişim işlemleri gerçekleştirmek için cihazlarından Yüz Tanıma API'si çağrıları yapmak istiyor. ISV'den erişim belirteçlerine güvenerek yüz belirleme için resmi onay sürecini atlayabilirler. Zaten onaylanmış olan ISV, istemciye tam zamanında erişim belirteçleri verebilir.
Sorumluluk beklentisi
Belirteç veren ISV, belirteçlerin yalnızca onaylanan amaç için kullanılmasını sağlamakla sorumludur.
ISV, bir istemcinin LimitedAccessToken'i onaylanmamış amaçlarla kullandığını öğrenirse, ISV'nin bu müşteri için belirteç oluşturmayı durdurması gerekir. Microsoft, LimitedAccessTokens'in verilmesini ve kullanımını izleyebilir ve uygunsuz kullanım giderilmezse isv'nin issueLimitedAccessToken API'sine erişimini iptal etme hakkını saklıyoruz.
Önkoşullar
- cURL yüklü (veya HTTP isteği yapabilen başka bir araç).
- ISV'nin azure yapay zeka yüz tanıma kaynağına veya Azure AI hizmetleri çoklu hizmet kaynağına sahip olması gerekir.
- İstemcinin bir Azure AI Yüz Tanıma kaynağına sahip olması gerekir.
1. Adım: ISV istemcinin Yüz Tanıma kaynak kimliğini aldı
ISV, kendi güvenli bulut hizmeti (erişim belirtecini oluşturur) ile istemcinin cihazında çalışan uygulamaları arasında bir iletişim kanalı ayarlamalıdır. İstemcinin Yüz Tanıma kaynak kimliği, LimitedAccessToken oluşturmadan önce bilinmelidir.
Yüz Tanıma kaynak kimliği aşağıdaki biçime sahiptir:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.CognitiveServices/accounts/<face-resource-name>
Örneğin:
/subscriptions/dc4d27d9-ea49-4921-938f-7782a774e151/resourceGroups/client-rg/providers/Microsoft.CognitiveServices/accounts/client-face-api
2. Adım: ISV bir belirteç oluşturur
ISV'nin güvenli bir ortamda çalışan bulut hizmeti, son müşterisinin bilinen Yüz Tanıma kaynak kimliğini kullanarak issueLimitedAccessToken API'sini çağırır.
issueLimitedAccessToken API'sini çağırmak için aşağıdaki cURL komutunu bir metin düzenleyicisine kopyalayın.
curl -X POST 'https://<isv-endpoint>/sts/v1.0/issueLimitedAccessToken?expiredTime=3600' \
-H 'Ocp-Apim-Subscription-Key: <client-face-key>' \
-H 'Content-Type: application/json' \
-d '{
"resourceId": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.CognitiveServices/accounts/<face-resource-name>",
"featureFlags": ["Face.Identification", "Face.Verification"]
}'
Ardından aşağıdaki değişiklikleri yapın:
- öğesini ISV kaynağının uç noktasıyla değiştirin
<isv-endpoint>
. Örneğin, westus.api.cognitive.microsoft.com. - İsteğe bağlı olarak, belirtecin süre sonu süresini saniye olarak ayarlamak için parametresini ayarlayın
expiredTime
. 60 ile 86400 arasında olmalıdır. Varsayılan değer 3600'dür (bir saat). - değerini istemcinin Yüz Tanıma kaynağının anahtarıyla değiştirin
<client-face-key>
. - değerini istemcinin Azure aboneliğinin abonelik kimliğiyle değiştirin
<subscription-id>
. - değerini istemcinin kaynak grubunun adıyla değiştirin
<resource-group-name>
. - değerini istemcinin Yüz Tanıma kaynağının adıyla değiştirin
<face-resource-name>
. - Vermek istediğiniz erişim rolleri kümesine ayarlayın
"featureFlags"
. Kullanılabilir bayraklar ,"Face.Verification"
ve"LimitedAccess.HighRisk"
şeklindedir"Face.Identification"
. ISV yalnızca Microsoft tarafından kendisine verilmiş olan izinleri verebilir. Örneğin, ISV'ye yüz tanıma erişimi verildiyse, istemci için Face.Identification için bir LimitedAccessToken oluşturabilir. Tüm belirteç oluşturma işlemleri ve kullanımları kullanım ve güvenlik amacıyla günlüğe kaydedilir.
Ardından, komutu bir terminal penceresine yapıştırın ve çalıştırın.
API, belirteci JSON web belirteci ()application/jwt
biçiminde bir yanıt döndürmelidir200
. LimitedAccessToken'ı incelemek istiyorsanız JWT kullanarak bunu yapabilirsiniz.
3. Adım: İstemci uygulaması belirteci kullanır
ISV'nin uygulaması daha sonra istemci adına gelecek Yüz Tanıma API'si istekleri için http isteği üst bilgisi olarak sınırlı erişim belirtecini geçirebilir. Bu, diğer kimlik doğrulama mekanizmalarından bağımsız olarak çalışır, bu nedenle istemcinin kişisel bilgileri ISV'ye sızdırılır.
Dikkat
İstemcinin, arka planda geçirilebileceği için belirteç değerinin farkında olması gerekmez. İstemci trafiği kesmek için bir web izleme aracı kullansaydı, LimitedAccessToken üst bilgisini görüntüleyebilirdi. Ancak belirtecin süresi kısa bir süre sonra dolduğundan, belirteçle yapabilecekleri işlem sınırlıdır. Bu risk bilinir ve kabul edilebilir olarak kabul edilir.
Her ISV için belirteci bulut hizmetinden istemci uygulamasına tam olarak nasıl geçirdiğine karar verir.
Erişim belirtecini kullanan örnek bir Yüz Tanıma API'si isteği şöyle görünür:
curl -X POST 'https://<client-endpoint>/face/v1.0/identify' \
-H 'Ocp-Apim-Subscription-Key: <client-face-key>' \
-H 'LimitedAccessToken: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{
"largePersonGroupId": "sample_group",
"faceIds": [
"c5c24a82-6845-4031-9d5d-978df9175426",
"65d083d4-9447-47d1-af30-b626144bf0fb"
],
"maxNumOfCandidatesReturned": 1,
"confidenceThreshold": 0.5
}'
Not
Uç nokta URL'si ve Yüz Tanıma anahtarı ISV'nin kaynağına değil istemcinin Yüz Tanıma kaynağına aittir. <token>
bir HTTP isteği üst bilgisi olarak geçirilir.