Azure Spatial Anchors'ta kimlik doğrulaması ve yetkilendirme
Bu makalede, uygulamanızdan veya web hizmetinizden Azure Spatial Anchors'ta kimlik doğrulaması yapmanın çeşitli yollarını öğreneceksiniz. Ayrıca Spatial Anchors hesaplarınıza erişimi denetlemek için Microsoft Entra Id'de Azure rol tabanlı erişim denetimini (Azure RBAC) kullanmanın yollarını da öğreneceksiniz.
Uyarı
Hızlı ekleme için ancak yalnızca geliştirme/prototip oluşturma sırasında hesap anahtarlarını kullanmanızı öneririz. Uygulamanızı üretim ortamına eklenmiş bir hesap anahtarıyla göndermenizi önermeyiz. Bunun yerine, daha sonra açıklanan kullanıcı tabanlı veya hizmet tabanlı Microsoft Entra kimlik doğrulama yaklaşımlarını kullanın.
Genel Bakış
Belirli bir Azure Spatial Anchors hesabına erişmek için istemcilerin önce Azure Karma Gerçeklik Güvenlik Belirteci Hizmeti'nden (STS) bir erişim belirteci alması gerekir. STS'den alınan belirteçlerin ömrü 24 saattir. Spatial Anchors hizmetlerinin hesapta yetkilendirme kararları almak ve yalnızca yetkili sorumluların hesaba erişebilmesini sağlamak için kullandığı bilgileri içerir.
Erişim belirteçleri, Microsoft Entra Id tarafından verilen hesap anahtarları veya belirteçler karşılığında alınabilir.
Hesap anahtarları, Azure Spatial Anchors hizmetini kullanmaya hızlı bir şekilde başlamanızı sağlar. Ancak uygulamanızı üretim ortamına dağıtmadan önce uygulamanızı Microsoft Entra kimlik doğrulamasını kullanacak şekilde güncelleştirmenizi öneririz.
Microsoft Entra kimlik doğrulama belirteçlerini iki şekilde edinebilirsiniz:
- Kurumsal bir uygulama oluşturuyorsanız ve şirketiniz kimlik sistemi olarak Microsoft Entra ID kullanıyorsa, uygulamanızda kullanıcı tabanlı Microsoft Entra kimlik doğrulamasını kullanabilirsiniz. Ardından mevcut Microsoft Entra güvenlik gruplarınızı kullanarak Spatial Anchors hesaplarınıza erişim izni verirsiniz. Ayrıca kuruluşunuzdaki kullanıcılara doğrudan erişim de vekleyebilirsiniz.
- Aksi takdirde, uygulamanızı destekleyen bir web hizmetinden Microsoft Entra belirteçleri edinmenizi öneririz. İstemci uygulamanızda Azure Spatial Anchors'a erişim için kimlik bilgilerini eklemekten kaçınmanıza olanak sağladığından üretim uygulamaları için bu yöntemi öneririz.
Hesap anahtarları
Kullanmaya başlamanın en kolay yolu, Azure Spatial Anchors hesabınıza erişim için hesap anahtarlarını kullanmaktır. Hesap anahtarlarınızı Azure portalından alabilirsiniz. Hesabınıza gidin ve Anahtarlar sekmesini seçin:
İki anahtar mevcuttur. Her ikisi de Spatial Anchors hesabına erişim için aynı anda geçerlidir. Hesaba erişmek için kullandığınız anahtarı düzenli olarak güncelleştirmenizi öneririz. İki ayrı geçerli anahtara sahip olmak, bu güncelleştirmeleri kapalı kalma süresi olmadan etkinleştirir. Yalnızca birincil anahtarı ve ikincil anahtarı alternatif olarak güncelleştirmeniz gerekir.
SDK, hesap anahtarları aracılığıyla kimlik doğrulaması için yerleşik desteğe sahiptir. Yalnızca nesnenizde cloudSession
özelliğini ayarlamanız AccountKey
gerekir:
this.cloudSession.Configuration.AccountKey = @"MyAccountKey";
Bu özelliği ayarladıktan sonra SDK, bir erişim belirteci için hesap anahtarının değişimini ve uygulamanız için gerekli belirteçlerin önbelleğe alınmasını işler.
Microsoft Entra kullanıcı kimlik doğrulaması
Microsoft Entra kullanıcılarını hedefleyen uygulamalar için, kullanıcı için bir Microsoft Entra belirteci kullanmanızı öneririz. Bu belirteci MSAL kullanarak alabilirsiniz. Aşağıdakiler dahil olmak üzere bir uygulamayı kaydetmeye yönelik hızlı başlangıçtaki adımları izleyin:
Azure portalında
Uygulamanızı Microsoft Entra Id'ye yerel uygulama olarak kaydedin. Kayıt işleminin bir parçası olarak, uygulamanızın çok kiracılı olup olmayacağını belirlemeniz gerekir. Uygulamanız için izin verilen yeniden yönlendirme URL'lerini de sağlamanız gerekir.
API izinleri sekmesine gidin.
İzin ekle'yi seçin.
- Kuruluşumun kullandığı API'ler sekmesinde kaynak sağlayıcısı Karma Gerçeklik seçin.
- Atanan izinler'i seçin.
- karmareality altında mixedreality.signin öğesini seçin.
- İzinler ekle'yi seçin.
Yönetici onayı ver öğesini seçin.
Kaynağınıza erişim vermek istediğiniz uygulamaya veya kullanıcılara bir ASA RBAC rolü atayın. Uygulamanızın kullanıcılarının ASA hesabında farklı rollere sahip olmasını istiyorsanız, Birden çok uygulamayı Microsoft Entra Id'ye kaydedin ve her birine ayrı bir rol atayın. Ardından kullanıcılarınız için doğru rolü kullanmak için yetkilendirme mantığınızı uygulayın. Ayrıntılı rol atama adımları için bkz . Azure portalını kullanarak Azure rolleri atama.
Kodunuzda
- MSAL'deki istemci kimliği ve RedirectUri parametreleri için kendi Microsoft Entra uygulamanızın uygulama kimliğini ve yeniden yönlendirme URI'sini kullandığınızdan emin olun.
- Kiracı bilgilerini ayarlayın:
- Uygulamanız Yalnızca Kuruluşum'ı destekliyorsa, bu değeri Kiracı Kimliğiniz veya Kiracı adınız ile değiştirin. Örneğin, contoso.microsoft.com.
- Uygulamanız herhangi bir kuruluş dizininde Hesaplar'ı destekliyorsa, bu değeri Kuruluşlar ile değiştirin.
- Uygulamanız Tüm Microsoft hesabı kullanıcılarını destekliyorsa, bu değeri Common ile değiştirin.
- Belirteç isteğinizde kapsamı olarak
https://sts.mixedreality.azure.com//.default
ayarlayın. Bu kapsam, Microsoft Entra Id'ye uygulamanızın Karma Gerçeklik Güvenlik Belirteci Hizmeti (STS) için belirteç isteğinde bulunduğunu gösterir.
Bu adımları tamamladıktan sonra uygulamanız MSAL'den bir Microsoft Entra belirteci edinebilmelidir. Bu Microsoft Entra belirtecini authenticationToken
bulut oturumu yapılandırma nesnenizde olarak ayarlayabilirsiniz:
this.cloudSession.Configuration.AuthenticationToken = @"MyAuthenticationToken";
Microsoft Entra hizmeti kimlik doğrulaması
Azure Spatial Anchors kullanan uygulamaları üretim ortamına dağıtmak için kimlik doğrulama isteklerine aracılık edecek bir arka uç hizmeti kullanmanızı öneririz. İşlemle ilgili genel bir bakış aşağıdadır:
Burada uygulamanızın arka uç hizmetinde kimlik doğrulaması yapmak için kendi mekanizmasını kullandığı varsayılır. (Örneğin, bir Microsoft hesabı, PlayFab, Facebook, google kimliği veya özel bir kullanıcı adı ve parola.) Kullanıcılarınızın arka uç hizmetinizde kimliği doğrulandıktan sonra bu hizmet bir Microsoft Entra belirtecini alabilir, Azure Spatial Anchors için bir erişim belirteci ile değiştirebilir ve istemci uygulamanıza geri döndürebilir.
Microsoft Entra erişim belirteci MSAL aracılığıyla alınır. Aşağıdakiler dahil olmak üzere bir uygulama kaydetme hızlı başlangıcındaki adımları izleyin:
Azure portalında
- Uygulamanızı Microsoft Entra Id'ye kaydedin:
- Azure portalında Microsoft Entra Id'yi ve ardından Uygulama kayıtları'ı seçin.
- Yeni kayıt seçeneğini belirleyin.
- Uygulamanızın adını girin, uygulama türü olarak Web uygulaması /API'yi seçin ve hizmetinizin kimlik doğrulama URL'sini girin. Oluştur seçeneğini belirleyin.
- Uygulamada, Ayarlar ve ardından Sertifikalar ve gizli diziler sekmesini seçin. Yeni bir istemci gizli dizisi oluşturun, bir süre seçin ve ardından Ekle'yi seçin. Gizli dizi değerini kaydettiğinizden emin olun. Web hizmetinizin koduna eklemeniz gerekir.
- Kaynağınıza erişim vermek istediğiniz uygulamaya veya kullanıcılara bir ASA RBAC rolü atayın. Uygulamanızın kullanıcılarının ASA hesabında farklı rollere sahip olmasını istiyorsanız, Birden çok uygulamayı Microsoft Entra Id'ye kaydedin ve her birine ayrı bir rol atayın. Ardından kullanıcılarınız için doğru rolü kullanmak için yetkilendirme mantığınızı uygulayın. Ayrıntılı rol atama adımları için bkz . Azure portalını kullanarak Azure rolleri atama.
Kodunuzda
Dekont
Spatial Anchors örnek uygulamalarının bir parçası olarak sağlanan hizmet örneğini kullanabilirsiniz.
- MSAL'de istemci kimliği, gizli dizi ve RedirectUri parametreleri olarak kendi Microsoft Entra uygulamanızın uygulama kimliğini, uygulama gizli dizisini ve yeniden yönlendirme URI'sini kullandığınızdan emin olun.
- MSAL'deki authority parametresinde kiracı kimliğini kendi Microsoft Entra kiracı kimliğiniz olarak ayarlayın.
- Belirteç isteğinizde kapsamı olarak
https://sts.mixedreality.azure.com//.default
ayarlayın.
Bu adımları tamamladıktan sonra arka uç hizmetiniz bir Microsoft Entra belirteci alabilir. Daha sonra istemciye geri döndüreceği bir MR belirteci ile değiştirebilir. MR belirtecini almak için Bir Microsoft Entra belirteci kullanmak rest çağrısı aracılığıyla yapılır. İşte örnek bir çağrı:
GET https://sts.mixedreality.azure.com/Accounts/35d830cb-f062-4062-9792-d6316039df56/token HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1Ni<truncated>FL8Hq5aaOqZQnJr1koaQ
Host: sts.mixedreality.azure.com
Connection: Keep-Alive
HTTP/1.1 200 OK
Date: Sun, 24 Feb 2019 08:00:00 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 1153
Accept: application/json
MS-CV: 05JLqWeKFkWpbdY944yl7A.0
{"AccessToken":"eyJhbGciOiJSUzI1NiIsImtpZCI6IjI2MzYyMTk5ZTI2NjQxOGU4ZjE3MThlM2IyMThjZTIxIiwidHlwIjoiSldUIn0.eyJqdGkiOiJmMGFiNWIyMy0wMmUxLTQ1MTQtOWEzNC0xNzkzMTA1NTc4NzAiLCJjYWkiOiIzNWQ4MzBjYi1mMDYyLTQwNjItOTc5Mi1kNjMxNjAzOWRmNTYiLCJ0aWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJhaWQiOiIzNWQ4MzBjYi1mMDYyLTQwNjItOTc5Mi1kNjMxNjAzOWRmNTYiLCJhYW8iOi0xLCJhcHIiOiJlYXN0dXMyIiwicmlkIjoiL3N1YnNjcmlwdGlvbnMvNzIzOTdlN2EtNzA4NC00ODJhLTg3MzktNjM5Y2RmNTMxNTI0L3Jlc291cmNlR3JvdXBzL3NhbXBsZV9yZXNvdXJjZV9ncm91cC9wcm92aWRlcnMvTWljcm9zb2Z0Lk1peGVkUmVhbGl0eS9TcGF0aWFsQW5jaG9yc0FjY291bnRzL2RlbW9fYWNjb3VudCIsIm5iZiI6MTU0NDU0NzkwMywiZXhwIjoxNTQ0NjM0MzAzLCJpYXQiOjE1NDQ1NDc5MDMsImlzcyI6Imh0dHBzOi8vbXJjLWF1dGgtcHJvZC50cmFmZmljbWFuYWdlci5uZXQvIiwiYXVkIjoiaHR0cHM6Ly9tcmMtYW5jaG9yLXByb2QudHJhZmZpY21hbmFnZXIubmV0LyJ9.BFdyCX9UJj0i4W3OudmNUiuaGgVrlPasNM-5VqXdNAExD8acFJnHdvSf6uLiVvPiQwY1atYyPbOnLYhEbIcxNX-YAfZ-xyxCKYb3g_dbxU2w8nX3zDz_X3XqLL8Uha-rkapKbnNgxq4GjM-EBMCill2Svluf9crDmO-SmJbxqIaWzLmlUufQMWg_r8JG7RLseK6ntUDRyDgkF4ex515l2RWqQx7cw874raKgUO4qlx0cpBAB8cRtGHC-3fA7rZPM7UQQpm-BC3suXqRgROTzrKqfn_g-qTW4jAKBIXYG7iDefV2rGMRgem06YH_bDnpkgUa1UgJRRTckkBuLkO2FvA"}
Yetkilendirme üst bilgisi aşağıdaki gibi biçimlendirilir: Bearer <Azure_AD_token>
Yanıt, MR belirtecini düz metin olarak içerir.
Bu MR belirteci daha sonra istemciye döndürülür. İstemci uygulamanız bulut oturumu yapılandırmasında bunu erişim belirteci olarak ayarlayabilir:
this.cloudSession.Configuration.AccessToken = @"MyAccessToken";
Azure rol tabanlı erişim denetimi
Hizmetinizin uygulamalara, hizmetlere veya Microsoft Entra kullanıcılarına verilen erişim düzeyini denetlemenize yardımcı olmak için, Azure Spatial Anchors hesaplarınıza bu önceden var olan rolleri gerektiği gibi atayabilirsiniz:
- Spatial Anchors Hesap Sahibi. Bu role sahip uygulamalar veya kullanıcılar uzamsal tutturucular oluşturabilir, bunları sorgulayabilir ve silebilir. Hesap anahtarlarını kullanarak hesabınızda kimlik doğrulaması yaptığınızda, Spatial Anchors Hesap Sahibi rolü kimliği doğrulanmış sorumluya atanır.
- Spatial Anchors Hesabı Katkıda Bulunanı. Bu role sahip uygulamalar veya kullanıcılar uzamsal tutturucular oluşturabilir ve bunlar için sorgu yapabilir, ancak bunları silemezler.
- Spatial Anchors Hesap Okuyucusu. Bu role sahip uygulamalar veya kullanıcılar yalnızca uzamsal tutturucuları sorgulayabilir. Yenilerini oluşturamaz, mevcut olanları silemez veya meta verileri güncelleştiremezler. Bu rol genellikle bazı kullanıcıların ortamı seçmesine karşın bazılarının yalnızca ortama önceden yerleştirilmiş tutturucuları geri çağırabildiği uygulamalar için kullanılır.
Sonraki adımlar
Azure Spatial Anchors ile ilk uygulamanızı oluşturun: