API-Sicherheit priorisieren
Alle Anwendungen müssen sicherstellen, dass nur autorisierte Clients Zugriff auf ihre API-Ressourcen haben. Beim Entwerfen einer mehrschichtigen Anwendung können Sie verschiedene Möglichkeiten nutzen, mit denen Amazon API Gateway zur Sicherung Ihrer Logikschicht beiträgt:
Übertragungssicherheit
Alle Anfragen an Ihre APIs können über HTTPS gestellt werden, um die Verschlüsselung während der Übertragung zu ermöglichen.
API Gateway bietet integrierte SSL-/TLS-Zertifikate. Wenn Sie die Option für benutzerdefinierte Domänennamen für öffentlich zugängliche APIs verwenden, können Sie mit AWS Certificate Manager
API-Autorisierung
Jeder Ressourcen-/Methodenkombination, die Sie als Teil Ihrer API erstellen, wird ein individueller Amazon-Ressourcenname (ARN) zugewiesen, auf den in AWS Identity and Access Management (IAM)-Richtlinien verwiesen werden kann.
Es gibt drei allgemeine Methoden, um einer API in API Gateway eine Autorisierung hinzuzufügen:
-
IAM-Rollen und -Richtlinien: Clients verwenden die Autorisierung mit AWS Signature Version 4 (SigV4) sowie IAM-Richtlinien für den API-Zugriff. Dieselben Anmeldeinformationen können den Zugriff auf andere AWS-Services und -Ressourcen nach Bedarf einschränken oder zulassen (z. B. Amazon S3-Buckets oder Amazon DynamoDB-Tabellen).
-
Amazon Cognito-Benutzerpools: Clients melden sich über einen Amazon Cognito-Benutzerpool
an und erhalten Token, die im Autorisierungs-Header einer Anforderung enthalten sind. -
Lambda-Genehmiger: Definieren Sie eine Lambda-Funktion, die ein benutzerdefiniertes Autorisierungsschema implementiert, das eine Träger-Token-Strategie (z. B. OAuth und SAML) oder Anforderungsparameter verwendet, um Benutzer zu identifizieren.
Zugriffsbeschränkungen
API Gateway unterstützt die Generierung von API-Schlüsseln und die Verknüpfung dieser Schlüssel mit einem konfigurierbaren Nutzungsplan. Sie können die Verwendung von API-Schlüsseln mit CloudWatch überwachen.
API Gateway unterstützt Drosselung, Ratenbegrenzungen und Burst-Ratenbegrenzungen für jede Methode in Ihrer API.
Private APIs
Mit API Gateway können Sie private REST-APIs erstellen, auf die nur von Ihrer Virtual Private Cloud in Amazon VPC aus zugegriffen werden kann, indem Sie einen Schnittstellen-VPC-Endpunkt verwenden. Dies ist eine Endpunkt-Netzwerkschnittstelle, die Sie in Ihrer VPC erstellen.
Mithilfe von Ressourcen-Richtlinien können Sie den Zugriff auf Ihre API von ausgewählten VPCs und VPC-Endpunkten aus ermöglichen oder verweigern, darunter auch über AWS-Konten. Jeder Endpunkt kann für den Zugriff auf mehrere APIs verwendet werden. Sie können außerdem AWS Direct Connect verwenden, um eine Verbindung von einem On-Premise-Netzwerk zu Amazon VPC herzustellen und über diese Verbindung auf Ihre private API zuzugreifen.
In allen Fällen verwendet der Datenverkehr zu Ihrer privaten API eine sichere Verbindung und verlässt nicht das Amazon-Netzwerk. Er ist vom öffentlichen Internet isoliert.
Firewall-Schutz mit AWS WAF
APIs, auf die über das Internet zugegriffen wird, sind anfällig für böswillige Angriffe. AWS WAF ist eine Webanwendungs-Firewall, die APIs vor solchen Angriffen schützt. Es schützt APIs vor gängigen Web-Exploits wie SQL-Injection- und Cross-Site-Scripting-Angriffen. Sie können AWS WAF