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