Konzepte und Grundlagen

Grundlegende Konzepte verstehen

Die C2C-API stützt sich auf mehrere wichtige Technologien, die Sie kennen sollten, bevor Sie mit einem Integrationsprojekt beginnen.Lesen Sie die Überschriften in diesem Artikel. Wenn Begriffe nicht bekannt sind, hilft Ihnen dieser Leitfaden, diese Wissenslücken zu schließen.Wenn Sie mit bestimmten Konzepten Schwierigkeiten haben, steht Ihnen unser Team zur Verfügung, um zusätzliche Ressourcen und Unterstützung bereitzustellen.

Was Sie wissen müssen

Um eine erfolgreiche Integration mit der C2C-API zu ermöglichen, sollten Sie über folgende Grundkenntnisse verfügen:

Netzwerke

TLS/SSL, TCP/IP-Protokolle und Netzwerkgrundlagen

HTTPS

Implementierung sicherer HTTPS-Anfragen

Auth

Authentifizierungs- und Autorisierungsmethoden

Grundlagen des Netzwerkbetriebs und Glossar

Im Kern ermöglicht die Frame.io-API die Kommunikation zwischen den Servern von Frame.io und Ihrem Gerät oder Ihrer Anwendung, wobei für jeden Vorgang Netzwerkinteraktionen erforderlich sind.

Eine klare Kommunikation ist in jeder Beziehung unerlässlich, auch zwischen Servern und Clients.Genauso wie es im alltäglichen Gespräch zu Missverständnissen kommen kann, gibt es ähnliche Herausforderungen, wenn Computer Informationen austauschen.

Neben der Lösung von Standard-Kommunikationsproblemen müssen wir die sichere Übertragung sensibler Daten sicherstellen.Frame.io erfordert die Verschlüsselung der gesamten Serverkommunikation und fügt dem Prozess die erforderlichen Sicherheitsebenen hinzu.

Bei der Implementierung der C2C-API werden Sie wahrscheinlich Bibliotheken von Drittanbietern verwenden, um Netzwerkdetails zu verarbeiten.Da Netzwerkkomponenten jedoch häufig reale Fehler verursachen, ist es wichtig, die zugrunde liegenden Prozesse bei der Interaktion mit Frame.io-Servern zu verstehen.Hier finden Sie ein kurzes Glossar mit wichtigen Begriffen:

TCP/IP

Transmission Control Protocol/Internet Protocol – standardisierte Komponenten und Ebenen, die eine globale Datenübertragung ermöglichen.Für weitere Informationen empfehlen wir diese leicht verständliche, allgemein gehaltene Informationsquelle.

TLS/SSL

Transport Layer Security/Secure Socket Layer – Diese Ebenen unterscheiden sich zwar technisch, werden aber häufig synonym genannt.TLS steht für die Entwicklung von SSL, obwohl das ursprüngliche Akronym weiterhin weitverbreitet ist.Weitere Informationen zu TLS finden Sie in dieser Übersicht.

Öffentliche und private Schlüssel

Ein öffentlicher Schlüssel funktioniert wie ein Schloss, während ein privater Schlüssel als entsprechender Schlüssel dient.

Stellen Sie sich dieses Szenario vor: Sie möchten eine vertrauliche Nachricht an ein Teammitglied senden und dabei bis zur Zustellung den Datenschutz gewährleisten.

Bitten Sie zunächst Ihr Teammitglied, Ihnen ein Schloss zuzusenden, für das nur das Teammitglied den Schlüssel hat.

Sobald Sie dieses Schloss erhalten haben, bewahren Sie Ihre vertrauliche Nachricht in einem Container auf, der dieses Schloss verwendet.Zwar kann jeder, der mit dem Container arbeitet, das Schloss sehen, aber nur Ihr Teammitglied hat den Schlüssel, um auf den Inhalt zuzugreifen.So können unbefugte Personen nicht auf die Nachricht zugreifen.Selbst Sie haben ohne den Schlüssel keinen Zugriff.

Wenn Ihr Teammitglied den gesicherten Container erhält, verwendet es einfach ihren Schlüssel, um auf den Inhalt zuzugreifen.

Öffentliche und private Schlüssel funktionieren auf die gleiche Weise.Sie können einen öffentlichen Schlüssel allgemein freigeben.Empfangende verschlüsseln Nachrichten mit diesem Schlüssel, aber nur wer den privaten Schlüssel hat, kann diese Kommunikation entschlüsseln.Solange der private Schlüssel geheim bleibt, kann der öffentliche Schlüssel nicht dazu verwendet werden, die damit verschlüsselten Nachrichten zu entschlüsseln.

Dieser Mechanismus für öffentliche/private Schlüssel unterstützt die TLS-Funktionalität, sodass Parteien offen kommunizieren und gleichzeitig sichere, private Kanäle einrichten können.

Zertifikate

Zertifikate enthalten öffentliche und private Schlüssel, die von vertrauenswürdigen Zertifizierungsstellen beglaubigt wurden.

Wenn eine Zertifizierungsstelle einen Schlüssel validiert, wird die Authentizität des Schlüssels im Wesentlichen bestätigt.Empfangende eines öffentlichen Schlüssels, wie z. B. von Google, können diese Bestätigung von anerkannten Zertifizierungsstellen verifizieren.Nicht bestätigte Schlüssel gelten als potenziell betrügerisch und lösen Sicherheitswarnungen aus.

Die Zertifikate von Frame.io werden von der Amazon Root CA 1-Zertifizierungsstelle validiert.Diese Zertifikate sind über verschiedene Ressourcen verfügbar, einschließlich der Certifi-Bibliothek (die von Mozilla und der Python-Requests-Bibliothek verwendet wird).

Für die Implementierung empfehlen wir das Certifi GitHub-Repository und das PEM-Zertifikatspaket, um HTTPS-Anfragen an api.frame.io zu validieren.

Server

Ein Computer, der Informationen für andere Computer bereitstellt oder speichert.Wenn Sie über einen Webbrowser auf Frame.io zugreifen, fordert Ihr Browser Inhalte vom Frame.io-Server an, der entsprechend reagiert.Jede Aktion in Frame.io löst eine Kommunikation zwischen Ihrem Browser und unserem Server aus, der Ihre Anfrage verarbeitet und entsprechende Ergebnisse liefert.Beim Upload von Medien auf Frame.io senden Sie diese an unsere Server.

Client

Eine Client-Anwendung fordert Informationen von einem Server an oder sendet Daten an einen Server.Bei der Implementierung der C2C-API entwickeln Sie einen C2C-Client.

HTTP/S

Hypertext Transfer Protocol/Secure – arbeitet innerhalb der Anwendungsebene des TCP/IP-Modells.Der Unterschied zwischen HTTP und HTTPS ist Sicherheit – HTTPS umfasst eine TLS/SSL-Verifizierung in die Netzwerkkommunikation.HTTP hat sich im Laufe der Zeit über verschiedene Versionen hinweg weiterentwickelt und dabei immer wieder neue Standards gesetzt.Version 1.1 bleibt der globale Standard und sollte für die Frame.io-API-Kommunikation verwendet werden.

RESTful-API

REST (Representational State Transfer) ist eine Konstruktionsmethodik für die Entwicklung von APIs auf der Grundlage von HTTP-Anfrage-Antwortmustern.REST dient oft als Kurzform für den allgemeinen Ansatz, HTTP für die Interaktion zwischen Programmen zu nutzen – im Gegensatz zur Kommunikation zwischen Browser und Webseite –, selbst wenn die API nicht streng nach den REST-Prinzipien aufgebaut ist.

JSON

JavaScript Object Notation – ein standardisiertes Datenaustauschformat.Obwohl es ursprünglich für JavaScript-Objekte entwickelt wurde, hat es sich zu einem universellen Standard für die Netzwerkkommunikation entwickelt.Die C2C-API liefert Antworten als JSON-Daten.

AWS S3

Der Simple Storage Service von Amazon bietet Cloud-basierte Datenspeicherlösungen.S3 speichert Video- und Audiomedien von Frame.io und dient als Ziel für Integrations-Uploads.

HTTP/S-Anfragen

HTTP ist beim Surfen im Internet allgegenwärtig – es steht am Anfang fast jeder Website-Adresse.HTTP (Hypertext Transfer Protocol) etabliert standardisierte Computer-zu-Computer-Kommunikationsprotokolle.

Man kann sich HTTP als ein standardisiertes Formularsystem für Client-Server-Interaktionen vorstellen – ähnlich wie die behördlichen Formulare, die für Informationsanfragen oder Programmanträge erforderlich sind.Ohne ordnungsgemäß ausgefüllte Formulare können Behörden Anfragen nicht bearbeiten oder beantworten.

HTTP-Anfragen erleichtern alle Frame.io-Anwendungsinteraktionen.Innerhalb des C2C-API-Frameworks stellen HTTP-Anfragetypen die verfügbaren funktionalen Fähigkeiten dar.

Eine umfassende HTTP-Übersicht finden Sie in diesem informativen Artikel.Bevor Sie fortfahren, müssen Sie diese Grundlagen verstehen.Wenn Sie noch keine Erfahrung mit HTTP-Anfragen haben, sollten Sie sich zunächst mit den Einführungsmaterialien vertraut machen.Machen Sie sich als optimale Vorbereitung mit den folgenden HTTP-Konzepten vertraut:

URL-Komponenten
  • Protokoll

  • Host

  • Port

  • Ressource

HTTP-Elemente
  • Header

  • Inhalts-Typ/Mimetype

  • Anfrage- und Antwort-Payloads

  • HTTP-Verb-Anwendungen: GET, POST, PUT, DELETE usw.

  • Formulardaten

Während Netzwerkbibliotheken in der Regel die Erstellung von Anfragen übernehmen, bietet der HTTP/1.1-RFC bei Bedarf eine Referenzquelle.

Authentifizierung und Autorisierung

Wir werden diese Konzepte später noch genauer untersuchen, aber es ist wichtig, diese grundlegenden Prinzipien zu verstehen:

Authentifizierung

Bei der Authentifizierung wird überprüft, ob Anfragen tatsächlich von den angegebenen Quellen stammen.Wenn Sie sich mit Benutzername und Passwort auf Websites anmelden, weisen Sie durch die Eingabe des Passworts nach, dass Sie der richtige Benutzende sind.Die Multi-Faktor-Authentifizierung – beispielsweise der Erhalt von Bestätigungscodes per SMS – stellt einen zusätzlichen Authentifizierungsmechanismus dar.

Autorisierung

Eine Autorisierung bestätigt die Berechtigung zur Durchführung bestimmter Aktionen.Wenn Sie Mitwirkende zu Frame.io-Projekten oder Google-Dokumenten hinzufügen, erteilen Sie ihnen Zugriffsrechte.Frame.io oder Google haben die Identität dieser Benutzenden bereits überprüft, sodass Sie deren Teilnahme bedenkenlos genehmigen können.

OAuth

OAuth (Open Authorization) bietet einen standardisierten Rahmen für das Autorisierungsmanagement durch die Integration mit Authentifizierungsdiensten von Drittanbietern.

Gültigkeitsbereiche

Gültigkeitsbereiche definieren die autorisierten Aktionen, die Benutzenden zur Verfügung stehen.Wenn Sie Geräte mit Frame.io verbinden, fordern Sie bestimmte Gültigkeitsbereiche an, die bestimmte Vorgänge autorisieren, und erhalten diese.Beispiel: Der Gültigkeitsbereich asset_create ermöglicht die Erstellung und den Upload von Anlagen.Konzeptionell funktionieren Gültigkeitsbereiche als Berechtigungssets.

Nächste Schritte

Wir empfehlen Ihnen, sich bei Fragen an unser Team zu wenden und mit dem nächsten Abschnitt in diesem Leitfaden fortzufahren.Wir freuen uns darauf, Ihren Integrationsprozess zu unterstützen.

Einen technischen Überblick finden Sie im Leitfaden zur Integrationsarchitektur.Wenn Sie es noch nicht getan haben, lesen Sie bitte den Leitfaden C2C implementieren: Einrichtung, bevor Sie fortfahren.Sie benötigen den access_token, den Sie während des Authentifizierungs- und Autorisierungsprozesses erhalten haben.