Identitetsmodell

Azure Communication Services är en identitetsagnostisk tjänst som erbjuder flera fördelar:

  • Återanvänd befintliga identiteter från ditt identitetshanteringssystem och mappa dem helt enkelt med Azure Communication Services-identiteter.
  • Ger flexibilitet för integrering eftersom identitetsagnostisk modell fungerar bra med ditt befintliga identitetssystem.
  • Du kan hålla användarens data, till exempel deras namn, privata eftersom du inte behöver duplicera dem i Azure Communication Services.

Identitetsmodellen för Azure Communication Services fungerar med två viktiga begrepp.

Användaridentitet/mappning

Identifierar en användare unikt via en användaridentifierare, som genereras av Azure Communication Services när en användare skapas. Externa identifierare som telefonnummer, användare, enheter, program och GUID:er kan inte användas för identiteter i Azure Communication Services. Du kan skapa användaridentiteter för Azure Communication Service kostnadsfritt. Avgifter tillkommer endast när användaren använder kommunikationssätt, till exempel en chatt eller ett samtal. Användarnas identitet kan mappas till Användaridentitet för Azure Communication Services i 1:1, 1:N, N:1, N:N-konfigurationer. En användare kan delta i flera kommunikationssessioner med flera enheter samtidigt. Mappning mellan Azure Communication Services-användaridentitet och kundens privata användaridentitet behålls och underhålls av kunden. Kunder kan till exempel lägga till en CommunicationServicesId kolumn i användartabellen för att lagra den associerade Azure Communication Services-identiteten.

Åtkomsttokens

När en användaridentitet har skapats beviljas en användare möjlighet att delta i kommunikation med hjälp av chatt eller samtal med hjälp av åtkomsttoken. Till exempel kan endast en användare med chatttoken delta i chatt och användare med VoIP-token kan delta i ett VoIP-samtal. En användare kan ha flera token samtidigt. Azure Communication Services stöder flera typer av token för att ta hänsyn till användare som behöver fullständig åtkomst jämfört med begränsad åtkomst. Åtkomsttoken har följande egenskaper.

Property beskrivning
Identitet Identifierar en token unikt
Förfallodatum En åtkomsttoken är giltig under en tidsperiod mellan 1 och 24 timmar. När den har upphört att gälla är åtkomsttoken ogiltig och kan inte användas för att komma åt någon primitiv. Om du vill generera en token med en anpassad giltighet anger du önskad giltighetsperiod när token genereras. Om ingen anpassad giltighet har angetts är token giltig i 24 timmar. Vi rekommenderar att du använder korta livstidstoken för engångsmöten och längre livslängdstoken för agenter som använder programmet under längre tidsperioder
Omfattning Omfångsparametern definierar en uppsättning primitiver (Chat/VoIP) som kan användas.

En åtkomsttoken är en JSON-webbtoken (JWT) och har integritetsskydd. Dess anspråk kan alltså inte ändras när de har utfärdats. En manuell ändring av egenskaper som identitet, förfallodatum eller omfång ogiltigförklarar därför åtkomsttoken. Om primitiver används med ogiltiga token nekas åtkomst till primitiverna. Azure Communication Services stöder följande omfång för åtkomsttoken.

Omfång för chatttoken

Tre typer av omfång för chatttoken stöds. Behörigheter för varje token beskrivs nedan.

  • chatt
  • chat.join
  • chat.join.limited
Kapacitet/tokenomfång chatt chat.join chat.join.limited
Skapa chatttråd Y N N
Uppdatera chatttråd med ID Y N N
Ta bort chatttråd med ID Y N N
Lägga till deltagare i en chatttråd Y Y N
Ta bort deltagare från en chatttråd Y Y N
Hämta chatttrådar Y Y Y
Hämta chatttråd med ID Y Y Y
Hämta ReadReceipt Y Y Y
Skapa ReadReceipt Y Y Y
Skapa meddelande för chatttråd med ID Y Y Y
Hämta meddelande med meddelande-ID Y Y Y
Uppdatera ditt eget meddelande med meddelande-ID Y Y Y
Ta bort ditt eget meddelande med meddelande-ID Y Y Y
Indikator för att skicka inmatning Y Y Y
Hämta deltagare för tråd-ID Y Y Y

Omfång för VoIP-token

Två typer av VoIP-tokenomfång stöds. Behörigheter för varje token beskrivs nedan.

  • Voip
  • voip.join
Kapacitet/tokenomfång Voip voip.join
Starta ett VoIP-anrop Y N
Starta ett VoIP-samtal i virtuella rum när användaren redan är inbjuden till rummet Y Y
Ansluta till ett InProgress VoIP-anrop Y Y
Anslut till ett InProgress VoIP-anrop i virtuella rum när användaren redan är inbjuden till rummet Y Y
Alla andra anropsåtgärder som att stänga av/slå på ljudet, skärmresurs osv. Y Y
Alla andra anropsåtgärder som att stänga av/slå på ljudet, skärmresurs osv. i virtuella rum Bestäms av användarroll Bestäms av användarroll

Återkalla eller uppdatera åtkomsttoken

  • Identitetsbiblioteket för Azure Communication Services kan användas för att återkalla en åtkomsttoken innan den upphör att gälla. Tokenåterkallelse är inte omedelbart. Det kan ta upp till 15 minuter att sprida.
  • Borttagningen av en identitet, resurs eller prenumeration återkallar alla åtkomsttoken.
  • Om du vill ta bort en användares möjlighet att komma åt specifika funktioner återkallar du alla åtkomsttoken. Utfärda sedan en ny åtkomsttoken som har en mer begränsad uppsättning omfång.
  • Rotation av åtkomstnycklar återkallar alla aktiva åtkomsttoken som skapades med hjälp av en tidigare åtkomstnyckel. I det här fallet förlorar alla identiteter åtkomst till Azure Communication Services och de måste utfärda nya åtkomsttoken.

Att tänka på

  • Vi rekommenderar att du utfärdar åtkomsttoken i tjänsten på serversidan och inte i klientens program. Motiveringen är att utfärdandet kräver en åtkomstnyckel eller Microsoft Entra-autentisering. Att dela hemligheter med klientens program rekommenderas inte av säkerhetsskäl.
  • Klientprogrammet bör använda en betrodd tjänstslutpunkt som kan autentisera klienter. Slutpunkten bör utfärda åtkomsttoken för deras räkning. Mer information finns i Klient- och serverarkitektur.
  • Om du cachelagrar åtkomsttoken till ett lagringsplats rekommenderar vi att du använder kryptering. En åtkomsttoken är känsliga data. Den kan användas för skadlig aktivitet om den inte är skyddad. Någon som har en åtkomsttoken kan starta SDK:n och komma åt API:et. Det tillgängliga API:et begränsas endast baserat på de omfång som åtkomsttoken har.
  • Vi rekommenderar att du utfärdar åtkomsttoken som bara har de nödvändiga omfången.

Nästa steg