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 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 sie CloudWatch schreiben.

Rolle „Ausführung“

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

Die Ausführungsrolle ist optional. Wenn Sie keine Ausführungsrolle angeben, sendet Lambda keine Laufzeitprotokolle an 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

Beide Rollen erfordern eine Vertrauensrichtlinie, die es dem Lambda-Serviceprinzipal lambda.amazonaws.com ermöglicht, sts:AssumeRole und sts:TagSession auszuführen.

Authentifizierungstoken

Tokens kontrollieren den eingehenden Zugriff auf laufende MicroVMS. Sie sind portspezifisch; 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 Anschluss gestartet wurde, create-microvm-shell-auth-token schlägt sie fehl mit einem: ValidationException

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

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

Taggen von Ressourcen

Lambda MicroVM-Ressourcen (Images, MicroVMs) 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 den IAM-Richtlinienbedingungen auf Tags verweisen, um den Zugriff auf MicroVM-Ressourcen zu steuern.

# 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 Holen Sie sich Details zum MicroVM-Image.
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 Halten Sie eine laufende MicroVM an.
lambda:ResumeMicrovm Setzt 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> # MicroVM instance arn:aws:lambda:<region>:<account>:microvm:<microvm-id> # Network connector arn:aws:lambda:<region>:<account>:network-connector:<connector-id>

Beispiel: Least-privilege Richtlinie für einen Betreiber

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