Utilizzo AppKeys e tenant IDs per Amazon Chime SDK - SDK Amazon Chime

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo AppKeys e tenant IDs per Amazon Chime SDK

Puoi utilizzare AppKeys and Tenant IDs per limitare l'accesso da una rete alle sessioni multimediali WebRTC di Amazon Chime SDK di applicazioni specifiche.

Gli sviluppatori utilizzano l'SDK Amazon Chime per creare applicazioni che inviano e ricevono video in tempo reale tramite UDP. Gli utenti dell'applicazione richiedono l'accesso UDP alla sottorete. CHIME_MEETINGS Organizations (proprietari di rete) possono utilizzare AppKeys and Tenant IDs per limitare l'accesso dalla propria rete solo alle sessioni multimediali WebRTC di un'applicazione specifica.

Esempio 1: Utilizzo AppKeys

Se App-A e App-B utilizzano l'Amazon Chime SDK, un'organizzazione può consentire all'App-A di accedere alle sessioni multimediali WebRTC dalla propria rete, ma bloccare App-B e qualsiasi altra applicazione che utilizza l'SDK Amazon Chime. Le organizzazioni possono farlo con App-A AppKey e un proxy HTTPS. Per ulteriori informazioni, fare riferimento aLimitazione dell'accesso a un'applicazione specifica, più avanti in questo argomento.

Esempio 2: Utilizzo AppKeys e tenant IDs

Se l'App-A è disponibile pubblicamente e viene utilizzata da molti clienti, un'organizzazione potrebbe voler consentire all'App-A di accedere alle sessioni multimediali WebRTC dalla propria rete solo quando gli utenti fanno parte della sessione e bloccare l'accesso a tutte le altre sessioni App-A. Le organizzazioni possono farlo utilizzando l'applicazione AppKey, il TenantID dell'organizzazione e un proxy HTTPS. Per ulteriori informazioni, fare riferimento aLimitazione dell'accesso a un tenant specifico, più avanti in questo argomento.

Per utilizzare AppKeys and TenantIDs, è necessario disporre di un server proxy HTTPS che consenta di aggiungere intestazioni HTTPS a una richiesta. Il diagramma seguente mostra come funzionano i Tenant AppKeys . IDs

Diagramma che mostra in che modo l'applicazione AppKeys e il tenant IDs controllano l'accesso a una sessione WebRTC.

Nell'immagine, App-A ha gli inquilini A-1 e A-2 e App-B ha gli inquilini B-1 e B-2. In questo caso, consente AppKey solo all'App-A di connettersi alla sessione multimediale WebRTC e l'ID tenant ammette solo il Tenant A-1 alla sessione.

Limitazione dell'accesso a un'applicazione specifica

An AppKeyè un valore a 256 bit univoco e coerente che Amazon Chime crea per ogni account. AWS Se non ne hai uno AppKey, puoi richiederlo ad Amazon Support. Se hai più AWS account, puoi richiederne uno comune AppKey per tutti i tuoi account.

Nota

Puoi condividere i tuoi dati AppKeys pubblicamente in tutta sicurezza e consentire ad altre organizzazioni di limitare l'accesso dalle loro reti.

L'SDK Amazon Chime associa automaticamente ogni sessione multimediale WebRTC a AppKey una sessione in base all'ID dell'account utilizzato per creare la sessione. AWS Per limitare l'accesso dalla rete a applicazioni specifiche, procedi come segue:

  1. Indirizza tutte le richieste in uscita alla CHIME_MEETINGS sottorete tramite un server proxy HTTPS.

  2. Configura il server proxy per aggiungere la seguente intestazione a tutte le richieste in uscita alla sottorete: CHIME_MEETINGS

    X-Amzn-Chime-App-Keys: comma-separated list of allowed AppKeys.

    Ad esempio, X-Amzn-Chime-App-Keys:AppKey-A,AppKey-B,AppKey-C consente alle app ad esse associate di accedere AppKeys alla sottorete.

L'SDK Amazon Chime ispeziona le connessioni delle sessioni multimediali WebRTC in entrata per l'intestazione e applica la seguente logica: X-Amzn-Chime-App-Keys

  1. Se l'X-Amzn-Chime-App-Keysintestazione è presente e include quella della sessione, accetta la connessione. AppKey

  2. Se l'X-Amzn-Chime-App-Keysintestazione è presente ma non include quella della sessione AppKey, rifiuta la connessione con un errore 403.

  3. Se l'X-Amzn-Chime-App-Keysintestazione non è presente, accetta la connessione. Se gli utenti possono accedere all'applicazione dall'esterno della rete dell'organizzazione, possono accedere anche alla sessione.

Limitazione dell'accesso a un tenant specifico

Un TenantID è un identificatore opaco creato dagli sviluppatori. Ricorda quanto segue su Tenant: IDs

  • Non è garantito IDs che il tenant sia unico tra le applicazioni, quindi è necessario specificarne uno AppKey per ogni elenco TenantID.

  • I tenant fanno distinzione IDs tra maiuscole e minuscole. Inseriscili esattamente come prescritto dallo sviluppatore.

  • Un'organizzazione può limitare l'accesso a più applicazioni, ma specificare Tenant solo IDs per alcune di queste applicazioni. Le applicazioni senza Tenant IDs possono connettersi a tutte le sessioni multimediali WebRTC.

Per associare una sessione multimediale a TenantIDs, uno sviluppatore deve prima aggiungere la TenantIds proprietà e un elenco di Tenant a IDs CreateMeeting o CreateMeetingWithAttendees.

Per esempio:

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

Per limitare l'accesso dalla rete di un'organizzazione alla sessione multimediale WebRTC in applicazioni specifiche, procedi come segue:

  1. Seguire la procedura riportata in Limitazione dell'accesso a un'applicazione specifica.

  2. Configurate il server proxy HTTPS per aggiungere un'X-Amzn-Chime-Tenantsintestazione sulle connessioni in uscita. Includi un elenco di AppKeys e TenantIDs, delimitato come mostrato in questo esempio: X-Amzn-Chime-Tenants: AppKey-A:tenantId-A-1,tenantId-A-2;AppKey-B:tenantId-B-1,tenantId-B-2

L'SDK Amazon Chime ispeziona le connessioni delle sessioni multimediali WebRTC in entrata per l'intestazione e applica la seguente logica: X-Amzn-Chime-Tenants

  • Se l'intestazione include quelle della sessione, accetta la connessione. AppKey:tenantId

  • Se l'intestazione include le sessioni AppKey ma nessuna corrispondenzatenantId, rifiuta la connessione con un errore 403.

  • Se l'intestazione non include quelle della sessioneAppKey, accetta la connessione.

  • Se l'intestazione include quelle della sessioneAppKey, ma la sessione non ne ha almeno una consentitatenantId, rifiuta la connessione con un errore 403. Potrebbe trattarsi di un bug per sviluppatori.

  • Se l'intestazione non è presente, accetta la connessione. Se gli utenti possono accedere all'applicazione dall'esterno della rete dell'organizzazione, possono accedere anche a tutte le sessioni.

Esempi di intestazioni HTTPS

Gli esempi seguenti mostrano alcuni modi di utilizzare AppKeys e Tenant IDs nelle intestazioni HTTPS.

Un'app con un tenant

X-Amzn-Chime-App-Keys: AppKey

X-Amzn-Chime-Tenants: AppKey:orgId

Gli utenti possono accedere solo alle sessioni multimediali WebRTC dell'organizzazione nell'app specificata. Tutte le altre app sono bloccate.

Un'app con due inquilini

X-Amzn-Chime-App-Keys: AppKey

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

Gli utenti possono accedere solo alle sessioni multimediali per la progettazione e le vendite nell'app specificata. Tutte le altre app sono bloccate.

Due app, una limitata a un tenant

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

X-Amzn-Chime-Tenants: AppKey1:orgId

Gli utenti possono accedere solo alle sessioni multimediali dell'organizzazione nell'App 1 e a qualsiasi sessione nell'App 2. Tutte le altre app sono bloccate.