View a markdown version of this page

Sicherheit und Berechtigungen - 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.

Sicherheit und Berechtigungen

In diesem Abschnitt werden die IAM-Rollen, Authentifizierungstoken und Zugriffskontrollen für AWS Lambda MicroVMs beschrieben.

IAM-Rollen

Rolle erstellen

Diese Rolle wird bei der Image-Erstellung verwendet. Zum Abrufen von Quellartefakten und zum Generieren von Protokollen sind die folgenden Berechtigungen erforderlich: s3:GetObject logs:CreateLogGrouplogs:CreateLogStream, undlogs:PutLogEvents. Fügen Sie auch hinzuecr:GetAuthorizationToken, wenn auf private ECR-Bilder verwiesen wird.

Die Build-Rolle ist optional. Wenn Sie keine Build-Rolle angeben, kann Lambda keine Build-Logs in diese CloudWatch schreiben.

Rolle „Ausführung“

Diese Rolle wird zur MicroVM-Laufzeit verwendet, um Zugriffsberechtigungen für das Schreiben von Protokollen in CloudWatch und die Verwendung anderer AWS Dienste bereitzustellen.

Die Ausführungsrolle ist optional. Wenn Sie keine Ausführungsrolle angeben, gibt Lambda keine Laufzeitprotokolle an andere Dienste aus CloudWatch und Ihre MicroVM kann nicht auf andere AWS Dienste zugreifen.

Lifecycle-Hooks werden unter der Rolle ausgeführt, die ihrer Phase zugeordnet ist. Build-time Hooks (/readyund/validate) werden unter der Build-Rolle ausgeführt. Runtime-Hooks (/run/resume,/suspend, und/terminate) werden unter der Ausführungsrolle ausgeführt.

Vertrauensrichtlinien

Für beide Rollen ist eine Vertrauensrichtlinie erforderlich, die es dem Lambda-Serviceprinzipal lambda.amazonaws.com ermöglicht, sts:AssumeRole und sts:TagSession auszuführen.

Authentifizierungstoken

Token steuern den eingehenden Zugriff auf laufende MicroVMs. Sie haben einen Portbereich; jedes Token gibt an, auf welche Ports es Zugriff gewährt.

# Token granting access to all ports aws lambda-microvms create-microvm-auth-token \ --microvm-identifier <id> \ --expiration-in-minutes 30 \ --allowed-ports '[{"allPorts":{}}]' # Token granting access to port 8080 only aws lambda-microvms create-microvm-auth-token \ --microvm-identifier <id> \ --expiration-in-minutes 30 \ --allowed-ports '[{"port":8080}]'

Shell-Zugriffstoken

Der Shell-Zugriff verwendet eine separate Token-API. Die Ziel-MicroVM muss mit dem SHELL_INGRESS Netzwerkanschluss (arn:aws:lambda:us-east-1:aws:network-connector:aws-network-connector:SHELL_INGRESS) ausgeführt worden sein. Wenn die MicroVM nicht mit diesem Connector gestartet wurde, create-microvm-shell-auth-token schlägt Folgendes fehl: ValidationException

aws lambda-microvms create-microvm-shell-auth-token \ --microvm-identifier <id> \ --expiration-in-minutes 30

Eine vollständige Anleitung zum Herstellen einer Verbindung zu einer MicroVM-Shell finden Sie unter. Shell-Zugriff

Taggen von Ressourcen

Lambda MicroVM-Images unterstützen AWS Ressourcen-Tags für Organisation und Kostenzuweisung. Fügen Sie Tags hinzu, wenn Sie ein Image mithilfe des --tags Parameters oder explizit nach der Erstellung erstellen. Sie können Tags auch auflisten und löschen, wie unten gezeigt: Sie können auch in IAM-Richtlinienbedingungen auf Tags verweisen, um den Zugriff auf MicroVM-Ressourcen zu kontrollieren.

# Add tags when creating an image aws lambda-microvms create-microvm-image \ --name my-app-image \ --code-artifact '{"uri":"s3://my-bucket/app.zip"}' \ --base-image-arn arn:aws:lambda:us-east-1:aws:microvm-image:al2023-1 \ --build-role-arn arn:aws:iam::123456789012:role/MicrovmBuildRole \ --tags '{"Environment":"production","Team":"platform"}' # List tags on a resource aws lambda-microvms list-tags \ --resource arn:aws:lambda:us-east-1:123456789012:microvm-image:my-app-image # Add tags to an existing resource aws lambda-microvms tag-resource \ --resource arn:aws:lambda:us-east-1:123456789012:microvm-image:my-app-image \ --tags '{"CostCenter":"12345","Project":"sandbox-platform"}' # Remove tags by key aws lambda-microvms untag-resource \ --resource arn:aws:lambda:us-east-1:123456789012:microvm-image:my-app-image \ --tag-keys '["CostCenter","Project"]'

Referenz zu IAM-Berechtigungen

Lambda MicroVMS definiert die folgenden IAM-Aktionen. Verwenden Sie diese in IAM-Richtlinien, um den Zugriff auf MicroVM-Operationen zu steuern.

Action Description
lambda:CreateMicrovmImage Erstellen Sie ein neues MicroVM-Image.
lambda:UpdateMicrovmImage Aktualisieren Sie ein vorhandenes MicroVM-Image.
lambda:DeleteMicrovmImage Löschen Sie ein MicroVM-Image.
lambda:GetMicrovmImage Ruft MicroVM-Image-Details ab.
lambda:ListMicrovmImages Listet die MicroVM-Images im Konto auf.
lambda:RunMicrovm Führen Sie eine neue MicroVM aus.
lambda:GetMicrovm Rufen Sie den Status und die Details der MicroVM ab.
lambda:ListMicrovms Listet MicroVMs im Konto auf.
lambda:SuspendMicrovm Unterbrechen Sie eine laufende MicroVM.
lambda:ResumeMicrovm Setzen Sie eine angehaltene MicroVM fort.
lambda:TerminateMicrovm Beenden Sie eine MicroVM.
lambda:CreateMicrovmAuthToken Generieren Sie ein Authentifizierungstoken für eine MicroVM.
lambda:CreateMicrovmShellAuthToken Generieren Sie ein Shell-Zugriffstoken.

ARN-Formate für Ressourcen

# MicroVM image arn:aws:lambda:<region>:<account>:microvm-image:<image-name> # Network connector arn:aws:lambda:<region>:<account>:network-connector:<connector-id>

Beispiel: Least-privilege Richtlinie für einen Operator

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:ListMicrovms", "lambda:ListMicrovmImages" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "lambda:RunMicrovm", "lambda:GetMicrovm", "lambda:SuspendMicrovm", "lambda:ResumeMicrovm", "lambda:TerminateMicrovm", "lambda:CreateMicrovmAuthToken", "lambda:GetMicrovmImage" ], "Resource": "arn:aws:lambda:*:123456789012:microvm-image:*" } ] }