Share via


Azure SignalR Hizmeti için Microsoft Entra Id ile erişimi yetkilendirme

Azure SignalR Hizmeti, kaynaklarına yönelik istekleri yetkilendirmek için Microsoft Entra Id'yi destekler. Microsoft Entra Id ile, bir güvenlik sorumlusuna izin vermek için rol tabanlı erişim denetimini (RBAC) kullanabilirsiniz. Güvenlik sorumlusu bir kullanıcı/kaynak grubu, uygulama veya sistem tarafından atanan kimlikler ve kullanıcı tarafından atanan kimlikler gibi bir hizmet sorumlusudur.

Microsoft Entra Id, güvenlik sorumlusunun kimliğini doğrular ve bir OAuth 2.0 belirteci döndürür. Belirteç daha sonra Azure SignalR Hizmeti kaynağında bir isteği yetkilendirmek için kullanılır.

Microsoft Entra ID kullanarak Azure SignalR Hizmeti karşı istekleri yetkilendirmek, erişim anahtarı yetkilendirmesine kıyasla üstün güvenlik ve kullanım kolaylığı sağlar. Mümkün olduğunda yetkilendirme için Microsoft Entra Id kullanmanızı kesinlikle öneririz, çünkü gerekli en düşük ayrıcalıklarla erişim sağlar.

Önemli

Yerel kimlik doğrulamasını devre dışı bırakmak aşağıdaki sonuçlara neden olabilir:

  • Geçerli erişim anahtarları kümesi kalıcı olarak silinir.
  • Geçerli erişim anahtarları kümesiyle imzalanan belirteçler kullanılamaz duruma gelir.

Microsoft Entra Id'ye genel bakış

Güvenlik sorumlusu bir Azure SignalR Hizmeti kaynağına erişmeye çalıştığında, istek yetkilendirilmelidir. Bir kaynağa erişmek için Microsoft Entra Kimliğini kullanmak için iki adım gerekir:

  1. Microsoft Entra Id, güvenlik sorumlusunun kimliğini doğrular ve ardından bir OAuth 2.0 belirteci döndürür.
  2. Belirteç, isteği yetkilendirmek için Azure SignalR Hizmeti kaynağına bir isteğin parçası olarak geçirilir.

Microsoft Entra Id ile istemci tarafı kimlik doğrulaması

Erişim anahtarı kullandığınızda, anahtar uygulama sunucunuz (veya işlev uygulamanız) ile Azure SignalR Hizmeti kaynağı arasında paylaşılır. Azure SignalR Hizmeti, paylaşılan anahtarı kullanarak istemci bağlantı isteğinin kimliğini doğrular.

Microsoft Entra Id kullandığınızda paylaşılan anahtar yoktur. Bunun yerine Azure SignalR Hizmeti, istemci bağlantılarında kullanılan belirteçleri imzalamak için geçici bir erişim anahtarı kullanır. İş akışı dört adım içerir:

  1. Güvenlik sorumlusu, kimliğini doğrulamak için Microsoft Entra Id'den bir OAuth 2.0 belirteci gerektirir.
  2. Güvenlik sorumlusu, geçici bir erişim anahtarı almak için SignalR kimlik doğrulama API'sini çağırır.
  3. Güvenlik sorumlusu, anlaşma sırasında istemci bağlantıları için geçici erişim anahtarıyla bir istemci belirteci imzalar.
  4. İstemci, Azure SignalR Hizmeti kaynaklarına bağlanmak için istemci belirtecini kullanır.

Geçici erişim anahtarının süresi 90 dakika içinde dolar. Yeni bir tane edinmenizi ve eskisini saatte bir döndürmenizi öneririz.

İş akışı, uygulama sunucuları için Azure SignalR Hizmeti SDK'sında yerleşiktir.

Erişim hakları için Azure rolleri atama

Microsoft Entra Id, Azure RBAC aracılığıyla güvenli kaynaklara erişim haklarına yetki verir. Azure SignalR Hizmeti, Azure SignalR Hizmeti kaynaklarına erişmek için yaygın izin kümelerini kapsayan bir dizi Azure yerleşik rolü tanımlar. Azure SignalR Hizmeti kaynaklara erişim için özel roller de tanımlayabilirsiniz.

Kaynak kapsamı

Güvenlik sorumlusuna herhangi bir Azure RBAC rolü atamadan önce güvenlik sorumlusunun sahip olması gereken erişim kapsamını belirlemeniz gerekebilir. Yalnızca mümkün olan en dar kapsamı vermenizi öneririz. Daha geniş bir kapsamda tanımlanan Azure RBAC rolleri, altındaki kaynaklar tarafından devralınır.

Azure SignalR Hizmeti kaynaklara erişimin kapsamını en dar kapsamdan başlayarak aşağıdaki düzeylerde ayarlayabilirsiniz.

Scope Tanım
Tek kaynak Yalnızca hedef kaynak için geçerlidir.
Kaynak grubu Bir kaynak grubundaki tüm kaynaklar için geçerlidir.
Abonelik Abonelikteki tüm kaynaklar için geçerlidir.
Yönetim grubu Bir yönetim grubuna dahil edilen aboneliklerdeki tüm kaynaklar için geçerlidir.

Azure SignalR Hizmeti kaynakları için Azure yerleşik rolleri

Rol Tanım Kullanım örneği
SignalR Uygulama Sunucusu WebSocket bağlantı oluşturma API'sine ve kimlik doğrulama API'lerine erişim. En yaygın olarak bir uygulama sunucusu için kullanılır.
SignalR Hizmeti Sahibi REST API'leri, WebSocket bağlantı oluşturma API'si ve kimlik doğrulama API'leri dahil olmak üzere tüm veri düzlemi API'lerine tam erişim. Hem REST API izinleri hem de kimlik doğrulama API'si izinleri gerektirdiği için Microsoft Entra Id ile yetkilendirme için sunucusuz mod için kullanın.
SignalR REST API Sahibi Veri düzlemi REST API'lerine tam erişim. Genellikle bağlantıları ve grupları yöneten, ancak bağlantı yapmayan veya kimlik doğrulama API'lerini çağırmayan bir araç yazmak için kullanılır.
SignalR REST API Okuyucusu Veri düzlemi REST API'lerine salt okunur erişim. Genellikle yalnızca Azure SignalR Hizmeti veri düzlemi salt okunur REST API'lerini çağıran bir izleme aracı yazmak için kullanılır.

Sonraki adımlar