Lambda-Funktionen Zugriff auf Ressourcen in einer Amazon VPC gewähren - AWS Lambda

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.

Lambda-Funktionen Zugriff auf Ressourcen in einer Amazon VPC gewähren

Mit Amazon Virtual Private Cloud (Amazon VPC) können Sie private Netzwerke in Ihren AWS-Konto Host-Ressourcen wie Amazon Elastic Compute Cloud (Amazon EC2) -Instances, Amazon Relational Database Service (Amazon RDS) -Instances und Amazon-Instances erstellen. ElastiCache Sie können Ihrer Lambda-Funktion Zugriff auf Ressourcen gewähren, die in einer Amazon-VPC gehostet werden, indem Sie Ihre Funktion über die privaten Subnetze, die die Ressourcen enthalten, an die VPC anhängen. Folgen Sie den Anweisungen in den folgenden Abschnitten, um eine Lambda-Funktion über die Lambda-Konsole, die AWS Command Line Interface (AWS CLI) oder an eine Amazon VPC anzuhängen. AWS SAM

Anmerkung

Jede Lambda-Funktion wird in einer VPC ausgeführt, die dem Lambda-Service gehört und von diesem verwaltet wird. Diese VPCs werden automatisch von Lambda verwaltet und sind für Kunden nicht sichtbar. Die Konfiguration Ihrer Funktion für den Zugriff auf andere AWS Ressourcen in einer Amazon VPC hat keine Auswirkungen auf die von Lambda verwaltete VPC, in der Ihre Funktion ausgeführt wird.

Erforderliche IAM-Berechtigungen

Um eine Lambda-Funktion an eine Amazon-VPC in Ihrer anzuhängen AWS-Konto, benötigt Lambda Berechtigungen zum Erstellen und Verwalten der Netzwerkschnittstellen, die es verwendet, um Ihrer Funktion Zugriff auf die Ressourcen in der VPC zu gewähren.

Die von Lambda erstellten Netzwerkschnittstellen werden als Hyperplane Elastic Network Interfaces oder Hyperplane ENIs bezeichnet. Weitere Informationen zu diesen Netzwerkschnittstellen finden Sie unter. Grundlegendes zu Hyperplane Elastic Network Interfaces (ENIs)

Sie können Ihrer Funktion die erforderlichen Berechtigungen erteilen, indem Sie die AWS verwaltete Richtlinie der Ausführungsrolle Ihrer Funktion AWSLambdaVPCAccessExecutionRolezuordnen. Wenn Sie eine neue Funktion in der Lambda-Konsole erstellen und sie an eine VPC anhängen, fügt Lambda diese Berechtigungsrichtlinie automatisch für Sie hinzu.

Wenn Sie es vorziehen, Ihre eigene IAM-Berechtigungsrichtlinie zu erstellen, stellen Sie sicher, dass Sie alle der folgenden Berechtigungen hinzufügen:

  • ec2: Schnittstelle CreateNetwork

  • ec2: DescribeNetwork Interfaces — Diese Aktion funktioniert nur, wenn sie auf allen Ressourcen erlaubt ist ()"Resource": "*".

  • ec2: DescribeSubnets

  • ec2: DeleteNetwork Interface — Wenn Sie in der Ausführungsrolle keine Ressourcen-ID für DeleteNetworkInterface angeben, kann Ihre Funktion möglicherweise nicht auf die VPC zugreifen. Geben Sie entweder eine eindeutige Ressourcen-ID an oder schließen Sie alle Ressourcen-IDs ein, z. B. "Resource": "arn:aws:ec2:us-west-2:123456789012:*/*".

  • ec2: AssignPrivate IpAddresses

  • ec2: UnassignPrivate IpAddresses

Beachten Sie, dass die Rolle Ihrer Funktion diese Berechtigungen nur benötigt, um die Netzwerkschnittstellen zu erstellen, nicht aber, um Ihre Funktion aufzurufen. Sie können Ihre Funktion immer noch erfolgreich aufrufen, wenn sie an eine Amazon VPC angehängt ist, auch wenn Sie diese Berechtigungen aus der Ausführungsrolle Ihrer Funktion entfernen.

Um Ihre Funktion an eine VPC anzuhängen, muss Lambda auch Netzwerkressourcen mithilfe Ihrer IAM-Benutzerrolle verifizieren. Stellen Sie sicher, dass Ihre Benutzerrolle über die folgenden IAM-Berechtigungen verfügt:

  • ec2: Gruppen DescribeSecurity

  • ec2: DescribeSubnets

  • ec2: DescribeVpcs

Anmerkung

Die Amazon EC2 EC2-Berechtigungen, die Sie der Ausführungsrolle Ihrer Funktion gewähren, werden vom Lambda-Service verwendet, um Ihre Funktion an eine VPC anzuhängen. Sie gewähren diese Berechtigungen jedoch auch implizit für den Code Ihrer Funktion. Das bedeutet, dass Ihr Funktionscode diese Amazon EC2 EC2-API-Aufrufe ausführen kann. Hinweise zu den folgenden bewährten Sicherheitsmethoden finden Sie unterBewährte Methoden für die Gewährleistung der Sicherheit.

Hinzufügen von Lambda-Funktionen zu einer Amazon VPC in Ihrem AWS-Konto

Verbinden Sie Ihre Funktion mit einer Amazon VPC in Ihrem, AWS-Konto indem Sie die Lambda-Konsole verwenden, oder. AWS CLI AWS SAM Wenn Sie das AWS CLI oder verwenden oder AWS SAM eine bestehende Funktion mithilfe der Lambda-Konsole an eine VPC anhängen, stellen Sie sicher, dass die Ausführungsrolle Ihrer Funktion über die erforderlichen Berechtigungen verfügt, die im vorherigen Abschnitt aufgeführt sind.

Lambda-Funktionen können keine direkte Verbindung mit einer VPC mit Dedicated-Instance-Tenancy herstellen. Zum Herstellen einer Verbindung mit Ressourcen in einer dedizierten VPC verbinden Sie sie mit einer zweiten VPC mit Standard-Tenancy.

Lambda console
Um eine Funktion an eine Amazon VPC anzuhängen, wenn Sie sie erstellen
  1. Öffnen Sie die Seite Functions (Funktionen) der Lambda-Konsole und wählen Sie Create function (Funktion erstellen) aus.

  2. Geben Sie unter Basic information (Grundlegende Informationen) bei Function name (Funktionsname) einen Namen für Ihre Funktion ein.

  3. Konfigurieren Sie die VPC-Einstellungen für die Funktion, indem Sie wie folgt vorgehen:

    1. Erweiterten Sie Advanced settings (Erweiterte Einstellungen).

    2. Wählen Sie VPC aktivieren und wählen Sie dann die VPC aus, an die Sie die Funktion anhängen möchten.

    3. (Optional) Um ausgehenden IPv6-Verkehr zuzulassen, wählen Sie Allow IPv6 traffic for dual-stack subnets (IPv6-Verkehr für Dual-Stack-Subnetze zulassen) aus.

    4. Wählen Sie die Subnetze und Sicherheitsgruppen aus, für die Sie die Netzwerkschnittstelle erstellen möchten. Wenn Sie Allow IPv6 traffic for dual-stack subnets (IPv6-Verkehr für Dual-Stack-Subnetze zulassen) ausgewählt haben, müssen alle ausgewählten Subnetze einen IPv4-CIDR-Block und einen IPv6-CIDR-Block besitzen.

      Anmerkung

      Verbinden Sie Ihre Funktion für den Zugriff auf private Ressourcen mit privaten Subnetzen. Wenn Ihre Funktion Internetzugang benötigt, finden Sie weitere Informationen unterAktivieren Sie den Internetzugang für mit VPN verbundene Lambda-Funktionen. Durch die Verbindung einer Funktion mit einem öffentlichen Subnetz erhält sie weder Internetzugang noch eine öffentliche IP-Adresse.

  4. Wählen Sie Create function (Funktion erstellen).

Um eine bestehende Funktion an eine Amazon VPC anzuhängen
  1. Öffnen Sie die Funktionsseite der Lambda-Konsole und wählen Sie Ihre Funktion aus.

  2. Wählen Sie die Registerkarte Konfiguration und dann VPC.

  3. Wählen Sie Bearbeiten aus.

  4. Wählen Sie unter VPC die Amazon VPC aus, an die Sie Ihre Funktion anhängen möchten.

  5. (Optional) Um ausgehenden IPv6-Verkehr zuzulassen, wählen Sie Allow IPv6 traffic for dual-stack subnets (IPv6-Verkehr für Dual-Stack-Subnetze zulassen) aus.

  6. Wählen Sie die Subnetze und Sicherheitsgruppen aus, für die Sie die Netzwerkschnittstelle erstellen möchten. Wenn Sie Allow IPv6 traffic for dual-stack subnets (IPv6-Verkehr für Dual-Stack-Subnetze zulassen) ausgewählt haben, müssen alle ausgewählten Subnetze einen IPv4-CIDR-Block und einen IPv6-CIDR-Block besitzen.

    Anmerkung

    Verbinden Sie Ihre Funktion für den Zugriff auf private Ressourcen mit privaten Subnetzen. Wenn Ihre Funktion Internetzugang benötigt, finden Sie weitere Informationen unterAktivieren Sie den Internetzugang für mit VPN verbundene Lambda-Funktionen. Durch die Verbindung einer Funktion mit einem öffentlichen Subnetz erhält sie weder Internetzugang noch eine öffentliche IP-Adresse.

  7. Wählen Sie Save aus.

AWS CLI
Um eine Funktion an eine Amazon VPC anzuhängen, wenn Sie sie erstellen
  • Führen Sie den folgenden create-function CLI-Befehl aus, um eine Lambda-Funktion zu erstellen und sie an eine VPC anzuhängen.

    aws lambda create-function --function-name my-function \ --runtime nodejs20.x --handler index.js --zip-file fileb://function.zip \ --role arn:aws:iam::123456789012:role/lambda-role \ --vpc-config Ipv6AllowedForDualStack=true,SubnetIds=subnet-071f712345678e7c8,subnet-07fd123456788a036,SecurityGroupIds=sg-085912345678492fb

    Geben Sie Ihre eigenen Subnetze und Sicherheitsgruppen an und legen Sie Ipv6AllowedForDualStack sie auf true oder false entsprechend Ihrem Anwendungsfall fest.

Um eine bestehende Funktion an eine Amazon VPC anzuhängen
  • Führen Sie den folgenden update-function-configuration CLI-Befehl aus, um eine vorhandene Funktion an eine VPC anzuhängen.

    aws lambda update-function-configuration --function-name my-function \ --vpc-config Ipv6AllowedForDualStack=true, SubnetIds=subnet-071f712345678e7c8,subnet-07fd123456788a036,SecurityGroupIds=sg-085912345678492fb
So trennen Sie Ihre Funktion von einer VPC
  • Um Ihre Funktion von einer VPC zu trennen, führen Sie den folgenden update-function-configuration CLI-Befehl mit einer leeren Liste von VPC-Subnetzen und Sicherheitsgruppen aus.

    aws lambda update-function-configuration --function-name my-function \ --vpc-config SubnetIds=[],SecurityGroupIds=[]
AWS SAM
So hängen Sie Ihre Funktion an eine VPC an
  • Um eine Lambda-Funktion an eine Amazon VPC anzuhängen, fügen Sie die VpcConfig Eigenschaft zu Ihrer Funktionsdefinition hinzu, wie in der folgenden Beispielvorlage gezeigt. Weitere Informationen zu dieser Eigenschaft finden Sie unter AWS: :Lambda: :Function VpcConfig im AWS CloudFormation Benutzerhandbuch (die AWS SAM VpcConfig Eigenschaft wird direkt an die VpcConfig Eigenschaft einer AWS CloudFormation AWS::Lambda::Function Ressource übergeben).

    AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Resources: MyFunction: Type: AWS::Serverless::Function Properties: CodeUri: ./lambda_function/ Handler: lambda_function.handler Runtime: python3.12 VpcConfig: SecurityGroupIds: - !Ref MySecurityGroup SubnetIds: - !Ref MySubnet1 - !Ref MySubnet2 Policies: - AWSLambdaVPCAccessExecutionRole MySecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: Security group for Lambda function VpcId: !Ref MyVPC MySubnet1: Type: AWS::EC2::Subnet Properties: VpcId: !Ref MyVPC CidrBlock: 10.0.1.0/24 MySubnet2: Type: AWS::EC2::Subnet Properties: VpcId: !Ref MyVPC CidrBlock: 10.0.2.0/24 MyVPC: Type: AWS::EC2::VPC Properties: CidrBlock: 10.0.0.0/16

    Weitere Informationen zur Konfiguration Ihrer VPC in AWS SAM finden Sie unter AWS: :EC2: :VPC im Benutzerhandbuch.AWS CloudFormation

Internetzugang bei Verbindung mit einer VPC

Standardmäßig haben Lambda-Funktionen Zugriff auf das öffentliche Internet. Wenn Sie Ihre Funktion an eine VPC anhängen, kann sie nur auf Ressourcen zugreifen, die in dieser VPC verfügbar sind. Um Ihrer Funktion Zugriff auf das Internet zu gewähren, müssen Sie die VPC auch für den Internetzugang konfigurieren. Weitere Informationen hierzu finden Sie unter Aktivieren Sie den Internetzugang für mit VPN verbundene Lambda-Funktionen.

Bewährte Methoden für die Verwendung von Lambda mit Amazon VPCs

Um sicherzustellen, dass Ihre Lambda-VPC-Konfiguration den Best-Practice-Richtlinien entspricht, befolgen Sie die Hinweise in den folgenden Abschnitten.

Bewährte Methoden für die Gewährleistung der Sicherheit

Um Ihre Lambda-Funktion an eine VPC anzuhängen, müssen Sie der Ausführungsrolle Ihrer Funktion eine Reihe von Amazon EC2 EC2-Berechtigungen erteilen. Diese Berechtigungen sind erforderlich, um die Netzwerkschnittstellen zu erstellen, die Ihre Funktion für den Zugriff auf die Ressourcen in der VPC verwendet. Diese Berechtigungen werden jedoch auch implizit für den Code Ihrer Funktion gewährt. Das bedeutet, dass Ihr Funktionscode berechtigt ist, diese Amazon EC2 EC2-API-Aufrufe zu tätigen.

Um dem Prinzip des Zugriffs mit den geringsten Rechten zu folgen, fügen Sie der Ausführungsrolle Ihrer Funktion eine Ablehnungsrichtlinie wie im folgenden Beispiel hinzu. Diese Richtlinie verhindert, dass Ihre Funktion die Amazon EC2 EC2-APIs aufruft, die der Lambda-Service verwendet, um Ihre Funktion an eine VPC anzuhängen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DetachNetworkInterface", "ec2:AssignPrivateIpAddresses", "ec2:UnassignPrivateIpAddresses", ], "Resource": [ "*" ], "Condition": { "ArnEquals": { "lambda:SourceFunctionArn": [ "arn:aws:lambda:us-west-2:123456789012:function:my_function" ] } } } ] }

AWS bietet Sicherheitsgruppen und Netzwerk-Zugriffskontrolllisten (ACLs), um die Sicherheit in Ihrer VPC zu erhöhen. Sicherheitsgruppen kontrollieren eingehenden und ausgehenden Verkehr für Ihre Ressourcen, Netzwerk-ACLs kontrollieren eingehenden und ausgehenden Zugriff für Ihre Subnetze. Sicherheitsgruppen bieten ausreichend Zugriffskontrolle für die meisten Subnetze. Sie können Netzwerk-ACLs verwenden, wenn Sie eine zusätzliche Sicherheitsebene für Ihre VPC benötigen. Allgemeine Richtlinien zu bewährten Sicherheitsmethoden bei der Verwendung von Amazon VPCs finden Sie unter Bewährte Sicherheitsmethoden für Ihre VPC im Amazon Virtual Private Cloud Cloud-Benutzerhandbuch.

Bewährte Methoden zur Leistungssteigerung

Wenn Sie Ihre Funktion an eine VPC anhängen, prüft Lambda, ob es eine verfügbare Netzwerkressource (Hyperplane ENI) gibt, mit der es eine Verbindung herstellen kann. Hyperplane-ENIs sind einer bestimmten Kombination von Sicherheitsgruppen und VPC-Subnetzen zugeordnet. Wenn Sie bereits eine Funktion an eine VPC angehängt haben, bedeutet die Angabe derselben Subnetze und Sicherheitsgruppen beim Anhängen einer anderen Funktion, dass Lambda die Netzwerkressourcen gemeinsam nutzen kann und die Notwendigkeit entfällt, ein neues Hyperplane-ENI zu erstellen. Weitere Informationen zu Hyperplane-ENIs und ihrem Lebenszyklus finden Sie unter. Grundlegendes zu Hyperplane Elastic Network Interfaces (ENIs)

Grundlegendes zu Hyperplane Elastic Network Interfaces (ENIs)

Ein Hyperplane ENI ist eine verwaltete Ressource, die als Netzwerkschnittstelle zwischen Ihrer Lambda-Funktion und den Ressourcen fungiert, mit denen Ihre Funktion eine Verbindung herstellen soll. Der Lambda-Service erstellt und verwaltet diese ENIs automatisch, wenn Sie Ihre Funktion an eine VPC anhängen.

Hyperplane-ENIs sind für Sie nicht direkt sichtbar, und Sie müssen sie nicht konfigurieren oder verwalten. Wenn Sie jedoch wissen, wie sie funktionieren, können Sie besser verstehen, wie sich Ihre Funktion verhält, wenn Sie sie an eine VPC anhängen.

Wenn Sie zum ersten Mal eine Funktion mit einer bestimmten Kombination aus Subnetz und Sicherheitsgruppe an eine VPC anhängen, erstellt Lambda eine Hyperplane-ENI. Andere Funktionen in Ihrem Konto, die dieselbe Kombination aus Subnetz und Sicherheitsgruppe verwenden, können diese ENI ebenfalls verwenden. Wo immer möglich, verwendet Lambda bestehende ENIs wieder, um die Ressourcennutzung zu optimieren und die Erstellung neuer ENIs zu minimieren. Jedes Hyperplane ENI unterstützt bis zu 65.000 Verbindungen/Ports. Wenn die Anzahl der Verbindungen diesen Grenzwert überschreitet, skaliert Lambda die Anzahl der ENIs automatisch auf der Grundlage des Netzwerkverkehrs und der Parallelitätsanforderungen.

Bei neuen Funktionen bleibt Ihre Funktion, während Lambda eine Hyperplane-ENI erstellt, im Status Ausstehend und Sie können sie nicht aufrufen. Ihre Funktion wechselt erst in den Status Aktiv, wenn die Hyperplane ENI bereit ist, was mehrere Minuten dauern kann. Für bestehende Funktionen können Sie keine zusätzlichen Operationen ausführen, die auf die Funktion abzielen, wie z. B. das Erstellen von Versionen oder das Aktualisieren des Funktionscodes, aber Sie können weiterhin frühere Versionen der Funktion aufrufen.

Anmerkung

Wenn eine Lambda-Funktion 30 Tage lang inaktiv bleibt, fordert Lambda alle ungenutzten Hyperplane-ENIs zurück und setzt den Funktionsstatus auf inaktiv. Der nächste Aufrufversuch schlägt fehl, und die Funktion wechselt erneut in den Status Ausstehend, bis Lambda die Erstellung oder Zuweisung einer Hyperplane-ENI abgeschlossen hat. Weitere Hinweise zu den Status von Lambda-Funktionen finden Sie unterLambda-Funktionszustände.

Weitere Informationen zu den ENI-Lebenszyklen von Hyperplane finden Sie unter. Lambda Hyperplane ENIs

Verwenden von IAM-Bedingungsschlüsseln für VPC-Einstellungen

Sie können Lambda-spezifische Bedingungsschlüssel für VPC-Einstellungen verwenden, um zusätzliche Berechtigungssteuerungen für Ihre Lambda-Funktionen bereitzustellen. Sie können beispielsweise festlegen, dass alle Funktionen in Ihrer Organisation mit einer VPC sein müssen. Sie können auch die Subnetze und Sicherheitsgruppen angeben, die die Benutzer der Funktion verwenden können bzw. nicht verwenden können.

Lambda unterstützt die folgenden IAM-Bedingungsschlüssel:

  • lambda: VpcIds — Erlaubt oder verweigert eine oder mehrere VPCs.

  • lambda: SubnetIds — Erlaubt oder verweigert ein oder mehrere Subnetze.

  • lambda: SecurityGroup Ids — Erlaubt oder verweigert eine oder mehrere Sicherheitsgruppen.

Die Lambda-API-Operationen CreateFunctionund die UpdateFunctionKonfiguration unterstützen diese Bedingungsschlüssel. Weitere Informationen zur Verwendung von Bedingungsschlüsseln in IAM-Richtlinien finden Sie unter IAM-JSON-Richtlinienelemente: Bedingung im IAM-Benutzerhandbuch.

Tipp

Wenn Ihre Funktion bereits eine VPC-Konfiguration aus einer früheren API-Anforderung enthält, können Sie eine UpdateFunctionConfiguration-Anforderung ohne die VPC-Konfiguration senden.

Beispielrichtlinien mit Bedingungsschlüsseln für VPC-Einstellungen

In den folgenden Beispielen wird gezeigt, wie Bedingungsschlüssel für VPC-Einstellungen verwendet werden. Nachdem Sie eine Richtlinienanweisung mit den gewünschten Einschränkungen erstellt haben, fügen Sie die Richtlinienanweisung für den -Zielbenutzer oder die Zielrolle an.

Stellen Sie sicher, dass Benutzer nur VPC-verbundene Funktionen bereitstellen

Um sicherzustellen, dass alle Benutzer nur VPC-verbundene Funktionen bereitstellen, können Sie Erstellungs- und Aktualisierungsoperationen von Funktionen verweigern, die keine gültige VPC-ID enthalten.

Beachten Sie, dass die VPC-ID kein Eingabeparameter für die CreateFunction- oder UpdateFunctionConfiguration -Anforderung ist. Lambda ruft den VPC-ID-Wert basierend auf den Subnetz- und Sicherheitsgruppenparametern ab.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceVPCFunction", "Action": [ "lambda:CreateFunction", "lambda:UpdateFunctionConfiguration" ], "Effect": "Deny", "Resource": "*", "Condition": { "Null": { "lambda:VpcIds": "true" } } } ] }

Benutzern den Zugriff auf bestimmte VPCs, Subnetze oder Sicherheitsgruppen verweigern

Um Benutzern den Zugriff auf bestimmte VPCs StringEquals zu verweigern, überprüfen Sie den Wert der lambda:VpcIds-Bedingung. Im folgenden Beispiel wird Benutzern der Zugriff auf vpc-1 und vpc-2 verweigert.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceOutOfVPC", "Action": [ "lambda:CreateFunction", "lambda:UpdateFunctionConfiguration" ], "Effect": "Deny", "Resource": "*", "Condition": { "StringEquals": { "lambda:VpcIds": ["vpc-1", "vpc-2"] } } }

Um Benutzern den Zugriff auf bestimmte Subnetze zu verweigern, verwenden Sie StringEquals, um den Wert der lambda:SubnetIds Bedingung zu überprüfen. Im folgenden Beispiel wird Benutzern der Zugriff auf subnet-1 und subnet-2 verweigert.

{ "Sid": "EnforceOutOfSubnet", "Action": [ "lambda:CreateFunction", "lambda:UpdateFunctionConfiguration" ], "Effect": "Deny", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "lambda:SubnetIds": ["subnet-1", "subnet-2"] } } }

Um Benutzern den Zugriff auf bestimmte Sicherheitsgruppen zu verweigern, verwenden Sie StringEquals, um den Wert der lambda:SecurityGroupIds-Bedingung zu überprüfen. Im folgenden Beispiel wird Benutzern der Zugriff auf sg-1 und sg-2 verweigert.

{ "Sid": "EnforceOutOfSecurityGroups", "Action": [ "lambda:CreateFunction", "lambda:UpdateFunctionConfiguration" ], "Effect": "Deny", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "lambda:SecurityGroupIds": ["sg-1", "sg-2"] } } } ] }

Benutzern das Erstellen und Aktualisieren von Funktionen mit bestimmten VPC-Einstellungen ermöglichen

Um Benutzern den Zugriff auf bestimmte VPCs zu ermöglichen, verwenden Sie StringEquals, um den Wert der lambda:VpcIds-Bedingung zu überprüfen. Im folgenden Beispiel können Benutzer auf vpc-1 und vpc-2 zugreifen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceStayInSpecificVpc", "Action": [ "lambda:CreateFunction", "lambda:UpdateFunctionConfiguration" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "lambda:VpcIds": ["vpc-1", "vpc-2"] } } }

Um Benutzern den Zugriff auf bestimmte Subnetze zu ermöglichen, verwenden Sie StringEquals, um den Wert der lambda:SubnetIds-Bedingung zu überprüfen. Im folgenden Beispiel können Benutzer auf subnet-1 und subnet-2 zugreifen.

{ "Sid": "EnforceStayInSpecificSubnets", "Action": [ "lambda:CreateFunction", "lambda:UpdateFunctionConfiguration" ], "Effect": "Allow", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "lambda:SubnetIds": ["subnet-1", "subnet-2"] } } }

Um Benutzern den Zugriff auf bestimmte Sicherheitsgruppen zu ermöglichen, verwenden Sie StringEquals, um den Wert der lambda:SecurityGroupIds-Bedingung zu überprüfen. Im folgenden Beispiel können Benutzer auf sg-1 und sg-2 zugreifen.

{ "Sid": "EnforceStayInSpecificSecurityGroup", "Action": [ "lambda:CreateFunction", "lambda:UpdateFunctionConfiguration" ], "Effect": "Allow", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "lambda:SecurityGroupIds": ["sg-1", "sg-2"] } } } ] }

VPC-Tutorials

In den folgenden Tutorials verbinden Sie eine Lambda-Funktion mit Ressourcen in Ihrer VPC.