Utilizzo AppKeys e tenantID - 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 tenantID

Puoi utilizzare AppKeys e TenantID 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 e TenantID 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 tenantID

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 e TenantIDS, è necessario disporre di un server proxy HTTPS che consenta di aggiungere intestazioni HTTPS a una richiesta. Il diagramma seguente mostra come funzionano i TenantID AppKeys .

Diagramma che mostra come AppKeys i TenantID controllano l'accesso dell'applicazione e del tenant a una sessione WebRTC.

Nell'immagine, App-A ha i tenant A-1 e A-2 e App-B ha i tenant 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:elenco separato da virgole delle opzioni consentite. 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 sui TenantID:

  • Non è garantito che i TenantID siano univoci tra le applicazioni, quindi è necessario specificarne uno AppKey per ogni elenco TenantID.

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

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

Per associare una sessione multimediale a TenantID, uno sviluppatore deve prima aggiungere la TenantIds proprietà e un elenco di TenantID a una richiesta or. CreateMeetingCreateMeetingWithAttendees

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 tenantID, delimitati 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 i tenantID 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.