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:
- Microsoft Entra Id, güvenlik sorumlusunun kimliğini doğrular ve ardından bir OAuth 2.0 belirteci döndürür.
- 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:
- Güvenlik sorumlusu, kimliğini doğrulamak için Microsoft Entra Id'den bir OAuth 2.0 belirteci gerektirir.
- Güvenlik sorumlusu, geçici bir erişim anahtarı almak için SignalR kimlik doğrulama API'sini çağırır.
- Güvenlik sorumlusu, anlaşma sırasında istemci bağlantıları için geçici erişim anahtarıyla bir istemci belirteci imzalar.
- İ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
Azure uygulaması oluşturmayı ve Microsoft Entra yetkilendirmesini kullanmayı öğrenmek için bkz. Microsoft Entra uygulamalarıyla kaynakları Azure SignalR Hizmeti istekleri yetkilendirme.
Yönetilen kimliği yapılandırmayı ve Microsoft Entra yetkilendirmesini kullanmayı öğrenmek için bkz. Microsoft Entra tarafından yönetilen kimliklerle kaynakları Azure SignalR Hizmeti istekleri yetkilendirme.
Roller ve rol atamaları hakkında daha fazla bilgi edinmek için bkz . Azure rol tabanlı erişim denetimi (Azure RBAC) nedir?.
Özel roller oluşturmayı öğrenmek için bkz . Özel rol oluşturma adımları.
Yalnızca Microsoft Entra kimlik doğrulamasını kullanmayı öğrenmek için bkz . Yerel kimlik doğrulamasını devre dışı bırakma.