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:) ausgeführt worden sein. Wenn die MicroVM nicht mit diesem Anschluss gestartet wurde, us-east-1:aws:network-connector:aws-network-connector:SHELL_INGRESScreate-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:*" } ] }