Aracılığıyla paylaş


Kimlik doğrulama

REST Çağrıları yaparken, düzgün kimlik doğrulaması yapmak için birkaç adım gerekir. Azure İletişim Hizmetleri SDK'ları bu işlemi sizin için işler, ancak el ile istekte bulunmak, bunu kendiniz işlemeniz gerektiği anlamına gelir.

Kimlik Doğrulama Türleri

Azure İletişim Hizmetleri'nin üç kimlik doğrulaması türü vardır ve bunlar farklı amaçlar için kullanılır:

  • SMS, Ağ Geçişi, Çağrı Otomasyonu, Kimlik ve erişim belirteci işlemleri için Erişim Anahtarı kimlik doğrulaması . Erişim Anahtarı kimlik doğrulaması, güvenilen bir hizmet ortamında çalışan uygulamalar için uygundur.
  • Azure RBAC rollerini atayarak Azure RBAC'yi kullanarak kaynaklara erişimi denetlemek için Azure RBAC kimlik doğrulaması .
  • Sohbet ve Arama için Kullanıcı Erişim Belirteci kimlik doğrulaması . Kullanıcı erişim belirteçleri, istemci uygulamalarınızın doğrudan Azure İletişim Hizmetleri'ne karşı kimlik doğrulaması yapmasına olanak tanır. Bu belirteçler, oluşturduğunuz sunucu tarafı belirteç sağlama hizmetinde oluşturulur. Daha sonra, Sohbet ve Çağrı istemci kitaplıklarını başlatmak için belirteci kullanan istemci cihazlara sağlanır.

Erişim Anahtarı Kimlik Doğrulaması

Erişim Anahtarı kimlik doğrulaması, istekler son kullanıcı uygulamanız tarafından yapılmadığında kullanılır. Bu istekleri güvenilen bir hizmet ortamında çalıştırın.

Bu kimlik doğrulama yönteminde istekler istemci tarafından oluşturulan karma tabanlı ileti kimlik doğrulama kodu (HMAC)kullanılarak imzalar.

Başlamadan önce şunların olduğundan emin olun:

  • Azure İletişim Hizmetleri Erişim Anahtarınız
  • Azure İletişim Hizmeti Uç Noktanız
  • Çağırdığınız URL Yolu ve HTTP Fiili
  • HMAC'ler, SHA256 karmaları oluşturabilen ve Base64 işlemleri gerçekleştirebilen bir geliştirme ortamı.

Bu öğelere sahip olduktan sonra isteğinizi imzalamaya devam edebilirsiniz.

HTTP İsteği İmzalama

  1. Aşağıdaki değerlerin kullanılabilir olduğundan emin olun:

    • HTTP istek yöntemi (örneğin, GET veya PUT)
    • İstek için RFC1123 standardına göre eşgüdümlü Evrensel Saat (UTC) zaman damgası
    • HTTP istek ana bilgisayarı (RFC2396'de belirtildiği gibi <authority> URI bileşeni)
    • SHA256 algoritması kullanılarak karma http isteği gövdesi
    • HTTP istek yolu (<path> ve <query>, RFC2396'de belirtildiği gibi ? bileşenleriyle birleştirilmiş)
    Verb=<http_method>
    Timestamp=<current_datetime>
    Host=<uri_authority>
    ContentHash=SHA256(<request_body>)
    URIPathAndQuery=<uri_path>?<uri_query>
    
  2. Değerleri aşağıdaki şekilde birleştirerek imzalanacak dizeyi oluşturun:

    StringToSign=Verb + "\n"
    URIPathAndQuery + "\n"
    Timestamp + ";" + Host + ";" + ContentHash
    
  3. Önceki adımda oluşturduğunuz UTF-8 kodlanmış dizesinin HMAC-256 imzasını oluşturun. Ardından sonuçlarınızı Base64 olarak kodlayın. Ayrıca Erişim anahtarınızın kodunu Base64 ile çözmeniz gerekir. Aşağıdaki biçimi kullanın (sahte kod olarak gösterilir):

    Signature=Base64(HMAC-SHA256(UTF8(StringToSign), Base64.decode(<your_access_key>)))
    
  4. İsteğe aşağıdaki üst bilgileri ekleyin:

    x-ms-date: <Timestamp>
    x-ms-content-sha256: <ContentHash>
    host: <URIPathAndQuery>   
    Authorization: "HMAC-SHA256 SignedHeaders=x-ms-date;host;x-ms-content-sha256&Signature=<Signature>"
    

hizmet, isteği aldıktan sonra, yeniden yürütme saldırıları da dahil olmak üzere belirli güvenlik saldırılarına karşı korunmak için imzayı ve zaman damgasını doğrular. HTTP isteğini çeşitli programlama dillerinde imzalamayı öğrenmek içinHMAC üst bilgi imzalama öğreticisini ziyaret edin.

Azure RBAC Kimlik Doğrulaması

Azure platformu, kaynaklara erişimi denetlemek için rol tabanlı erişim (Azure RBAC) sağlar. Azure RBAC güvenlik sorumlusu, Azure kaynaklarına erişim isteyen bir kullanıcı, grup, hizmet sorumlusu veya yönetilen kimliği temsil eder.

Microsoft Entra kimlik doğrulaması, diğer yetkilendirme seçeneklerine göre üstün güvenlik ve kullanım kolaylığı sağlar. Örneğin, yönetilen kimlik kullanarak, Erişim Anahtarı kimlik doğrulamasında olduğu gibi hesap erişim anahtarınızı kodunuzun içinde depolamak zorunda kalmamak gerekir. İletişim hizmetleri uygulamalarıyla Erişim Anahtarı kimlik doğrulamasını kullanmaya devam edebilirsiniz ancak Microsoft mümkün olduğunda Microsoft Entra Id'ye geçmenizi önerir.

Azure RBAC birçok yerleşik rol içerir, farklı kapsamlarda atanabilir ve kendi özel rollerinizi oluşturmanıza olanak tanır. 100'den fazla yerleşik rol içerir. Beş temel Azure rolü vardır: Sahip, Katkıda Bulunan, Okuyucu, Rol Tabanlı Erişim Denetimi Yöneticisi ve Kullanıcı Erişimi Yöneticisi. Bu roller hakkında daha fazla bilgi içinRol tabanlı erişim denetimi öğreticisini ziyaret edin.

Azure İletişim Hizmetleri (ACS) Tarafından Desteklenen İzinler

ACS, çeşitli kaynaklara denetimli erişim sağlayan belirli izinler (acs.read ve acs.write) sunar.

  • acs.read izni: verileri alma veya görüntüleme olanağı verir.
  • acs.write izni: Aynı kaynak türleri içinde verilerin değiştirilmesine veya oluşturulmasına izin verir.

Ayrıca, ACS e-postayla ilgili izinleri destekler:

  • acs.email.read: E-postayla ilgili hizmet verilerinin okunmasını veya bunlara erişmesini sağlar.
  • acs.email.write: E-postayla ilgili hizmet verilerinin değiştirilmesine veya oluşturulmasına izin verir.

Bu izinler ACS kaynakları üzerinde ayrıntılı erişim denetimi ve güvenliği sağlamak için çok önemlidir.

Ek RBAC Belirteci Alma

ACS için belirteç almak için MSAL (Microsoft Kimlik Doğrulama Kitaplığı) kullanabilirsiniz. İşte adım adım kılavuz:

  1. Azure AD'de uygulama kaydetme: Uygulamanızın Azure AD'de kayıtlı olduğundan emin olun.
  2. MSAL'yi yükleme: Platformunuzun MSAL kitaplığını yükleyin (ör. .NET için Microsoft.Identity.Client).
  3. MSAL'yi yapılandırma: Uygulamanızın istemci kimliği, kiracı kimliği ve istemci gizli anahtarı ile MSAL'yi ayarlayın.
  4. Belirteç Alma: Gerekli kapsama sahip bir belirteç almak için MSAL kullanın (https://communication.azure.com/.default).

Ayrıntılı yönergeler ve kod örnekleri içinresmi MSAL belgeleri ve Erişim Belirteci belgelerine bakın.

ACS Erişim Belirteci Vermek için Örnek HTTP İsteği

İstek:

POST https://my-resource.communication.azure.com/identities/{identity}/:issueAccessToken?api-version=2023-10-01
Authorization: Bearer <your-access-token>
Content-Type: application/json
{
  "scopes": [
    "chat",
    "voip"
  ]
}

Yanıt:

{
  "token": "token",
  "expiresOn": "2023-10-10T21:39:39.3244584+00:00"
}
  • Azure rolü atama adımları.
  • Azure portalını kullanarak Azure rol atamalarını listeleyin.
  • Azure rol atama yönetiminikoşullarıyla başkalarına devretme.
  • Azure özel rollerini .

Kullanıcı Erişim Belirteci Kimlik Doğrulaması

Kullanıcı erişim belirteçleri, istemci uygulamalarınızın belirli bir kullanıcı veya kimlik olarak doğrudan Azure İletişim Hizmetleri'ne karşı kimlik doğrulaması yapmasına olanak tanır.

Kullanıcı Erişim Belirteçleri Oluşturma/Alma

Kullanıcı Erişim Belirteçleri, güvenilir bir ortamda sizin tarafınızdan oluşturulur. Bunları Azure İletişim Hizmetleri Kimlik SDK'sını kullanarak oluşturmak en kolay yoldur. Daha fazla bilgi için bkz.kullanıcı erişim belirteçlerini oluşturma ve yönetme .

İstekte Kullanıcı Erişim Belirteci Kullanma

Uygun bir Kullanıcı Erişim Belirteci'ne sahip olduktan sonra, bunu Azure İletişim Hizmetleri'nin REST API'sine yönelik isteklerinize ekleyebilirsiniz. Bunu yapmak için, Authorization: Bearer <token>Taşıyıcı HTTP kimlik doğrulama düzenini kullanarak Authorization üst bilgisinde sağlamanız gerekir.

Ayrıca Bkz.

Azure İletişim Hizmetleri kimlik doğrulaması hakkında ek bilgi için şunları da gözden geçirebilirsiniz: