Benutzen AppKeys und TenantiDs - Amazon Chime SDK

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Benutzen AppKeys und TenantiDs

Sie können AppKeys TenantIDs verwenden, um den Zugriff von einem Netzwerk auf die Amazon Chime SDK WebRTC-Mediensitzungen bestimmter Anwendungen zu beschränken.

Entwickler verwenden das Amazon Chime SDK, um Anwendungen zu erstellen, die Echtzeit-Videos über UDP senden und empfangen. Anwendungsbenutzer benötigen UDP-Zugriff auf das CHIME_MEETINGSSubnetz. Organizations (Netzwerkbesitzer) können AppKeys TenantIDs verwenden, um den Zugriff von ihrem Netzwerk aus nur auf die WebRTC-Mediensitzungen einer bestimmten Anwendung zu beschränken.

Beispiel 1: Verwenden AppKeys

Wenn App-A und App-B das Amazon Chime SDK verwenden, kann eine Organisation App-A erlauben, von ihrem Netzwerk aus auf die WebRTC-Mediensitzungen zuzugreifen, App-B und alle anderen Anwendungen, die das Amazon Chime SDK verwenden, jedoch blockieren. Organizations können das mit App-As AppKey und einem HTTPS-Proxy tun. Weitere Informationen finden Sie unter anBeschränken des Zugriffs auf eine bestimmte Anwendung späterer Stelle in diesem Thema.

Beispiel 2: Benutzen AppKeys und TenantIDs

Wenn App-A öffentlich verfügbar ist und von vielen Kunden verwendet wird, möchte eine Organisation möglicherweise App-A den Zugriff auf WebRTC-Mediensitzungen von ihrem Netzwerk aus nur dann gestatten, wenn ihre Benutzer Teil der Sitzung sind, und den Zugriff auf alle anderen App-A-Sitzungen blockieren. Organizations können dies tun, indem sie die TenantID der Anwendung AppKey, die TenantID der Organisation und einen HTTPS-Proxy verwenden. Weitere Informationen finden Sie unter anBeschränken des Zugriffs auf einen bestimmten Mandanten späterer Stelle in diesem Thema.

Um AppKeys TenantIDs verwenden zu können, benötigen Sie einen HTTPS-Proxyserver, der das Hinzufügen von HTTPS-Headern zu einer Anfrage ermöglicht. Das folgende Diagramm zeigt, wie AppKeys und TenantIDs funktionieren.


   Diagramm, das zeigt, wie AppKeys  und TenantIDs den Anwendungs- und Mandantenzugriff auf eine WebRTC-Sitzung steuern.

Im Bild hat App-A die Mandanten A-1 und A-2, und App-B hat die Mandanten B-1 und B-2. In diesem Fall kann App-A AppKey nur eine Verbindung zur WebRTC-Mediensitzung herstellen, und die Mandanten-ID lässt nur Mandant A-1 zur Sitzung zu.

Beschränken des Zugriffs auf eine bestimmte Anwendung

An AppKeyist ein konsistenter, einzigartiger 256-Bit-Wert, den Amazon Chime für jedesAWS Konto erstellt. Wenn noch kein vorliegt AppKey, können Sie einen beim Amazon-Kundendienst anfordern. Wenn Sie mehrereAWS Konten haben, können Sie AppKey für alle Ihre Konten ein gemeinsames Konto beantragen.

Anmerkung

Sie können Ihre Daten sicher AppKeys öffentlich teilen und es anderen Organisationen ermöglichen, den Zugriff aus ihren Netzwerken zu beschränken.

Das Amazon Chime SDK ordnet jede WebRTC-Mediensitzung automatisch einer zu, die auf derAWS Konto-ID AppKey basiert, die zur Erstellung der Sitzung verwendet wurde. Gehen Sie wie folgt vor, um den Zugriff von Ihrem Netzwerk auf bestimmte Anwendungen zu beschränken:

  1. Leiten Sie alle ausgehenden Anfragen über einen HTTPS-Proxyserver an dasCHIME_MEETINGS Subnetz weiter.

  2. Konfigurieren Sie den Proxyserver so, dass er allen ausgehenden Anfragen an dasCHIME_MEETINGS Subnetz den folgenden Header hinzufügt:

    X-Amzn-Chime-App-Keys:Kommagetrennte Liste der AppKeys zulässigen

    X-Amzn-Chime-App-Keys: AppKey1,AppKey2,AppKey3Ermöglicht beispielsweise den damit verknüpften Apps den AppKeys Zugriff auf das Subnetz.

Das Amazon Chime SDK untersucht eingehende WebRTC-Mediensitzungsverbindungen auf denX-Amzn-Chime-App-Keys Header und wendet die folgende Logik an:

  1. Wenn derX-Amzn-Chime-App-Keys Header vorhanden ist und die der Sitzung enthält AppKey, akzeptieren Sie die Verbindung.

  2. Wenn derX-Amzn-Chime-App-Keys Header vorhanden ist, aber die der Sitzung nicht enthält AppKey, lehnen Sie die Verbindung mit einem 403-Fehler ab.

  3. Wenn derX-Amzn-Chime-App-Keys Header nicht vorhanden ist, akzeptieren Sie die Verbindung. Wenn Benutzer von außerhalb des Unternehmensnetzwerks auf die Anwendung zugreifen können, können sie auch auf die Sitzung zugreifen.

Beschränken des Zugriffs auf einen bestimmten Mandanten

Eine TenantID ist eine undurchsichtige Kennung, die von Entwicklern erstellt wurde. Beachten Sie Folgendes zu TenantIDs:

  • Es ist nicht garantiert, dass TenantIDs für jede Anwendung eindeutig sind, daher müssen Sie AppKey für jede TenantID-Liste eine angeben.

  • Bei Mieter-IDs wird zwischen Groß- und Kleinschreibung unterschieden. Geben Sie sie genau so ein, wie es der Entwickler vorschreibt.

  • Eine Organisation kann den Zugriff auf mehrere Anwendungen einschränken, aber nur TenantIDs für einige dieser Anwendungen angeben. Anwendungen ohne TenantIDs können eine Verbindung zu allen WebRTC-Mediensitzungen herstellen.

Um eine Mediensitzung mit TenantIDs zu verknüpfen, muss ein Entwickler zunächst dieTenantIds Eigenschaft und eine Liste von TenantIDs zu einer CreateMeetingCreateMeetingWithAttendeesOder-Anfrage hinzufügen.

Beispiel:

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

Gehen Sie wie folgt vor, um den Zugriff vom Netzwerk einer Organisation auf ihre WebRTC-Mediensitzung in bestimmten Anwendungen zu beschränken:

  1. Führen Sie die Schritte unter Beschränken des Zugriffs auf eine bestimmte Anwendung aus.

  2. Konfigurieren Sie den HTTPS-Proxyserver so, dass er bei ausgehenden Verbindungen einenX-Amzn-Chime-Tenants Header hinzufügt. Fügen Sie eine Liste von AppKeys und TenantiDs hinzu, die durch Semikolons getrennt sind. Beispiel: X-Amzn-Chime-Tenants: AppKey1;tenantId-1,tenantId-2;AppKey2:tenantId-1,tenantId-1

Das Amazon Chime SDK untersucht eingehende WebRTC-Mediensitzungsverbindungen auf denX-Amzn-Chime-Tenants Header und wendet die folgende Logik an:

  • Wenn der Header die Sessions enthältAppKey:tenantId, akzeptieren Sie die Verbindung.

  • Wenn der Header die Sitzung enthält,AppKey aber kein passendes ErgebnistenantId, weisen Sie die Verbindung mit einem 403-Fehler zurück.

  • Wenn der Header die Sessions nicht enthältAppKey, akzeptieren Sie die Verbindung.

  • Wenn der Header die der Sitzung enthältAppKey, für die Sitzung jedoch nicht mindestens eine zulässig isttenantId, lehnen Sie die Verbindung mit einem 403-Fehler ab. Dies kann ein Entwicklerfehler sein.

  • Wenn der -HTTP-Code nicht vorhanden ist, akzeptieren Sie die Verbindung. Wenn Benutzer von außerhalb des Unternehmensnetzwerks auf die Anwendung zugreifen können, können sie auch auf alle Sitzungen zugreifen.

HTTPS-HTTPS-HTTPS-HTT

Im Folgenden finden Sie einige Beispiele für Verwendungsmöglichkeiten für TenantIDs in AppKeys HTTP-HTTP-HTTP-HTTP-HTTP-HTTP-HTTP-HTTP-HTTP-HTTP-HTTP-HTTP-

Eine App mit einem Mandanten

X-Amzn-Chime-App-Keys: AppKey

X-Amzn-Chime-Tenants: AppKey:orgId

Benutzer können in der angegebenen App nur auf die WebRTC-Mediensitzungen der Organisation zugreifen. Alle anderen Apps werden blockiert.

Eine App mit zwei Mietern

X-Amzn-Chime-App-Keys: AppKey

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

Benutzer können in der angegebenen App nur auf die Mediensitzungen für Technik und Vertrieb zugreifen. Alle anderen Apps werden blockiert.

Zwei Apps, eine auf einen Mandanten beschränkt

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

X-Amzn-Chime-Tenants: AppKey1:orgId

Benutzer können in App 1 nur auf die Mediensitzungen der Organisation und in App 2 auf jede Sitzung zugreifen. Alle anderen Apps werden blockiert.