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.
Sie können Sie eine VPC-Endpunktrichtlinie erstellen, um die Sicherheit Ihrer privaten API zu verbessern. Eine VPC-Endpunktrichtlinie ist eine IAM-Ressourcenrichtlinie, die Sie Ihrem VPC-Endpunkt anfügen können. Weitere Informationen finden Sie unter Steuern des Zugriffs auf Services mit VPC-Endpunkten.
Eine VPC-Endpunktrichtlinie für die folgenden Aufgaben wäre zu empfehlen.
Beschränken Sie den Zugriff auf Ihren VPC-Endpunkt und den Aufruf Ihrer API auf bestimmte Organisationen und Ressourcen.
Verwenden Sie eine einzige Richtlinie und vermeiden Sie sitzungs- oder rollenbasierte Richtlinien, um den Datenverkehr zu Ihrer API zu kontrollieren.
Verschärfen Sie den Sicherheitsbereich Ihrer Anwendung bei der Migration von lokal zu. AWS
Erwägungen zur VPC-Endpunktrichtlinie
Im Folgenden finden Sie Überlegungen zu Ihrer VPC-Endpunktrichtlinie.
-
Die Identität des Aufrufers wird anhand des
Authorization
-Header-Werts bewertet. Je nach IhremauthorizationType
kann dies zu einem403 IncompleteSignatureException
oder einem403 InvalidSignatureException
-Fehler führen. Die folgende Tabelle zeigt dieAuthorization
-Header-Werte für die einzelnenauthorizationType
.authorizationType
Authorization
Header ausgewertet?Zulässige
Authorization
Header-WerteNONE
mit der Standardrichtlinie für VollzugriffNein Nicht bestanden NONE
mit einer benutzerdefinierten ZugriffsrichtlinieJa Muss ein gültiger SigV4-Wert sein IAM
Ja Muss ein gültiger SigV4-Wert sein CUSTOM
oderCOGNITO_USER_POOLS
Nein Nicht bestanden Wenn eine Richtlinie den Zugriff auf einen bestimmten IAM-Prinzipal (z. B.
arn:aws:iam::account-id:role/developer
) einschränkt, müssen Sie denauthorizationType
Ihrer API-Methode aufAWS_IAM
oderNONE
setzen. Weitere Anweisungen zum Einstellen desauthorizationType
einer Methode finden Sie unter Methoden für REST APIs in API Gateway.-
VPC-Endpunktrichtlinien können zusammen mit API Gateway-Ressourcenrichtlinien verwendet werden. Die API-Gateway-Ressourcenrichtlinie legt fest, welche Prinzipale auf die API zugreifen können. Die Endpunktrichtlinie legt fest, wer auf die VPC zugreifen APIs kann und welche vom VPC-Endpunkt aus aufgerufen werden können. Für Ihre private API ist eine Ressourcenrichtlinie erforderlich, Sie müssen jedoch keine benutzerdefinierte VPC-Endpunktrichtlinie erstellen.
Beispiele für VPC-Endpunktrichtlinien
Sie können Richtlinien mit folgenden Vorgaben für Endpunkte in der Amazon Virtual Private Cloud für Amazon API Gateway erstellen:
-
Prinzipal, der die Aktionen ausführen kann.
-
Aktionen, die ausgeführt werden können
-
Ressourcen, für die Aktionen ausgeführt werden können
Um die Richtlinie dem VPC-Endpunkt anzufügen, müssen Sie die VPC-Konsole verwenden. Weitere Informationen finden Sie unter Steuern des Zugriffs auf Services mit VPC-Endpunkten.
Beispiel 1: VPC-Endpunktrichtlinie, die zwei Personen Zugriff gewährt APIs
Die folgende Beispielrichtlinie gewährt Zugriff auf nur zwei spezifische APIs über den VPC-Endpunkt, an den die Richtlinie angehängt ist.
{ "Statement": [ { "Principal": "*", "Action": [ "execute-api:Invoke" ], "Effect": "Allow", "Resource": [ "arn:aws:execute-api:
us-east-1
:123412341234
:a1b2c3d4e5
/*", "arn:aws:execute-api:us-east-1
:123412341234
:aaaaa11111
/*" ] } ] }
Beispiel 2: VPC-Endpunktrichtlinie, die Zugriff auf GET-Methoden gewährt
Die folgende Beispielrichtlinie gewährt Benutzern über den VPC-Endpunkt, dem die Richtlinie angefügt ist, Zugriff auf GET
-Methoden für eine bestimmte API.
{ "Statement": [ { "Principal": "*", "Action": [ "execute-api:Invoke" ], "Effect": "Allow", "Resource": [ "arn:aws:execute-api:
us-east-1
:123412341234
:a1b2c3d4e5
/stageName
/GET/*" ] } ] }
Beispiel 3: VPC-Endpunktrichtlinie, die einem bestimmten Benutzer Zugriff auf eine bestimmte API gewährt
Die folgende Beispielrichtlinie gewährt über den VPC-Endpunkt, dem die Richtlinie angefügt ist, einem bestimmten Benutzer Zugriff auf eine bestimmte API.
In diesem Fall müssen Sie den authorizationType
der Methode auf AWS_IAM
oder NONE
setzen, da die Richtlinie den Zugriff auf bestimmte IAM-Prinzipale einschränkt.
{ "Statement": [ { "Principal": { "AWS": [ "arn:aws:iam::123412341234:user/
MyUser
" ] }, "Action": [ "execute-api:Invoke" ], "Effect": "Allow", "Resource": [ "arn:aws:execute-api:us-east-1
:123412341234
:a1b2c3d4e5
/*" ] } ] }
Beispiel 4: Eine VPC-Endpunktrichtlinie, die Benutzern Zugriff auf einen bestimmten benutzerdefinierten Domainnamen und alle der Domain zugeordneten API gewährt
Die folgende Beispielrichtlinie gewährt Benutzern Zugriff auf einen bestimmten benutzerdefinierten Domainnamen für private Zwecke APIs über den VPC-Endpunkt, an den die Richtlinie angehängt ist. Mit dieser Richtlinie kann der Benutzer, solange er eine Zuordnung für den Domainnamen-Zugriff zwischen dem VPC-Endpunkt und dem benutzerdefinierten Domainnamen erstellt hat und Zugriff auf den benutzerdefinierten Domainnamen und alle privaten APIs erhält, die dem benutzerdefinierten Domainnamen zugeordnet sind, alle diesem benutzerdefinierten Domainnamen APIs zugewiesenen APIs aufrufen. Weitere Informationen finden Sie unter Benutzerdefinierte Domainnamen für private Zwecke APIs in API Gateway.
{ "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "execute-api:Invoke", "Resource": [ "*" ], "Condition": { "ArnEquals": { "execute-api:viaDomainArn": "arn:aws:execute-api:us-west-2:111122223333:/domainnames/private.test.com+f4g5h6", } } } ] }
Beispiel 5: VPC-Endpunktrichtlinie, die den Zugriff auf bestimmte Ressourcen APIs und Domänenressourcen gewährt oder verweigert
Die folgende Beispielrichtlinie gewährt Benutzern Zugriff auf spezifische Ressourcen APIs und Domänenressourcen. Mit dieser Richtlinie kann der Benutzer zulässige private Ressourcen und Domänenressourcen aufrufen, sofern er eine Zuordnung für den Domainnamen-Zugriff zwischen dem VPC-Endpunkt und dem benutzerdefinierten Domänennamen erstellt hat und Zugriff auf den benutzerdefinierten Domainnamen und alle privaten APIs erhält, die dem benutzerdefinierten Domänennamen zugeordnet sind. APIs Weitere Informationen finden Sie unter Benutzerdefinierte Domainnamen für private Zwecke APIs in API Gateway.
{ "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "execute-api:Invoke", "Resource": [ "arn:aws:execute-api:us-west-2:111122223333:/domainnames/private.test.com+f4g5h6", "arn:aws:execute-api:us-west-2:111122223333:a1b2c3d4e5/*" ] }, { "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": "execute-api:Invoke", "Resource": [ "arn:aws:execute-api:us-west-2:111122223333:a1b2c3d4e5/admin/*", "arn:aws:execute-api:us-west-2:111122223333:bcd123455/*" ] } ] }