Verwendung von 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.

Verwendung von AppKeys und TenantIDs

Sie können MandantenIDs verwenden AppKeys , 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 Echtzeitvideos über UDP senden und empfangen. Anwendungsbenutzer benötigen UDP-Zugriff auf das CHIME_MEETINGSSubnetz. Organizations (Netzwerkbesitzer) können TenantIDs verwenden AppKeys , 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, aber App-B und alle anderen Anwendungen blockieren, die das Amazon Chime SDK verwenden. Organizations können das mit App-As AppKey und einem HTTPS-Proxy tun. Weitere Informationen finden Sie weiter Beschränken Sie den Zugriff auf eine bestimmte Anwendung unten in diesem Thema.

Beispiel 2: Verwenden von AppKeys und tenantIDs

Wenn App-A öffentlich verfügbar ist und von vielen Kunden verwendet wird, möchte ein Unternehmen möglicherweise App-A den Zugriff auf WebRTC-Mediensitzungen von seinem Netzwerk aus nur dann gestatten, wenn ihre Benutzer an der Sitzung teilnehmen, und den Zugriff auf alle anderen App-A-Sitzungen blockieren. Organizations können dies tun, indem sie die Anwendung AppKey, die TenantID der Organisation und einen HTTPS-Proxy verwenden. Weitere Informationen finden Sie weiter unten Beschränken Sie den Zugriff auf einen bestimmten Mandanten in diesem Thema.

Um MandantenIDs verwenden AppKeys 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 TenantIDs funktionieren AppKeys .

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

In der Abbildung hat App-A die Mandanten A-1 und A-2 und App-B 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 Tenant A-1 zur Sitzung zu.

Beschränken Sie den Zugriff auf eine bestimmte Anwendung

An AppKeyist ein konsistenter, eindeutiger 256-Bit-Wert, den Amazon Chime für jedes Konto erstellt. AWS Wenn Sie keine haben AppKey, können Sie eine beim Amazon Support anfordern. Wenn Sie mehrere AWS Konten haben, können Sie ein gemeinsames Konto AppKey für alle Ihre Konten beantragen.

Anmerkung

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

Das Amazon Chime SDK ordnet jede WebRTC-Mediensitzung automatisch einer zu, die auf der AWS 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 das CHIME_MEETINGS Subnetz weiter.

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

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

    X-Amzn-Chime-App-Keys:AppKey-A,AppKey-B,AppKey-CErmöglicht beispielsweise den Apps, die diesen Apps zugeordnet sind, den Zugriff AppKeys auf das Subnetz.

Das Amazon Chime SDK überprüft eingehende WebRTC-Mediensitzungsverbindungen auf den X-Amzn-Chime-App-Keys Header und wendet die folgende Logik an:

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

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

  3. Wenn der X-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 Sie den Zugriff auf einen bestimmten Mandanten

Eine TenantID ist eine undurchsichtige Kennung, die von Entwicklern erstellt wurde. Denken Sie bei TenantIDs an Folgendes:

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

  • TenantIDs unterscheiden zwischen Groß- und Kleinschreibung. Geben Sie sie genau so ein, wie es vom Entwickler vorgeschrieben wurde.

  • 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 die TenantIds Eigenschaft und eine Liste von TenantIDs zu einer OR-Anfrage hinzufügen. CreateMeetingCreateMeetingWithAttendees

Beispielsweise:

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 Sie den Zugriff auf eine bestimmte Anwendung aus.

  2. Konfigurieren Sie den HTTPS-Proxyserver so, dass er bei ausgehenden Verbindungen einen X-Amzn-Chime-Tenants Header hinzufügt. Fügen Sie eine Liste von AppKeys und TenantIDs hinzu, getrennt wie in diesem Beispiel gezeigt: X-Amzn-Chime-Tenants: AppKey-A:tenantId-A-1,tenantId-A-2;AppKey-B:tenantId-B-1,tenantId-B-2

Das Amazon Chime SDK überprüft eingehende WebRTC-Mediensitzungsverbindungen auf den X-Amzn-Chime-Tenants Header und wendet die folgende Logik an:

  • Wenn der Header die der Sitzung enthält, akzeptieren Sie die VerbindungAppKey:tenantId.

  • Wenn der Header die Daten der Sitzung enthält, AppKey aber keine passenden Informationen enthälttenantId, lehnen Sie die Verbindung mit einem 403-Fehler ab.

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

  • Wenn der Header die Daten 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 Entwickler-Bug sein.

  • Wenn der 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 alle Sitzungen zugreifen.

Beispiele für HTTPS-Header

Die folgenden Beispiele zeigen einige AppKeys Verwendungsmöglichkeiten von TenantIDs in HTTPS-Headern.

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 sind blockiert.

Eine App mit zwei Mandanten

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 sind blockiert.

Zwei Apps, eine ist 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 sind blockiert.