Utilisation AppKeys et identifiant du locataire - Amazon Chime SDK

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation AppKeys et identifiant du locataire

Vous pouvez utiliser AppKeys et TenantIds pour limiter l'accès depuis un réseau aux sessions multimédia WebRTC du SDK Amazon Chime d'applications spécifiques.

Les développeurs utilisent le SDK Amazon Chime pour créer des applications qui envoient et reçoivent des vidéos en temps réel via UDP. Les utilisateurs de l'application ont besoin d'un accès UDP au CHIME_MEETINGSsous-réseau. Organisations (propriétaires de réseaux) peuvent utiliser AppKeys et TenantID pour limiter l'accès depuis leur réseau aux seules sessions multimédia WebRTC d'une application spécifique.

Exemple 1 : utilisation AppKeys

Si App-A et App-B utilisent le SDK Amazon Chime, une organisation peut autoriser App-A à accéder aux sessions multimédia WebRTC depuis son réseau, mais bloquer App-B et toute autre application utilisant le SDK Amazon Chime. Organisations peuvent le faire à l'aide d'App-A AppKey et d'un proxy HTTPS. Pour plus d'informations, reportez-vous àLimiter l'accès à une application spécifique, plus loin dans cette rubrique.

Exemple 2 : Utilisation AppKeys et TenantIds

Si App-A est accessible au public et utilisé par de nombreux clients, une entreprise peut souhaiter autoriser App-A à accéder aux sessions multimédia WebRTC depuis son réseau uniquement lorsque ses utilisateurs font partie de la session, et bloquer l'accès à toutes les autres sessions App-A. Les organisations peuvent le faire en utilisant l'application AppKey, le TenantID de l'organisation et un proxy HTTPS. Pour plus d'informations, reportez-vous àLimiter l'accès à un locataire spécifique, plus loin dans cette rubrique.

Pour utiliser AppKeys et TenantIds, vous devez disposer d'un serveur proxy HTTPS qui permet d'ajouter des en-têtes HTTPS à une demande. Le schéma suivant montre le fonctionnement des TenantIds AppKeys et des TenantIds.

Schéma montrant comment AppKeys et les TenantID contrôlent l'accès des applications et des locataires à une session WebRTC.

Dans l'image, App-A possède les locataires A-1 et A-2, et App-B possède les locataires B-1 et B-2. Dans ce cas, le AppKey seul autorise App-A à se connecter à la session multimédia WebRTC, et l'ID du locataire admet uniquement le locataire A-1 à la session.

Limiter l'accès à une application spécifique

An AppKeyest une valeur de 256 bits unique et cohérente créée par Amazon Chime pour chaque compte. AWS Si vous n'en avez pas AppKey, vous pouvez en faire la demande auprès d'Amazon Support. Si vous avez plusieurs AWS comptes, vous pouvez demander un compte commun AppKey à tous vos comptes.

Note

Vous pouvez partager vos données AppKeys publiquement en toute sécurité et permettre à d'autres organisations de limiter l'accès depuis leurs réseaux.

Le SDK Amazon Chime associe automatiquement chaque session multimédia WebRTC à un compte en AppKey fonction de l'identifiant de AWS compte utilisé pour créer la session. Pour limiter l'accès depuis votre réseau à des applications spécifiques, procédez comme suit :

  1. Acheminez toutes les demandes sortantes vers le CHIME_MEETINGS sous-réseau via un serveur proxy HTTPS.

  2. Configurez le serveur proxy pour ajouter l'en-tête suivant à toutes les demandes sortantes adressées au CHIME_MEETINGS sous-réseau :

    X-Amzn-Chime-App-Keys:liste des autorisations séparées par des virgules. AppKeys

    Autorise, par exemple, X-Amzn-Chime-App-Keys:AppKey-A,AppKey-B,AppKey-C les applications associées AppKeys à celles-ci à accéder au sous-réseau.

Le SDK Amazon Chime inspecte les connexions de session multimédia WebRTC entrantes pour détecter l'en-tête et applique la logique suivante : X-Amzn-Chime-App-Keys

  1. Si l'X-Amzn-Chime-App-Keysen-tête est présent et inclut celui de la session AppKey, acceptez la connexion.

  2. Si l'X-Amzn-Chime-App-Keysen-tête est présent mais n'inclut pas celui de la session AppKey, rejetez la connexion avec une erreur 403.

  3. Si l'X-Amzn-Chime-App-Keysen-tête n'est pas présent, acceptez la connexion. Si les utilisateurs peuvent accéder à l'application depuis l'extérieur du réseau de l'organisation, ils peuvent également accéder à la session.

Limiter l'accès à un locataire spécifique

Un TenantID est un identifiant opaque créé par les développeurs. N'oubliez pas ce qui suit à propos des TenantIds :

  • Il n'est pas garanti que les TenantID soient uniques entre les applications. Vous devez donc en spécifier un AppKey pour chaque liste TenantID.

  • Les ID de locataire distinguent les majuscules et minuscules. Entrez-les exactement comme prescrit par le développeur.

  • Une organisation peut limiter l'accès à plusieurs applications, mais uniquement spécifier des TenantID pour certaines de ces applications. Les applications sans TenantID peuvent se connecter à toutes les sessions multimédia WebRTC.

Pour associer une session multimédia à TenantIds, un développeur doit d'abord ajouter la TenantIds propriété et une liste de TenantIds à une demande or. CreateMeetingCreateMeetingWithAttendees

Par exemple :

CreateMeeting(..., TenantIds : [ tenantId1, tenantId2 ] )

Pour limiter l'accès depuis le réseau d'une organisation à sa session multimédia WebRTC dans des applications spécifiques, procédez comme suit :

  1. Suivez les étapes de Limiter l'accès à une application spécifique.

  2. Configurez le serveur proxy HTTPS pour ajouter un X-Amzn-Chime-Tenants en-tête sur les connexions sortantes. Incluez une liste de AppKeys et TenantID, délimités comme indiqué dans cet exemple : X-Amzn-Chime-Tenants: AppKey-A:tenantId-A-1,tenantId-A-2;AppKey-B:tenantId-B-1,tenantId-B-2

Le SDK Amazon Chime inspecte les connexions de session multimédia WebRTC entrantes pour détecter l'en-tête et applique la logique suivante : X-Amzn-Chime-Tenants

  • Si l'en-tête inclut ceux de la sessionAppKey:tenantId, acceptez la connexion.

  • Si l'en-tête inclut celui de la session AppKey mais ne correspond pastenantId, rejetez la connexion avec une erreur 403.

  • Si l'en-tête n'inclut pas celui de la sessionAppKey, acceptez la connexion.

  • Si l'en-tête inclut ceux de la sessionAppKey, mais que celle-ci n'en a pas au moins une autoriséetenantId, rejetez la connexion avec une erreur 403. Il s'agit peut-être d'un bogue du développeur.

  • Si l'en-tête n'est pas présent, acceptez la connexion. Si les utilisateurs peuvent accéder à l'application depuis l'extérieur du réseau de l'organisation, ils peuvent également accéder à toutes les sessions.

Exemples d'en-têtes HTTPS

Les exemples suivants montrent certaines des manières d'utiliser AppKeys les TenantIds dans les en-têtes HTTPS.

Une application pour un seul locataire

X-Amzn-Chime-App-Keys: AppKey

X-Amzn-Chime-Tenants: AppKey:orgId

Les utilisateurs peuvent accéder uniquement aux sessions multimédia WebRTC de l'organisation dans l'application spécifiée. Toutes les autres applications sont bloquées.

Une application avec deux locataires

X-Amzn-Chime-App-Keys: AppKey

X-Amzn-Chime-Tenants: AppKey:engineeringId,salesId

Les utilisateurs peuvent accéder uniquement aux sessions multimédia pour l'ingénierie et les ventes dans l'application spécifiée. Toutes les autres applications sont bloquées.

Deux applications, dont une limitée à un locataire

X-Amzn-Chime-App-Keys: AppKey1,AppKey2

X-Amzn-Chime-Tenants: AppKey1:orgId

Les utilisateurs peuvent accéder uniquement aux sessions multimédia de l'organisation dans l'application 1, et à n'importe quelle session dans l'application 2. Toutes les autres applications sont bloquées.