Uso AppKeys y TenantIDs - Amazon Chime SDK

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso AppKeys y TenantIDs

Puede usar AppKeys TenantIDS para limitar el acceso desde una red a las sesiones multimedia de WebRTC del SDK de Amazon Chime de aplicaciones específicas.

Los desarrolladores utilizan Amazon Chime SDK para crear aplicaciones que envíen y reciban video en tiempo real a través de UDP. Los usuarios de la aplicación requieren acceso UDP a la subred de CHIME_MEETINGS. Las organizaciones (propietarios de redes) pueden usar AppKeys TenantIDS para limitar el acceso desde su red solo a las sesiones multimedia de WebRTC de una aplicación específica.

Ejemplo 1: uso de AppKeys

Si la aplicación A y la aplicación B utilizan el SDK de Amazon Chime, una organización puede permitir que la aplicación A acceda a las sesiones multimedia de WebRTC desde su red, pero bloquear la aplicación B y cualquier otra aplicación que utilice el SDK de Amazon Chime. Las organizaciones pueden hacerlo con App-A AppKey y un proxy HTTPS. Para obtener más información, consulte Restricción del acceso a una aplicación específica más adelante en este tema.

Ejemplo 2: Uso AppKeys de un ID de inquilino

Si la App-A está disponible públicamente y la utilizan muchos clientes, es posible que una organización desee permitir que la App-A acceda a las sesiones multimedia de WebRTC desde su red solo cuando sus usuarios formen parte de la sesión y bloquear el acceso a todas las demás sesiones de la App-A. Las organizaciones pueden hacerlo mediante el uso de la aplicación AppKey, el ID de inquilino de la organización y un proxy HTTPS. Para obtener más información, consulte Restricción del acceso a un inquilino específico más adelante en este tema.

Para usar AppKeys un TenantIDS, debe tener un servidor proxy HTTPS que permita agregar encabezados HTTPS a una solicitud. El siguiente diagrama muestra cómo funcionan los ID de inquilino AppKeys .

Diagrama que muestra cómo los AppKeys TenantIDS controlan el acceso de las aplicaciones y los inquilinos a una sesión de WebRTC.

En la imagen, la App-A tiene los inquilinos A-1 y A-2, y la App-B tiene los inquilinos B-1 y B-2. En este caso, AppKey solo permite que la App-A se conecte a la sesión multimedia de WebRTC, y el ID de inquilino solo admite al inquilino A-1 en la sesión.

Restricción del acceso a una aplicación específica

An AppKeyes un valor único y uniforme de 256 bits que Amazon Chime crea para cada cuenta. AWS Si no tienes uno AppKey, puedes solicitarlo a Amazon Support. Si tienes varias AWS cuentas, puedes solicitar una común AppKey para todas tus cuentas.

nota

Puedes compartirlas AppKeys públicamente de forma segura y permitir que otras organizaciones limiten el acceso desde sus redes.

El SDK de Amazon Chime asocia automáticamente cada sesión multimedia de WebRTC en AppKey función del ID de AWS cuenta utilizado para crear la sesión. Para limitar el acceso desde su red a aplicaciones específicas, haga lo siguiente:

  1. Dirija todas las solicitudes salientes a la subred CHIME_MEETINGS a través de un servidor proxy HTTPS.

  2. Configure el servidor proxy para agregar el siguiente encabezado a todas las solicitudes salientes a la subred CHIME_MEETINGS:

    X-Amzn-Chime-App-Keys:lista de permitidos separada por comas. AppKeys

    Por ejemplo, X-Amzn-Chime-App-Keys:AppKey-A,AppKey-B,AppKey-C permite que las aplicaciones asociadas AppKeys a ellas accedan a la subred.

Amazon Chime SDK inspecciona las conexiones entrantes de las sesiones multimedia WebRTC en busca del encabezado X-Amzn-Chime-App-Keys y aplica la siguiente lógica:

  1. Si el X-Amzn-Chime-App-Keys encabezado está presente e incluye el de la sesión AppKey, acepta la conexión.

  2. Si el X-Amzn-Chime-App-Keys encabezado está presente pero no incluye el de la sesión AppKey, rechace la conexión con un error 403.

  3. Si el encabezado X-Amzn-Chime-App-Keys no está presente, acepte la conexión. Si los usuarios pueden acceder a la aplicación desde fuera de la red de la organización, también pueden acceder a la sesión.

Restricción del acceso a un inquilino específico

Un TenantID es un identificador opaco creado por los desarrolladores. Recuerde lo siguiente acerca de los TenantIDs:

  • No se garantiza que los ID de inquilino sean únicos entre las aplicaciones, por lo que debe especificar uno AppKey para cada lista de ID de inquilino.

  • Los ID de inquilino distinguen mayúsculas de minúsculas. Introdúzcalos exactamente según lo prescrito por el desarrollador.

  • Una organización puede limitar el acceso a varias aplicaciones, pero solo especificar los ID de inquilino para algunas de esas aplicaciones. Las aplicaciones sin TenantIDs se pueden conectar a todas las sesiones multimedia de WebRTC.

Para asociar una sesión multimedia a TenantIDS, el desarrollador primero debe añadir la TenantIds propiedad y una lista de ID de inquilinos a una solicitud o. CreateMeetingCreateMeetingWithAttendees

Por ejemplo:

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

Para limitar el acceso desde la red de una organización a su sesión multimedia de WebRTC en aplicaciones específicas, haga lo siguiente:

  1. Siga los pasos de Restricción del acceso a una aplicación específica.

  2. Configure el servidor proxy HTTPS para añadir un encabezado X-Amzn-Chime-Tenants en las conexiones salientes. Incluya una lista de los ID de AppKeys inquilino, delimitados como se muestra en este ejemplo: X-Amzn-Chime-Tenants: AppKey-A:tenantId-A-1,tenantId-A-2;AppKey-B:tenantId-B-1,tenantId-B-2

Amazon Chime SDK inspecciona las conexiones entrantes de las sesiones multimedia WebRTC en busca del encabezado X-Amzn-Chime-Tenants y aplica la siguiente lógica:

  • Si el encabezado incluye las de la sesión, acepte la conexión AppKey:tenantId.

  • Si el encabezado incluye la sesión AppKey pero no coincide en tenantId, rechace la conexión con un error 403.

  • Si el encabezado no incluye el AppKey de la sesión, acepte la conexión.

  • Si el encabezado incluye el AppKey de la sesión, pero la sesión no tiene al menos un tenantId permitido, rechace la conexión con un error 403. Puede que se trate de un error de desarrollador.

  • Si el encabezado no está presente, acepte la conexión. Si los usuarios pueden acceder a la aplicación desde fuera de la red de la organización, también podrán acceder a todas las sesiones.

Ejemplos de encabezado HTTP

Los siguientes ejemplos muestran algunas de las formas de usar los ID de inquilino en los AppKeys encabezados HTTPS.

Una aplicación con un inquilino

X-Amzn-Chime-App-Keys: AppKey

X-Amzn-Chime-Tenants: AppKey:orgId

Los usuarios solo pueden acceder a las sesiones multimedia de WebRTC de la organización en la aplicación especificada. Todas las aplicaciones se bloquean.

Una aplicación con dos inquilinos

X-Amzn-Chime-App-Keys: AppKey

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

Los usuarios solo pueden acceder a las sesiones multimedia de ingeniería y ventas de la aplicación especificada. Todas las aplicaciones se bloquean.

Dos aplicaciones, una limitada a un inquilino

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

X-Amzn-Chime-Tenants: AppKey1:orgId

Los usuarios solo pueden acceder a las sesiones multimedia de la organización en la aplicación 1 y a cualquier sesión en la aplicación 2. Todas las aplicaciones se bloquean.