Model identit

Azure Communication Services je služba negnostická na identitě. Tento návrh nabízí několik výhod:

  • Opakovaně používá existující identity ze systému správy identit.
  • Poskytuje flexibilitu pro scénáře integrace.
  • Udržuje vaše identity jako soukromé v Azure Communication Services

Místo duplikování informací ve vašem systému budete udržovat relaci mapování, kterou váš obchodní případ vyžaduje. Můžete například mapovat identity 1:1, 1:N, N:1, N:M. Externí identifikátory, jako jsou telefonní čísla, uživatelé, zařízení, aplikace a identifikátory GUID, nelze použít pro identitu v Azure Communication Services. Přístupové tokeny vygenerované pro Azure Communication Services identity se používají pro přístup k primitivům, jako je chat nebo volání.

Identita

Identity můžete vytvářet pomocí knihovny Azure Communication Services Identity. Identita slouží jako identifikátor v konverzacích. Používá se k vytváření přístupových tokenů. Stejná identita se může účastnit více souběžných relací napříč několika zařízeními. Identita může mít více aktivních přístupových tokenů současně.

Odstranění identity, prostředku nebo předplatného zruší platnost všech jejích přístupových tokenů. Tato akce také odstraní všechna data uložená pro identitu. Odstraněná identita nemůže vytvářet nové přístupové tokeny ani přistupovat k dříve uloženým datům (například chatovací zprávy).

Za počet identit, které máte, se vám neúčtuje žádné poplatky. Místo toho se vám účtují poplatky za použití primitiv. Počet identit nemusí omezovat způsob mapování identit aplikace na identitu aplikace, Azure Communication Services identit.

S volností mapování přichází odpovědnost za ochranu osobních údajů. Pokud chcete uživatele ze systému odstranit, musíte odstranit všechny identity, které jsou k tomuto uživateli přidružené.

Azure Communication Services neposkytuje anonymním uživatelům speciální identity. Neudržuje mapování mezi uživateli a identitami a nemůže určit, jestli je identita anonymní. Koncept identity můžete navrhnout tak, aby vyhovoval vašim potřebám. Doporučujeme vytvořit pro každého anonymního uživatele v každé aplikaci novou identitu.

Každý, kdo má platný přístupový token, má přístup k aktuálnímu obsahu identity. Uživatelé mají například přístup ke zprávám chatu, které odeslali. Přístup je omezen pouze na obory, které jsou součástí přístupového tokenu. Další informace najdete v části Přístupové tokeny v tomto článku.

Mapování identit

Azure Communication Services nereplikuje funkce systému správy identit Azure. Neposkytuje zákazníkům způsob, jak používat identity specifické pro zákazníky. Zákazníci například nemůže použít telefonní číslo nebo e-mailovou adresu. Místo Azure Communication Services poskytuje jedinečné identifikátory. Tyto jedinečné identifikátory můžete přiřadit identitám vaší aplikace. Azure Communication Services neukládá žádné informace, které by mohly odhalit skutečnou identitu vašich uživatelů.

Abyste se vyhnuli duplikování informací ve vašem systému, naplánujte, jak namapovat uživatele z vaší domény identit na Azure Communication Services identity. Můžete postupovat podle jakéhokoli vzoru. Můžete například použít 1:1, 1:N, N:1 nebo M:N. Rozhodněte, jestli je jeden uživatel namapovaný na jednu identitu, nebo na více identit.

Po vytvoření nové identity uložte její mapování na uživatele nebo uživatele vaší aplikace. Vzhledem k tomu, že identity vyžadují k použití primitiv přístupové tokeny, musí být identita známa uživateli nebo uživatelům vaší aplikace.

Pokud k ukládání informací o uživateli používáte relační databázi, můžete svůj návrh upravit podle scénáře mapování. Pro scénáře, které mapovat 1:1 nebo N:1, můžete do tabulky přidat sloupec pro uložení vaší CommunicationServicesId Azure Communication Services identity. Ve scénářích, které používají relaci 1:N nebo N:M, můžete zvážit vytvoření samostatné tabulky v relační databázi.

Přístupové tokeny

Přístupový token je JSON Web Token (JWT), který lze použít k získání přístupu k primitivám služby Azure Communication Service. Vystavený přístupový token má ochranu integrity. To znamená, že po vydání nelze její deklarace identity změnit. Ruční změna vlastností, jako je identita, vypršení platnosti nebo obory, zneplatní přístupový token. Pokud se s zneplatněným tokenem používají primitivy, bude přístup k primitivům odepřen.

Vlastnosti přístupového tokenu jsou:

  • Identity.
  • Vypršení platnosti.
  • Obory.

Přístupový token je vždy platný po dobu 24 hodin. Po vypršení platnosti se přístupový token zneplatní a nebude možné ho použít pro přístup k žádným primitivním objektům.

Identita potřebuje způsob, jak požádat o nový přístupový token ze služby na straně serveru. Parametr scope definuje neprázdnou sadu primitiv, které lze použít. Azure Communication Services podporuje následující obory pro přístupové tokeny.

Název Popis
Chat Uděluje možnost účastnit se chatu.
Voip Umožňuje volat identity a telefonní čísla.

Pokud chcete přístupový token odvolat před vypršením jeho platnosti, použijte knihovnu Azure Communication Services Identity. Odvolání tokenu není okamžité. Rozšíření trvá až 15 minut. Odebráním identity, prostředku nebo předplatného se zruší všechny přístupové tokeny.

Pokud chcete odebrat schopnost uživatele přistupovat ke konkrétním funkcím, odvolat všechny přístupové tokeny. Pak vydáte nový přístupový token, který má omezenější sadu oborů.

Například Azure Communication Services přístupových klíčů odvolá všechny aktivní přístupové tokeny, které byly vytvořeny pomocí dřívějšího přístupového klíče. Všechny identity ztratí přístup k Azure Communication Services a musí vydávat nové přístupové tokeny.

Doporučujeme vystavovat přístupové tokeny ve službě na straně serveru, a ne v klientské aplikaci. Důvodem je, že vydání vyžaduje přístupový klíč nebo spravovanou identitu. Z bezpečnostních důvodů se sdílení přístupových klíčů s aplikací klienta nedoporučuje.

Klientská aplikace by měla používat koncový bod důvěryhodné služby, který může ověřovat vaše klienty. Koncový bod by měl vydávat přístupové tokeny jejich jménem. Další informace najdete v tématu Architektura klienta a serveru.

Pokud přístupové tokeny ukládáte do mezipaměti v zálohovacím úložiště, doporučujeme použít šifrování. Přístupový token jsou citlivá data. Může se použít pro škodlivou aktivitu, pokud není chráněná. Někdo, kdo má přístupový token, může spustit sadu SDK a získat přístup k rozhraní API. Přístupné rozhraní API je omezené jenom na základě oborů, které přístupový token má. Doporučujeme vystavovat přístupové tokeny, které mají pouze požadované obory.

Další kroky